Octotreeを使うとGitHubが便利になる

はじめに 普段仕事なりプライベートなりでGitHubを使っているかと思いますが、GitHubでソースコードを閲覧するのに不便を感じたことはないでしょうか?例えば何か一つのファイルを開いたとして、別のファイルを開きたいと思った場合そのページを離れて別のファイルの場所まで遷移する必要があります。もしくは別タブで開くこともあるかもしれませんが、その方法だと参照したいファイルが増えるにつれてタブの数も増えることになってしまいます。 そんな時に便利なChromeの拡張機能があります。Octotreeという拡張機能をChromeにインストールすると、エディタやファイラーの様にディレクトリツリーをブラウザ横に表示してくれて、クリックするとフォルダを展開したりファイルへ移動してくれるものです。 Octotree設定方法 全般 まずはChromeウェブストアから「Octotree」を追加して下さい。無料版でも十分に便利ですが有料だと更に検索などの機能が追加されているみたいです。 今回は例としてこちらの「faker-cli」というパブリックリポジトリを見てみます。下の画像の左側の様にディレクトリツリーが表示されているかと思います。 ちゃんとプルリクを見る時にも反映されています。凄い。もしかするとOctotreeからGitHubへのログインを求められるかもしれませんが、その時はログインすると見れます。 GitHubでのアクセストークンが必要な場合 エンタープライズGitHubを利用していたり、チームの運用方針によってはHTTPSでのGitHub認証の際にパスワードでの認証を許可しておらずアクセストークンの発行・利用を義務付けていることがあるかもしれません。普段秘密鍵公開鍵を作成・登録してSSH認証を行っている場合は馴染みがないかもしれません。 その場合は「Settings」→「Developer... 御覧になる | 御シェアする

GitHubを使って一次情報を読もうな

はじめに エンジニアとして成長したいのであれば一次情報を読むことから逃げてはなりません。今ではQiitaやtaratailといった技術スレッドで日本語翻訳され分かり易くまとまった情報に誰でもアクセスする事が出来るようになりました。何なら質問や意見を交わすことも可能です。何か課題があっても既に同じ課題に直面した先人達の足跡を参考にすることで効率的に解決が出来ます。 しかしこれらはあくまでも二次情報であることを理解しておくべきです。一見合理的に見える課題解決方法ですが二次情報のみで物事を考えているといつか必ず痛い目に遭いますし、かえって自分の成長を阻害する可能性もあります。技術者として高みを目指しているのであれば早い内から一次情報を読む癖を付けたほうが良いです。ということで今回は一次情報の読み方についてまとめてみました。 公式ドキュメントを読む Qiitaなどを読んでも理解出来ない、課題を解決出来ない時は繰り返し同じ様な二次情報を探すのではなく公式ドキュメントを見てみると上手くいくことがあります。公式ドキュメントとは公式サイトやGitHubのREADMEなどのことです。この辺は大抵が長文であったり英文であったりと難かしそうな印象があり読むのが憚られるのですが、作り手の読んで欲しい情報がそこにあるので出来る限り目を通した方が良いです。 とは言え全文を読む必要はありません。コードの部分や単語から辺りを付けて重要な部分だけを読んでみるだけでも十分に効果があります。自分自身三行以上あるだけでうんざりする程ドキュメントを読む行為が苦手なのですが、ご飯を食べながらなど気を紛らわしながら読むよう心掛けています。 GitHubのソースコードを読む 二次情報、公式ドキュメントを読んでもライブラリの挙動を理解出ない、あるいは手元で検証しても分からない場合に次に読むべきものはソースコードです。いざこれを行動に移すのは些か勇気がいります。それはソースコードなんて壮大で理解するのは難しいとか時間が掛かりそうという先入観があるからです。そもそも透過的に利用出来るからこそライブラリとは便利なのであってソースコードを理解しようという発想は出づらい節があります。それでもソースコードには答えが必ず乗っていますし、何なら開発者にissueを投げつけてやりましょう。(むしろ喜ばれます) これはある程度言語仕様に慣れてからやってみるのが一番良いと思いますが、普段コードを書いている言語であれば意外と読めてしまうものです。食わず嫌いで読んでいないのであれば今後は読んでみることをおすすめします。 そしてご存じないかもしれませんが最近のGitHubはコードリーディングをするのに便利なUIが備わっているのです。例えば左上の検索窓ではリポジトリ全体に対して全文検索を行えます。 他にもメソッドをクリックすると定義元にジャンプする事が出来るので、狙いのメソッドの中身をすぐに確認することが可能です。 最近でもDeviseTokenAuthというトークン認証を提供してくれるRuby... 御覧になる | 御シェアする

fzfでターミナル作業を効率化

fzfとは fzfとはざっくり言うと出力結果を一覧で表示して選択出来るUIを提供してくれて、その中で曖昧検索が出来て選択したものを抽出して出力してくれるものです。ファジーファインダーと呼ばれるツールの一つです。普段のコマンドと組み合わせることで作業を効率化出来るのでとりあえず入れておいて損はないです。 以前fzf.vimというVimプラグインを紹介しましたが、今回はfzfをターミナルに導入してみたいと思います。ターミナルでの作業が楽になるような使い方を色々とまとめてみましたので~/.zshrcに記述して使ってみて下さい。 fzfインストール Macのzshが動作保証環境です。下記のコマンドでfzfをインストールして下さい。 $... 御覧になる | 御シェアする

Node.jsでWebアプリを作りCloudFormationで自動化する

はじめに Node.jsはサーバサイドで動作するJavaScriptですが、ちょっとしたWebアプリを作るのに便利です。今回は麻雀点数計算アプリを作りたいと思います。CloudFormationはAWSのサービスの一つで、いつもGUIで行っているAWSのリソースプロビジョニングを自動化出来る機能です。これを使ってサーバを立て、Gitクローン、アプリのデプロイまでを自動化する事が目標です。 ※ネイティブアプリも作成してみました。無料ですのでインストールしてみて下さい。リンク アプリ制作 GitHubで公開するのが手っ取り早いのですが、精神衛生上ユーザ名を公開したくないのでソースを解説しながら貼っていきたいと思います。お手数ですがコピペでお願いします。 ファイル構成 まずファイル構成と概要は次の通りです。 $... 御覧になる | 御シェアする

複数のGitHubアカウントでプッシュする

はじめに 勉強熱心なエンジニアの中には複数のGitHubアカウントをお持ちの方も多いと思います。仕事用、プライベート用で切り分けている等……それを一つの端末から使い分けるための設定に少しだけ躓いたので、未来の自分のために手順を残しておきたいと思います。 手順 ※既にアカウントを一つ持っているという前提で、今後新しくリポジトリを追加するという体で話していきます。 まずはリポジトリを普通にクローンします。 $... 御覧になる | 御シェアする