Go言語のDependency/Vendoringは長く批判の的になってきた(cf. “0x74696d | go get considered harmful”, HN).Go1.5からは実験的にVendoringの機能が入り,サードパーティからはDave Chaney氏を中心としてgbというプロジェクベースのビルドツールが登場している.なぜこれらのリリースやツールが登場したのか?それらはどのように問題を解決しようとしているのか?をつらつらと書いてみる. Dependencyの問題 最初にGo言語におけるDependecy(依存解決)の問題についてまとめる.Go言語のDependencyで問題なのはビルドの再現性が保証できないこと.この原因はimport文にある. Go言語で外部パッケージを利用したいときはimport文を使ってソースコード内にそれを記述する.このimport文は2通りの
Wiredrive では、私たちはかなりの数のコードレビューを行います。しかし、ここで働き始める前には私はコードレビューなどしたことがありませんでした。今回は、私がコードレビューをする時に何に注目するようにしているかや、私の考え出したベストなコードレビューのやり方をお話したいと思います。 コードレビューとは、簡単に言うと2人以上の開発者で問題を引き起こしそうなコードの修正について話し合うことです。コードレビューをすることのメリットについては多くの記事で語られており、知識を共有できること、コードのクオリティが上がること、開発者が成長できることなどが挙げられています。しかし、レビューを行う上で、どのように進めていくかという具体的なことについてはあまり多く語られてないように私は思いました。 レビューで何に注目するか アーキテクチャ/デザイン 単一責任原則 : 1つのクラスは変更する理由が2つ以上
GitHub などで Pull Request ベースで開発をしていると、master には間違っても push したくないわけです。 GitHub 側には残念ながら master への push を禁止するような設定はできないので、仕方ないのでクライアント側の Hook で対応しようってことになり、この方法についてググるとこことかこことか、いくつか方法を紹介しているページが出てくるんですが、どれもやり方が間違っている*1ので、正しい方法を紹介。 何がまずいのか 上記に挙げた方法では、細かい部分は違ってたりするけど、git symbolic-ref HEAD を使って現在ブランチを見て、master だったら push を禁止する、という方法を取っている。 しかし、push はカレントブランチから行われるとは限らない。dev ブランチにいるときに git push origin maste
The history and evolution of the Unix operating system is made available as a revision management repository, covering the period from its inception in 1970 as a 2.5 thousand line kernel and 26 commands, to 2018 as a widely-used 30 million line system. The 1.5GB repository contains about half a million commits and more than two thousand merges. The repository employs Git system for its storage and
About the content This content has been published here with the express permission of the author. Carthage is a new dependency manager for Objective-C and Swift projects, intended to be the simplest way to add frameworks to a Cocoa application. Carthage works by delegating tasks to Xcode and Git, minimizing new concepts as much as possible, so you can continue to use the tools you’re already famil
Twitterでハッシュタグ「#naoya_sushi」が生まれてしまうほど、無類の寿司好きとして知られる伊藤直也氏(@naoya_ito)。そんな伊藤氏をホスト役とし、トップエンジニアをゲストに招いて、寿司をつまみつつホンネで語ってもらおうという、この企画。 第四回のゲストは、伊藤氏が現在、技術顧問として就任し、開発部門の組織改善を行っている『株式会社一休』のエンジニア、宿泊事業本部のシステム開発部の部長である笹島祐介氏(写真中央)と開発組織改善の発起人である田中健介氏(写真右)の2名が登場!CTOが不在の開発現場で10年以上前からサービス提供している、そんなよくある状況の中、どのように現状の改革に挑んでいるのか――苦労話も炸裂し、現役エンジニアには興味深い話が展開されることに!お楽しみに! — 伊藤直也(以下「naoya」):とりあえず乾杯しましょうか。 — 笹島祐介(以下「笹島」)&
Important update We've recently made some big updates to our support for Docker and the feature described in this blog post has been deprecated. Learn more in the container registry and runtime dev center documentation. When Heroku launched the Cedar container stack 4 years ago, we became one of the first companies to use Linux Containers (LXC) to create a secure, performant and scalable cloud pla
海外事業向けのiOSアプリケーション開発を担当している西山(@yuseinishiyama)です。クックパッドは現在、海外複数カ国に向けてサービスを展開しています。 主にObjective-Cで記述されたアプリケーションを全面的にSwiftに書き換える機会があったので、その際に得た知見や書き換えるに至った動機を共有します。 書き換えに至るまでの経緯 この項では、書き換えに至るまでの経緯について説明します。 Objective-C期 アプリケーションの開発は2014年7月頃にスタートしました。Swiftの発表直後でしたが、時期尚早ということもあり、Objective-Cで実装することになりました。 Objective-C、Swift混在期 2014年10月頃から、Swiftへの段階的な移行のために、新規のコードをSwiftで書くようになりました。Swiftの記述力や、ヘッダと実装を行き来しな
Brian Gesiak さんをゲストに迎えて、Facebook, ComponentKit, React Native, Swift, Quick, Xcode などについて話しました。 Show Notes Facebook's iOS Infrastructure - @Scale 2014 F8 2015 - Facebook on iOS: Inside the "Big Blue App" ComponentKit | A React-inspired view framework for iOS ComponentKit | Why C++ React Native AsyncDisplayKit Nuclide - a unified IDE Thoughts on Atom modocache/Gift SwiftGit2/SwiftGit2 Swift APIs: Ge
10 Years of Git: An Interview with Git Creator Linus Torvalds | Linux.com gitの10週年を記念して、リーナス・トーバルズがインタビューに答えている。以下はその翻訳である。 なぜGitを作ったのか? トーバルズ:俺はソース管理ツールなんて作りたくなかったし、コンピューターの業界において最も興味がないものだと見なしていた(データベースは別だが)。それにソース管理ツールなんてどれも嫌いだった。しかし、BitKeeperがやってきてからというもの、ソース管理に対する見方が変わったね。BitKeeperは大抵のことを正しく行っていた。レポジトリのローカルコピーがあることと、分散マージはでかかった。分散ソース管理の何がいいかというと、ソース管理ツールの問題を吹っ飛ばせることだ。「誰が変更を行えるか」といった政治問題があるが、B
インフラストラクチャー部の菅原(@sgwr_dts)です。 インフラストラクチャー部のメンバーはオペレーションのため強力な権限のMySQLアカウントを使用していますが、サービス開発をするエンジニアも業務のためにサービスのDBの参照・更新権限を持ったアカウントが必要になることがあります。 セキュリティやオペレーションミスのことを考えると、すべてのエンジニアのアカウントをスーパーユーザーにするわけにはいかないため、都度適切な権限を付与していますが、手動での作業は地味に手間がかかります。 そこでクックパッドではMySQLのアカウント情報をコード化し、リポジトリで管理するようにしています。 gratanによるコード化 MySQLのアカウント管理はgratanという自作のツールを使って行っています。 gratanを使うとMySQLのアカウントをRubyのDSLで記述することができるようになります。
AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be
期間限定公式サイト「村上さんのところ」で、村上春樹が Wikipedia を wiki と略しているっぽい記述を以前見かけた。 僕もすぐにものを忘れてしまいます。最近はwikiがあるのでなにかと助かりますが。 村上さんのところ/村上春樹 期間限定公式サイト これだけ読んで彼に「Wikipediaをwikiって略すな」と噛み付いてはいけないのだが(本当にミュージシャンの情報を集積した Wiki サイトを指しているかもしれないし)、これを読んで、もはや村上春樹までそうするなら、「Wikipediaをwikiって略すな」というのはもう諦めなければならないのではないかと思ったりした。 そういえば日清焼そばU.F.O.における保健室の美月先生のプロフィールページにも、「趣味:ネットサーフィン(主にwiki)」とあったな。関係ないけど、このシリーズの山本美月はそれほど魅力的に見えない。 しかし、それよ
The sympy git server is at https://github.com/sympy/sympy . The main Sympy repository may be cloned with git clone git://github.com/sympy/sympy.git. The first and the most important thing is that you should understand that git is different. For example it uses staging area (so called index) for iteratively preparing commits. This and other great and unique features of git make it the preference of
以下 Bram Moolenaar 氏が vim-dev にポストした内容。 https://groups.google.com/forum/#!topic/vim_dev/Io5A_Zir–k Google Code がシャットダウンする事になったので、我々は Vim のリポジトリの 為の新しい場所を必要としている。 多くのユーザーが各々の意見を出し、github を推す声が多いようだ。 これには不都合もあり、というのも、github へ移行するということは Mercurial から git へ移行するということだからだ。 これが気に入る人もいるだろうし、そうでない人もいるだろう。 しばらくかけて慣れる必要があるだろう。 私は個人的には Mercurial コマンドの方が好きだ。使い方がより明確だからだ。 君たちは Mercurial コマンドから git への置き換え方法を見つける事が
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く