雑草SEの備忘録

東大を卒業し、SEとして働くことになった。備忘録的に作業を綴る。

gitのcommitのハッシュ値からmerge commitを取得する

Git

1. pipでgit-get-mergeをinstall(事前にpythonのインストールが必要) pip install git-get-merge 2. commitのHash値で調査 git get-merge <Hash値> 3. ベースのブランチ名はmasterだが、変更したい場合は git get-merge <Hash値> <branch名> # eg) git get-merge <Hash値> develop GitHubのRE</hash値></branch名></hash値></hash値>…

nodebrewの使い方

1. homebrewでnodebrewをinstall brew install nodebrew 2. ~/.bash_profileなど下記を記述し、pathを通す export PATH=$HOME/.nodebrew/current/bin:$PATH source ~/.bash_profile 3. nodeの特定のversionをインストール nodebrew install v10.15.3 nodebre…

PyCharmでPlant UMLを利用する

Preferences -> Settings -> PluginからPlantUML IntegrationをInstall Install PlantUML graphvizをインストール brew install graphviz graphvizのpathをPlantUMLにセットする Set Graphvis path 拡張子をpumlにしてファイルを作成する。 PlantUML

Linuxのユーザーまわりの備忘録

Linuxのユーザー一覧を見る less /etc/passwd 特定のユーザーの権限だけを見たい場合 $ getent passwd webapp webapp:x:496:494::/home/webapp:/sbin/nologin $ getent passwd ec2-user ec2-user:x:501:501:EC2 Default User:/home/ec2-user:/bin/bash ログ…

PumaのThread数を確認する

