タグ

ブックマーク / joker1007.hatenablog.com (15)

  • 1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary

    自分が所属している会社のメンバーの教育用資料として、それなりの規模のデータを扱う時に前提として意識しておかなければいけないことをざっくりまとめたので、弊社特有の話は除外して公開用に整理してみました。 大規模データ処理、分散処理に慣れている人にとっては今更改めて言うことじゃないだろ、みたいな話ばかりだと思いますが、急激にデータスケールが増大してしまったりすると環境に開発者の意識が追い付かないこともあるかと思います。 そういったケースで参考にできるかもしれません。 弊社は基的にAWSによって運用されているので、AWSを前提にした様なキーワードやサービス名が出てきます。後、句読点があったり無かったりしますが、ご容赦ください。 追記: 社内用の資料の編集なのでかなりハイコンテキストな内容だから誤解するかもしれませんが、これらはそもそもRDBの話ではありません。(関係無くは無いけど) 1000万オ

    1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary
  • パーフェクトRails著者が解説するdeviseの現代的なユーザー認証のモデル構成について - joker1007’s diary

    最近、パーフェクトRuby on Railsの増補改訂版をリリースさせていただいた身なので、久しぶりにRailsについて書いてみようと思う。 まあ、書籍の宣伝みたいなものです。 数日前に、noteというサービスでWebフロント側に投稿者のIPアドレスが露出するという漏洩事故が起きました。これがどれぐらい問題かは一旦置いておいて、何故こういうことになるのか、そしてRailsでよく使われるdeviseという認証機構作成ライブラリのより良い使い方について話をしていきます。 (noteRailsを使っているか、ここで話をするdeviseを採用しているかは定かではないので、ここから先の話はその事故とは直接関係ありません。Railsだったとしても恐らく使ってないか変な使い方してると思うんですが、理由は後述) 何故こんなことが起きるのか そもそも、フロント側に何故IPアドレスを送ってんだ、という話です

    パーフェクトRails著者が解説するdeviseの現代的なユーザー認証のモデル構成について - joker1007’s diary
    a2ikm
    a2ikm 2020/08/17
    “レコードのvalidationを行う時には、境界を明確に分けて組み合わせが爆発しない様にコントロールすることが重要”
  • 本番環境でcassandraの運用を開始してみた - joker1007’s diary

    職場でcassandraの運用を開始したので、選定理由とか運用してみて得た知見や所感等を書いてみようと思う。 (まだ十分に知見を得たとは良い難いので、間違った印象を得ていたり、より良いオペレーションに気付いていない可能性があります。) cassandraの採用理由 そもそもの目的はホットデータの書き込み先としての利用です。要件としては以下の様なものがあります。 エンドユーザー端末の数に比例するので、書き込みのスケーラビリティが必要 書き込みデータは更新される 一件単位、もしくは数秒単位の短かいサイクルでバッファチャンクを書き込む必要がある prestoで読み込める (最悪connectorは書いてもいいが、できれば避けたい) 一度に数百万件ぐらいまで読み込む可能性があるので、それなりに読み込みもスケールして欲しいし、レンジスキャンにもある程度効率が求められる。 元々、データ加工で潰しが効く

    本番環境でcassandraの運用を開始してみた - joker1007’s diary
  • MacBook Proを捨ててThinkpad T460sを買ってgentooを入れた - joker1007’s diary

    英字キーボード配列にできて開発ユースに耐えうるノートPCがとても選択し辛い昨今、なんとなく安牌ポジションだったMBPについにさよならしました。 元々、Macを好んで使っていたというより、解像度が高くて英字配列にできて電池の持ちが良いというノートPCがMBPだっただけで使ってたのですが。 一番大きな要因がコンテナの利用頻度が増えて開発環境も含めてDockerを使う様になったので、Macだとどうにも面倒だという点です。 docker-machineのデフォルトとかdocker for Macのデフォルトが遅過ぎて話にならないし、dinghy使ってもdocker-sync使っても微妙でかつ面倒くさい。 普通にLinux上で直接動かせるなら、無駄な苦労だと思って、まず開発用PCLinuxにしようと決めました。 そしたら新しいMBPが30万越えるのに、一世代前のCPUとメモリでドヤ顔してくるわ、キ

    MacBook Proを捨ててThinkpad T460sを買ってgentooを入れた - joker1007’s diary
  • CTOとしてデビューすることになりました - joker1007’s diary

    近況報告、というかタイトル通りなのですが、CTOとしてデビューすることになりました。 7月から、最近お世話になってたReproという所のCTOという肩書を得ました。 自営業の個人事業主からいきなりCTOですよw まあ、CTOといっても、そこのフェーズ次第でやることってのは色々と変わってくると思います。 私の当面のミッションは、中長期的なアーキテクチャの方針決定とそれを実際に形にすること。 そしてリクルーティング、つまり転職斡旋おじさん業です。 なので、責任とコミットする割合が増えるだけで、そんなに今までとやってることは変わらないと思う……多分。 まさか自分がCTOになるとは全然思ってなかったんですが、30歳も越えたし肩書きと共に仕事するのも新しい挑戦としては良いかと思いました。 後は、収入ラインとかIT健保の任意継続が切れた後の社会保障の確保ですかね……。まあ、金は大事ですよね。 他にも色

    CTOとしてデビューすることになりました - joker1007’s diary
    a2ikm
    a2ikm 2016/07/13
    おめでとうございますー!
  • これから忘年会を迎える諸君らに伝えたいオススメの日本酒45選 - joker1007’s diary

    そろそろ忘年会シーズンですね。年末の飲酒予定がちらほらと埋まってきている頃だと思います。 というわけで、日酒を飲んだ経験ならRubyist界の中でもトップクラスと勝手に自負しているこのjoker1007が、年末に向けてオススメの日酒を紹介したいと思います。 居酒屋で日酒を選ぶ時や、酒屋で買って宅飲みする時の参考にしていただけると幸いです。 ちなみに、書いてる内容は私の主観であって明確な根拠があるわけじゃありません。 私の味覚が適当な場合もあるし、同じ銘柄でも作り方によってはかなり違った味わいになるし、年によっても味は結構変わりますので最終的には勘に頼ってくださいw 鉄板 まず、ここ最近の俺的鉄板銘柄をいくつか。自分が旨味のしっかりした銘柄の純米吟醸が好きなので、その辺りで美味しい所が多いです。 東洋美人 (山口県) 少し前に大規模な水害に遭って蔵元がかなりの被害を受けましたが、その後

    これから忘年会を迎える諸君らに伝えたいオススメの日本酒45選 - joker1007’s diary
    a2ikm
    a2ikm 2015/11/07
  • Electronでメディアファイル用のファイルブラウザ「BlackAlbum」を作った - joker1007’s diary

    Electronで動作する動画ファイル及びJPG in Zip向けのファイルブラウザを作ってみました。 構成としてはElectron+React+Reduxで、gulpfile以外はbabelを使って書いてます。 そこそこ今風な感じを目指して、一部flowtypeとかも取り入れてますが、割と適当な感じで使ってます。 実は以前Node.jsで同じもの作ってたんだけど、せっかくちゃんとデスクトップアプリとして作れるようになったしReactにも慣れたのでElectronと今の技術で作り直してみたのがこれです。名前も同じだったりする。 https://github.com/joker1007/blackalbum https://github.com/joker1007/blackalbum/releases/download/v0.2.0/BlackAlbum-darwin-x64-0.2.0.

    Electronでメディアファイル用のファイルブラウザ「BlackAlbum」を作った - joker1007’s diary
    a2ikm
    a2ikm 2015/10/20
    すごい
  • (株)ウサギィを退職してフリーランスになった話 - joker1007’s diary

    実はこれが初「で、お前だれよ?」エントリです。 最初の転職の時は、書くと愚痴と怒りしか出てこなさそうだったので書かなかったw およそ3年半ぶり二度目の転職、というか初の失職です。会社員を辞めてフリーランスになりました。 実は、年末の時点で退職を考えてたんですが、ちょっとタイミングが微妙に噛み合わなかったんで、1月から3月までの間は週に半分フリーランスという形で仕事してました。 で、4月から格的に退職して完全にフリーランスです。 ITゼネコンの頂点みたいな会社に心疲れて2年半ちょっとで転職したので、もうプログラマーになってからの方が長いのかーと思うと感慨深いですね。 プログラマーとしても4年目に突入して、いよいよ中堅というかおっさん界の中でも中ぐらいのおっさんになってきた感じです。 今回会社を辞めたのは別に仕事に不満があったわけではないです。流石に完全にゼロでもないですがw 基的には受託

    (株)ウサギィを退職してフリーランスになった話 - joker1007’s diary
  • パーフェクトRailsで俺が書いた所について思うこといくつか - joker1007’s diary

    既に大きい書店の店頭には並んでいる所もあるようで、自分もアキバの書泉で現物を見てきました。 立ち読みして、ほほーうとやってる著者の図って感じです。 献させていただいた方にも、既に届いていて読んだよーって言ってくれてる方がちらほら。 参考になったと言っていただけて、とても嬉しく思っています。 さて、今回はちょっと自分の担当した部分と思ってた事について少し書いてみたいと思います。 私が担当したのは、3章のアセットについてと4章のlibディレクトリ周り+Railsのロードパスについて、そして9章のモデル実践編みたいな所です。 一応それぞれありますが、主に言いたいのは9章についてですw 3章について CoffeeとSassについて、どの程度解説するか非常に悩みました。 実際、書くとなるとリファレンスマニュアルを日語で解説する、以上の事はページ数的にできない。 かといって、昨今のRailsアプリ

    パーフェクトRailsで俺が書いた所について思うこといくつか - joker1007’s diary
    a2ikm
    a2ikm 2014/06/01
    執筆おつかれさまです!//アマゾンの出荷待ちだけど、実践的な内容に期待してる
  • 世界を変えたいとか思わない俺と、ヒーローになりたい俺 - joker1007’s diary

    この記事は闇 Advent Calendar 2013 - Adventarの19日目です。 なんか前回の記事を書いたjugyoさんが非常にインパクトの強い話をぶち込んできたおかげで、次の俺どうしようかって感じで困ってますが、私は普通に屈してる感情を書くだけなんで、そんな面白い話は無いです。自分語りのオナニーをして終わりです。 変な期待をしてる人が居るかもしれませんが、私はマジで何も関わってないのでコメントのしようが無いし。 俺の経緯 私は大学生になるぐらいまで、ただPCゲームして、エロ動画を見て2chを眺めているだけだった。 貧乏だったので、バイトして金溜めてPCを新調した時、古いPCを活用する方法を考えて、Linuxルーターを作る事にした。 そこからLAMP構成ってやつでプログラミングの真似事をやりだした。 実際の所、私はエロ動画及び画像の収集と管理を楽にするためにプログラミング

    世界を変えたいとか思わない俺と、ヒーローになりたい俺 - joker1007’s diary
    a2ikm
    a2ikm 2013/12/19
    闇といいつつ、闇のなかから光を見ようとしているのがかっこいい。
  • TDD Anti-patterns catalogue at Stack Overflow を簡単に訳してみた - joker1007’s diary

    Stack OverflowのTDD Anti-patterns catalogueというスレがとても面白かったので訳してみた。 Stack Overflowのvoting機能でアンチパターンへの投票を行っている感じ。 上から投票の多い順になっている。 得票数はこの記事執筆時点(2013.7.9)のもの。 SQLアンチパターンっぽく、パターン名はそのまま片仮名にしてみた。 また、内容がかなり被っているとか、状況がかなりレアじゃないかと思うものは、一部省略しました。 (ブコメで訳間違ってるよ、って教えてもらったので、一部修正しました 2013.7.10) フリーライド (テストのただ乗り) 50pt 新しいテストケースを書くのではなく、他の機能のテストに新しいアサーションを追加して既存のテストケースに乗っかる。 セカンドクラス シティズン (二等市民) 47pt プロダクションコードのように

    TDD Anti-patterns catalogue at Stack Overflow を簡単に訳してみた - joker1007’s diary
    a2ikm
    a2ikm 2013/07/10
  • Shibuya.rb(2/15)でPryの活用について発表 - joker1007’s diary

    久々の更新。 もうちょっと筆まめにならないと。 今日は、Shibuya.rbに参加してきました。 今回のメインのテーマはRackミドルウェアを読むってことで、 各自、読みたいミドルを選んで、テーブルに分かれて、 それぞれ読んでみるという感じです。 私は、Rack::Auth::Basicを読んでました。 シンプルですぐに完結しているので読みやすい感じだったと思います。 私のテーブルでは、皆Macだったので、画面共有を使って、 同じ画面で一緒にソースを見て、順に追っていくという感じで、読んでみました。 テーブルごとにモニタがあれば、一緒に読む時にはかなり捗るんだろうけど。 中盤にLT枠があったので、突発で資料も無しにPryについて話をさせてもらいました。 テーマがソースコードリーディングだったので、、 最近、ソースコードを読んだり、Railsでspec書いたりする時に、 これは便利だ!と感じ

    Shibuya.rb(2/15)でPryの活用について発表 - joker1007’s diary
  • ウサギィに転職してからの1年の振り返り、そして結婚へ - joker1007’s diary

    2012年もそろそろ終わりという感じなので、今年を振り返るようなエントリも書いておこうかと思います。 今年はなんといっても、転職してプログラマとして仕事をするようになった年です。 この前のDevLove2012がちょうど前職辞めてから1年ぐらいで、感無量って感じです。 しばしば「あれ?そんなもん?」と言われるんですが、私はプロのグラマーとしては1年生で、今まではただの趣味の人でした。 まあ、前職でも肩書きとしてはエンジニアでしたが・・・。 あんまり、元ガチSIerという気配が無いらしいw まあ、あっちじゃ不良社員だったからねw 社会人になってから、時間の過ぎる速さに驚くばかりですが、今年はいい意味であっという間だったかなという感じです。 そういえば、退職エントリ的なのもちゃんと書いてなかったので、1年経ってからそれっぽい話も書いてみます。 そもそも、私は新卒で就職した某大手SIerで働いて

    ウサギィに転職してからの1年の振り返り、そして結婚へ - joker1007’s diary
    a2ikm
    a2ikm 2012/12/21
    おめでとうございます!jokerさんがプログラマ1年目とか信じられない
  • Rubyistなら知っておくべき地味だけど便利なメソッド - joker1007’s diary

    備忘録兼、初心者向けのメソッド一覧。 余裕があればRails編とかも書こうかな。 これ忘れてるとか何事?とかいう突っ込みがあれば是非お願いします。 もうちょっとコードの具体例書きたかったけど、めんどくさくなってきたw Array Array#combination(n), Array#permutation(n) 配列のデータを元に組み合わせ(順列)を作ってくれます。 ブロックを渡さない場合はEnumeratorで組み合わせの各要素を列挙します。 Enumerator Enumerator#with_index(offset = 0) Enumeratorの各要素に合わせてindexを列挙してくれるEnumeratorを返す。 each_sliceやcombination等にメソッドチェインで繋げて使う。 Enumerator#with_object(obj) with_indexと同様で

    Rubyistなら知っておくべき地味だけど便利なメソッド - joker1007’s diary
  • node.jsでUTF-8-MACを扱う - joker1007’s diary

    node.jsをMacで動かした際に、軽くハマったので書いておく。 UTF-8の文字コードでファイルにアクセスしようとした場合、 MacOSは内部で勝手に変換して、UTF-8-MACとしてファイルにアクセスするので、 意識せずにファイルを操作できる。 一方で、ファイル名を取得しようとすると、UTF-8-MACで戻ってくる。 lsコマンドを打つとターミナルによっては化けたりする。 まあ、Macを使っている人には、当たり前の話。 UTF-8-MACで困ること これは直接ファイルをいじってる際には余り困らないのだが、 特定のディレクトリ以下のファイル一覧を何がしかのDBに突っ込むという処理をする場合、 何も考えずにDBにファイル名を書き込むと、UTF-8-MACで書かれることになる。 しかし、DBMacOSがやってくれるように、勝手にUTF-8UTF-8-MACに変換したりはしない。 なので

    node.jsでUTF-8-MACを扱う - joker1007’s diary
  • 1