雑草SEの備忘録

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

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…

マージソートのソース(Java)

マージソートのソースのアルゴリズムをJavaで実現したときのソースになります。 アルゴリズムの説明は、他のサイトをあたってください。あしからず。。 public static int[] mergeSort(int[] input) { // 分割の配列 int[] array = input; // 並び替えた数値…

バブルソート(基本交換法)のソース(Java)

バブルソート(基本交換法)のアルゴリズムをJavaで実現したときのソースです。 バブルソートってどんなものかっていうのは、他のサイトをあたってください。 バブルソートにはいくつかのパターンがありますが、今回紹介するのは、大きな数値を右に持ってい…

jQueryを利用して良い感じの選択ボタンを作る

何か質問とかを作ったときに、選択ボタンってありますよね。それで、簡単なものだと、ラジオボタンとかになるんでしょうけど、それだとデザイン的にダサいと思ったので、もっとボタンっぽくして、いかにも選択されたような感じのものを作りたいなと思ってい…

JavaのComparatorを使って配列を並び替える(課題解答編)

昨日の記事が個人的には気持ちよく書けたので、忘れないうちに課題の回答例を載せておきます。 色々なやり方があると思いますので、試してみてくださいね。問1.配列studentarrayを身長順に並べよ。 Arrays.sort(studentarray, new Comparator<Student>() { public i</student>…

JavaのComparatorを使って配列を並び替える

Javaで配列の並び替えをしようと思った時に少し慣れるのに時間がかかったので、書いておきたいと思います。配列の並び替えには、 Arrays.sort(配列名); みたいな感じでやれば昇順に並べ替えられます。Listとかだと、Collection.sort()なんてのを使うんだと思…

Apache2.4とTomcat8を連携させる

【CeontOSにApacheとTomcatシリーズ】 第1回 CentOS6.6にApache2.4をインストールする第2回 CentOS6.6にJava8, Tomcat8をインストール第3回 Apache2.4とTomcat8を連携させる Tomcat8のインストールが終わったので、今度は、ApacheとTomcatの連携です。 Apach…

CentOS6.6にJava8, Tomcat8をインストール

【CeontOSにApacheとTomcatシリーズ】 第1回 CentOS6.6にApache2.4をインストールする第2回 CentOS6.6にJava8, Tomcat8をインストール第3回 Apache2.4とTomcat8を連携させる 今回はCentOSにApacheとTomcatシリーズの第2回です。 前回のCentOS6.6にApache2.4…