pumaのプロセスIDを確認する $ ps aux | grep puma healthd 2215 0.0 1.9 814768 39676 ? Ssl Feb26 2:41 puma 2.11.1 (tcp://127.0.0.1:22221) [healthd] root 4816 0.0 0.1 58788 2744 ? Ss 20:13 0:00 su -s /bin/bash -c bundle exec puma -C /opt/elast…

CapybaraでのJavaScriptのconsole.logを見る方法

確認したい箇所で、puts page.driver.browser.manage.logs.get(:browser) を記述。 fill_in 'order[family_name]', with: '佐藤' puts page.driver.browser.manage.logs.get(:browser) expect(page).to have_field('order[email]') ただし、JavaScript側でco…

未経験者がネットワークスペシャリスト試験に合格するまでの道のり

12月21日は平成30年度のネットワークスペシャリスト試験の合格発表の日でした。 高度試験は、概ね合格発表の週の火曜日に解答例が発表され、私はすでに自己採点をしていました。 成績は、以下でした。ネットワークスペシャリスト試験の成績午後Ⅱが60点で本当…

Goならわかるシステムプログラミング 14.2.9のReactiveXでpackageのインストールし忘れがち問題

go

前々回の記事に引き続き、Goならわかるシステムプログラミングの写経を行なっています。 Goならわかるシステムプログラミング 作者: 渋川よしき 出版社/メーカー: Lambda Note 発売日:2017/10/19 何も考えず実行すると、こんな形でエラーが出てきます。 main…

vimの置換(%s)で全角数字を半角数字に変換する方法

vim

例えば、とある電気料金の基本料金が次の様になっていて、全角では使いにくいので半角に変換したい。 291円60銭 437円40銭 583円20銭 874円80銭 1,166円40銭 1,458円00銭 1,749円60銭まず、円や銭やカンマを置換する…

Goならわかるシステムプログラミング 6.6.1のKeep-Alive対応のHTTPサーバーのコードがわかりにくい問題

go

少し前にはてな界隈でも話題になった、Goならわかるシステムプログラミングという本を写経しています。 Goならわかるシステムプログラミング 作者: 渋川よしき 出版社/メーカー: Lambda Note 発売日:2017/10/19 この本は、Go言語の勉強のために購入したので…

Androidのアプリ開発を自走できるようになるまで

このブログを書くのもかなり久しぶりになってしまいました。最近は技術系の話はQiitaに書くようになって、個人ブログは放置している状態なのですが、今回はコラム的なものなのでこちらで書きたいと思います。 かれこれRailsの仕事を初めてもうすぐ3年になり…

unless A && Bを使っても読める場合

以前 unless A && B は辞めたいという記事を書きました。 normalse.hatenablog.jp しかし、その後、場合によっては使用しても良いという意見になりましたので、追記します。 「場合」というのは、guard節を使うとき。 def hoge return unless A && B somethi…

git submoduleのちょっとしたこと

Git

git submoduleでsubmoduleが更新されたから自分のブランチでも反映させたいという場合、 git submodule foreach git pull origin master こう叩くと、すべてのsubmoduleが最新化されます。 あとは普通にcommitすればOKです。自分で更新する場合はいいのです…

RailsリポジトリをTravisCI, CodeCov, CodeClimateと連携

Ruby on Railsエンジニア2年目で初めて本格的にRails newをして諸々の初期設定をしたので備忘録的に作業を綴ります。 CIツールはCircleCIなどいくつかありますが、今回はTravisCIを利用させていただきました。 TravisCIの設定 Travis CIに行き、GitHubでSig…

rubyで再帰

先日、関数型の初心者の勉強会に参加してきました。 私は、もともと情報系の学科を卒業したわけではないので、アルゴリズムや関数型の考え方は全くの初心者です。なので、再帰の考え方に慣れるのにとても大変でした。まだ慣れているとは言えないレベルですが…

「オブジェクト指向設計実践ガイド」を読んだ感想

オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方 posted with ヨメレバ Sandi Metz 技術評論社 2016-09-02 Amazon 9月2日に発売になったSandi Metz著の「Practical Object-Oriented Design in Ruby: An Agile P…

楽々ERDレッスン

RDB

前々回の記事で、リレーショナルデータベースに関する良書として、こちらの本の紹介をしました。 達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ posted with ヨメレバ ミック 翔泳社 2012-03-16 今回は、前々回も紹介した、楽々ERDレッスンも…

Rails 5でdraperを使う(2016年8月27日現在)

Rail 5でdraper(ActiveRecordをdecorateしてくれるgem)を使おうと思ったら、少しつっかかったのでメモ。 普通に、draperと書くと、 gem 'draper' 2.1.0がinstallされてしまう。 そうすると、rails consoleとかしたときに、 /Users/user_name/.rbenv/versio…

Rubyのインスタンス変数の直接参照について

会社で議論になり、未だに私の中で決着がついていない問題を取り上げてみます。 Rubyのインスタンス変数を直接参照することについてです。 例えば、コンストラクタでインスタンス変数を設定します。 そして、インスタンスメソッドでそのインスタンス変数を直…

達人に学ぶDB設計

RDB

久しく更新が止まっていましたが、久しぶりに更新です。 今日はデータベース関連の書籍を読み、とてつもない良書だったので紹介です。 その本がこちら。 達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ posted with ヨメレバ ミック 翔泳社 20…

ruby 1.9系のラムダ記法

今時rubyの1.9系を使っている人なんていないと思いますが、私は仕事の都合上、1.9系を使うときがあります。 しかも、同じリポジトリでサーバーによってrubyのバージョンが2.1系だったり、1.9系だったりするので厄介です。今回、仕事でrubyのラムダ記法で2系…

unless A && Bを止めたい

タイトルの通りである。unless A && Bはわかりにくい。例えばRuby on Railsで開発している時。 array1 = ["text1", "text2"] array2 = [] という二つの配列があったとする。 puts "TEST1" unless array1.present? && array2.present? #1 puts "TEST2" unless…

Ruby on Rails初心者が一歩進むために~2~

タイトルの通り。Ruby on Railsを勉強していてこの使い方知ってるとだいぶ幅が広がるなというのがあったので、メモ。今回は、reduceです。エイリアスでinjectというのもあって、両者は同じ挙動をします。 1.reduce, inject http://ref.xaio.jp/ruby/classe…

The Philosophy of Rubyを読んでみた。

Rubyを使い始めて4か月目に入りました。Rubyを勉強していくうちに2003年に行われたRubyの生みの親であるまつもとゆきひろ氏のインタビュー記事があり、日本語訳が見当たらなかったので、勉強がてら和訳してみました。 以下、長いですが、引用です。 Rubyの…

Ruby on Rails初心者が一歩進むために~1~

タイトルの通り。Ruby on Railsを勉強していてこの使い方知ってるとだいぶ幅が広がるなというのがあったので、メモ。今回は、define_methodとdefine_singleton_methodです。キーワードはメソッドの動的生成。 1.define_method define_method (Module) - Ru…

GemfileとGemfile.lockの簡単なお話

Ruby on Railsをやり始めたときだと、Gemfileって何?そんでbundle installするとつくられるGemfile.lockって何?みたいな感じですよね。 今日は、GemfileとGemfile.lockの簡単なお話です。gemっていうのは、Javaでいうところのライブラリみたいなものです。…

当たり前だけど、ちゃんとgitのstatusを見てからaddしようね。

Git

当たり前の事なんだけど、gitでcommitする前はきちんとgit statusして変更したファイルを確認し、必要なファイルだけをコミットするということをきちんとしないといけない。当たり前の事なんだけど。だけど、余りわかっていない初心者はとりあえず git add .…

Windows7でVMWareでLinux Mintを使ってみる

転職して、Macを使うようになりました。normalse.hatenablog.jp ただ、前職ではWindowsだったし、私物のパソコンもWindows(Let's note CF-S10)です。 家で勉強したい!とか開発したい!というときに、Windowsだと、コマンドの違いだったり、なんか違うって…

転職直前の気持ち

転職をした。といっても、20日までは今の会社に籍はあって、21日から新しい会社に移るのでまだ過去形ではない。新卒で、今の会社に入って1年と4か月。多分短いと言われるだろう。周りからは3年は居ろとも言われた。上司に退職の意思を告げたとき、こ…

クイックソートのソース(Java)

クイックソートのアルゴリズムをJavaで実現したときのソースです。 クイックソートってどんなものかっていうのは、他のサイトをあたってください。 軸の取り方はもう少し工夫しても良いかもしれません。平均の値をとるとか。 // クイックソートのメソッド pu…