7つのデータベース7つの世界を読んだ

タイトルは半分嘘で、全部じゃなくて途中まで読んだ。具体的には、第2章のPostgreSQL、第3章のRiak、第4章のHBase(Hadoop)の1,2日目、第5章のMongoDB、第8章のRedisの1,2日目。CouchDBとNeo4jはイントロだけ。 PostgreSQL postgresqlは一応慣れ親しんでる(?)…

SQLアンチパターンを読んだ

3ヶ月くらい積読されてたのを引っ張り出して読んだ。例によって、読み始めるとめちゃめちゃ面白くて何故こんな素晴らしいものを積読してたんだ...って感じだった。 ざっくりとした感想 けっこう色んな人が読んだ感想とか内容を簡単にまとめたものとかを書い…

ブラウザで動くMarkdown editor

vue.jsの公式サイトのexampleにmarkdown editorっていうのがあって、以下のコードの様にただfilterにmarked指定するだけでちゃんと動いててすごかった。 new Vue({ el: '#editor', data: { input: '# hello' }, filters: { marked: marked } }) htmlもこれだ…

Masonry試してみた

とある事情でPinterest的UI作ってみたいなーと思ってて、Masonryを試してみた。 環境構築 とりあえず、試すための環境構築をしてみる。久しぶりに、yeomanを使う。 yeoman 久しぶりでversionが古い気がしたので、npm updateしてnpmのモジュールを一気にupdat…

RustにおけるOwnershipの仕組み

前回に引き続き、Mozillaイチオシの言語であるRustを触ってみる。今日はメモリ管理の仕組みとしての「Ownership」に着目する。 ちなみに、今日書く内容はRust Guideの17章、OwnershipのGuide、PointerのGuideをつまみ食いしながら適当にまとめたものなので、…

Rustに入門してみる

今日は、Rustに入門してみる。 Rustは、Mozillaの開発したプログラミング言語である。公式サイトでは"high-level, bare-metal programming"を謳っており、高い抽象度を保ちながら低いレイヤーのコントロール(具体的にはユーザーによるメモリ管理等)が可能ら…

おめでたい話

今日は、プライベートなお話を書く。とてもおめでたいお話。 背景: VOYAGE GROUPでのインターンとリレーブログ 実はこのブログは焼き肉ブログというはてなグループに所属していて、グループ内ではメンバー同士で1日交代でブログを書いていってる。メンバーは…

7つの言語 7つの世界を読んだ

「7つの言語 7つの世界」という本を図書館から借りてきて読んだ。この本では、異なるパラダイムをサポートする7つの言語について、シンプルながら本質を捉えた説明がなされていた。もともと色んな考え方を知るのは好きな方なので、めちゃめちゃ楽しんで読め…

ノーマン先生の「誰のためのデザイン?」を読んだ。

ノーマン先生の「誰のためのデザイン?」を読んだ。 この本では、身の回りの物の「使いにくさ」が人の認知構造も踏まえながら考察されている。最後には、その成果が「デザインの7原則」としてまとめられている。豊富な例のおかげで読み易くかつ理解し易い作…

図書館の便利さを再認識した

最近お金が無くて本が買えなくてつらかったんだけど、大学の図書館に行けば無料で本が手に入る事に気づいた。特に、名著と呼ばれる類の本は大体置いてあったりして、めちゃめちゃすごい。 とりあえず気になってた本とかパッと目についた本を借りまくってみた…

代入を使わずに状態を表現する

最近、SICPのWeb版が存在する事に気づいて、空いた時間にちょろちょろと読んでいた。SICPって有名だし軽く目を通しておくかな、ってくらいの気持ちだったんだけど、3章、特に3.5章のストリームの話はめちゃくちゃ面白くて興味深かったので、ブログにもまとめ…

遺伝的プログラミングの続き

2週間前に書いてた遺伝的プログラミングの続き。前は、構文木を構成するクラスとしてParamLeaf, ConstLeaf, EvalNodeを定義した。 書いたコード 前のコードにもdisplayメソッドとか付け加えた。後、rubyのオブジェクトはデフォルトではdeepcopyが出来ないの…

今日は遺伝的プログラミングの話ではなく、ポエムを書く

実はこのブログは焼き肉ブログという名前の「はてなブロググループ」に属してて、毎日順番にブログを書いてく取り決めをしていたりする。で、今グループを作ってからちょうど1年が経ったみたいで、振り返りをしようという流れがやってきている。 乗るしかな…

遺伝的プログラミングを学ぶ

積読されてた「集合知プログラミング」を引っ張りだして読んだ。面白そうなとこから読んでたからまだちょこちょこ抜けはあるけど、機械学習のいろんな手法を分かり易く説明してくれてて楽しく読めた。 その中でも、遺伝的プログラミングの考え方が特に面白く…

TCP/IPをマスタリングしたい

最近、ネットワークの事ちゃんと理解したいなーと思って、積読されてた「マスタリングTCP/IP」という本を読んでみた。TCP/IPを言いつつそれより下のレイヤーのイーサネットとか上のレイヤーのSMTPとかHTTPとかまで解説してくれてるので、親切な本だと思う。…

Go言語触ってみた その3

今週も、Goを触ってみて気になった点とかについてまとめてみる。 先週の振り返り 先週はGoの型システムについてブログを書いた。新しい型を定義する際に、 既存の型に別名(?)をつける場合 struct型を定義する場合 interface型を定義する場合 の3通りの方法が…

Go言語触ってみた その2

昨日は眠さに負けて寝ちゃったので、続きを書く。 Go言語の特徴的な点 印象に残った点を書いて行く。 Goはオブジェクト指向??? Goには、現代的なオブジェクト指向言語の大半に存在する「クラス」というものが存在しない。というか、今サラッと「オブジェクト…

Go言語触ってみた

今をときめくGo言語を触ってみた。ときめくとか言いながらGo言語が一番話題になってたのは登場したばかりの頃だったと思うけど、今はプロダクトレベルでの浸透が進んでる気がする。気がするだけで実情は知らない。 ただ、サーバーサイドにGoを使ってるGunosy…

WebSocketについて調べてみた。

実はけっこう前からWebSocketの詳しい仕組みについて気になってて、遂に一念発起して調べてみた。何かとても良さげっぽい。

Dockerを触ってみる

最近は、Immutable Infrastructureという文脈だとDockerがかなり注目を集めているので、例に漏れず触ってみる事にした。 そもそもDockerって何? Dockerは、「コンテナ技術による仮想化ソフトウェア」である。中身の動きを知らないと正直ピンと来ないんだけ…

Vagrant+Chef Soloでのサーバー環境構築自動化を試してみる(参考: パーフェクトRuby on Rails 第8章「Railsのインフラと運用」)

ちょっと前から「パーフェクトRuby on Rails」という本をちょこちょこ読んでいる。 Railsについては、「RailsによるアジャイルWebアプリケーション開発」を一通り読んだり自分でも簡単なWebアプリ作ったりしてたのでざっくりとは理解してるつもりだったんだ…

複数ファイルを一気にgrepしたり文字列置換したりする方法

コード書いてると、複数ファイルを一気にgrepしたり、特定の単語を一気に置換したりしたい事がある。例えば、リファクタリングの際にクラス名とかメソッド名がそもそも良く無いなーと思って一気にrenameしたくなるとか。そんな時、方法としてはunixのコマン…

Activerecordにおけるincludesとjoinsの振る舞いについて

Activerecordを使ってるとき、関連(Association)のあるmodel同士をまとめて取得したい時がけっこうある。そんな時、includesやjoinsを使えば効率良くデータを取得出来るんだけど、実はこの二つは振る舞いや特徴が全然違ってたりする。ややこしい気がしたので…

RailsでActiveRecord使った時のassociationのお話

今週、諸事情でrails書いてる時間が多くて、いろいろ上手くいった部分とか上手く出来なかった部分とかあったのをちょっと書いてみる。

Macに導入して便利になったツールまとめ

どうもこんばんは、south37です。 今回は、自分がMacに導入して便利になったツールとか、terminalで使うプラグインとかの話をしたいと思います。 粒度がバラバラで若干まとまりの無い内容になってますがお許しください!!

Webを支える技術読み始めた

どうもこんばんは、south37です。 突然ですが、「Webとは何か」と聞かれて、自信を持って答えられますか? 僕自信、何となくは分かってるつもりでいながら割とふわふわしていたんですが、「Webを支える技術」という本を読み始めてはっきりとしたイメージを持…

Objective-Cにおけるシングルトンのお話

どうもこんばんは、south37です。前回に引き続き今回もObjective-Cネタです。 iOSアプリ開発をしてるとシングルトンが活躍するケースがよくある(らしい)のですが、シングルトン生成のコードがパッと理解出来なくて悶々としたので、ここにメモとして残して…

Objctive-Cにおけるプロパティ属性まとめ。正直、weakとかって使いどころが分かりづらいですよねー

どうもこんばんは、south37です。今日はObjective-Cネタです。 プロパティ属性って何よ!? さて、皆さん、そもそも プロパティ属性 って分かりますか?Objective-Cでコーディングしてる人ならstongやweakやcopyなどを目にしていると思いますが、それがいわゆ…

Mac Book Airを買い替えてメモリが4倍、ストレージも4倍、そしていつもの3倍の回転を加えれば、4800万パワーだーっ!!

どうもこんばんは、south37です。 タイトルにもある通り、新しくMac Book Airを買い替えました。 以前のPCはメモリが2GB,ストレージが64GBしか無かった為、常に残り容量が数GB(酷い時は数百MB)でVMも満足に立ち上がらず、chromeを使えばタブを数個開いただけ…

検索エンジンを作る 3: ページのランキング

さて、前回はインデクシングを行い、ページのランク付けの為に必要な情報をDBに保存しました。今回は実際にランク付けを行ってみます。 ランキングのアルゴリズム ランキングのアルゴリズムとして、即座に思い浮かぶのは次の3つだと思います。 単語の出現頻…