タグ

ブックマーク / tagomoris.hatenablog.com (8)

  • Golangの defer をRubyでも使いたい - たごもりすメモ

    前にRubyでtry-with-resourcesが使いたいという話を書いてそのときにリリースしたgemもあるが、人類の安全に・便利にリソースを解放したいという欲求には際限がない。 try-with-resources は便利なんだけど欠点がないわけではなくて、リソースの確保と解放を一ヶ所でまとめてやらないとネストが深くなる。複数箇所に分けて書くならネストも2段になってしまう。 これはこれで整理されたコードを書く圧力になるので悪くない面もあるんだけど、とはいえもうちょっと自由にやりたい、いい方法は無いもんか、という話。 defer ある。Golangの defer が便利そう。defer foobar って書いとくと、そのスコープを外れるときに自動的に foobar の内容が実行される。あるスコープのどこに何度書いてもいい。これは便利。 # GolangのdeferのままRubyにもってき

    Golangの defer をRubyでも使いたい - たごもりすメモ
  • 専門用語を並べてしゃべる専門家は許せない、という人は愚かである、という話 - たごもりすメモ

    ちょっと最近腹に据えかねる記事がネットで散見されるので敢えてアレなタイトルで、よろしくおねがいします。 なおこの記事は、自分はソフトウェアエンジニアリングの専門家であるので、そのような領域を大雑把に想定して書かれております。が、たぶん他の専門領域においても似たような状況なのではないかと推察しております。 専門用語ばかり使って会話するような人は当のプロではない という言説を最近ちょくちょく見ますね。曰く、普通の人に説明できないようではダメだ。曰く、普通の人でも重要性が理解できないように話せないということは、実際にはお前のやっていることは重要ではないのだ。曰く、専門用語ばかりで会話するようでは実際の能力はわからない、専門用語などわからなくても当に能力がある人にはあるのだ。 んなわけねーだろ。 専門家というのは、非専門家には扱えない問題を扱う専門家だから専門家として働けていて、それなりの待遇

    専門用語を並べてしゃべる専門家は許せない、という人は愚かである、という話 - たごもりすメモ
  • 社内ITシステムを構築・運用するのに最重要な3つのポイント - たごもりすメモ

    自社で使用するシステムを開発する、とする。 このとき迂闊にやっていると、気付いたら過去に構築したシステムのメンテナンスにばかり時間をとられ、新しいコードがぜんぜん書けていない、という状況に陥ることがある。 こうなると地獄だ。新規の興味深いコードを書くなんてとんでもない、という状態になる。メンテナンスコストを下げるためのコードすら書けなくて永遠に悲惨な撤退戦を繰り返すことになる。絶対に避けなくてはならない。 ということで、自分が心掛けていることをざっと書く。 全く手を入れずに動き続ける状態を最初に作る もちろんシステムというものは生き物なので、ある程度のメンテナンスコストが必要になる。特に会社というものは生き物なのでシステム周囲の環境は常に変化する可能性がある。データ連携している別のシステムの仕様が変われば、当然そのデータを利用する側も対応しなければならない*1。 ということで、システムには

    社内ITシステムを構築・運用するのに最重要な3つのポイント - たごもりすメモ
  • 4年前、おれがSIerの片隅で、何者でもなかった頃 - たごもりすメモ

    今からちょうど4年前の2010年2月、某巨大SIerの片隅でExcelPowerPointばかりを眺めて過ごしていた頃、おれは仕事でも仕事以外でもコードなんかまったく書いていなかったし、GitHubのアカウントも持ってなかった。毎日見積書とWBSと納品書と請求書と、Excel方眼紙の詳細設計書と格闘してた。 当時おれは30歳だった。一度はプログラマとして生きるのは自分には無理だと思って入社したSIerで数年やってて、そこそこ成功した数年を送っているとは思っていたけど、でもやっぱり、そんな毎日に飽きていた。 技術力を重視とか言いながらプロパー社員にコードを書かせようとしない会社の方針にも、svnもgitも閉じられててガチガチに監視されたネットワークに繋がせておいてオープンソースがどうのと言う文化にも、手順や履歴を重視とか言いながらロクにバージョン管理システムを使おうとしない一部の同僚にも、

    4年前、おれがSIerの片隅で、何者でもなかった頃 - たごもりすメモ
    golden_eggg
    golden_eggg 2014/02/25
    コードをガンガン書いて成果を世にcommitしていく仕事をやる為にWEBの世界に飛び込んだはずなのに、デカくなってSIer化が進行してしまった会社の片隅で読んでる
  • fluentdとシステム設計の小ネタ - たごもりすメモ

    あるいは http://yugui.jp/articles/879 へのreply。 システム監視をfluentdに統合してしまうべきか否か システム監視は分けておいた方がいいと思う。分けるべき、とまでは言わないけれど。 それらの仕組みには相応の必要な機能セットがあり、それらは長い歴史の中で比較的決まった機能セットに収斂してきており、その収集・モニタリング・可視化・アラート通知など決まりきったパターンを様々な項目について停止なく行う必要がある。 Fluentdの各種プラグインを用いることで同じような機能は実現できる。そのプラグインのうち数割は自分が書いものだったりする。とはいえ各ホストのシステム監視までそこで行うことを想定して書いたかというと、もうちょっと高いレイヤでの監視・集計、つまりサービス単位などを目的としたものが多い。サーバ単位で行おうとしたときに設定が雑多なものになるのはおそらく

    fluentdとシステム設計の小ネタ - たごもりすメモ
  • dmmのエンジニアと話をしてみたいという話(追記あり) - たごもりすメモ

    dmmは世の中のオトコノコにとっていろいろと言及するのに躊躇いつつ誰でも知っているアレなわけです。で、それなりの規模のWebサービスの裏側を見たことがある人なら誰でも、dmmの裏側はきっと物凄いことになっているに違いない、ということが想像がつくわけですね。 簡単に思い付く範囲でも以下のようなものがあります。 膨大な画像(サムネイル)および実コンテンツ(画像、動画、ソフトウェア圧縮ファイル)を配信するトラフィック しかもトップ数パーセントだけではなく、おそらくかなり裾野が広いトラフィック 膨大な商品の高速な列挙・表示 膨大な商品に関するタグつけ 膨大な商品に関する自然言語による全文検索 全トラフィックにおける膨大な量の課金・決済トランザクション 実物の通信販売に決済結果を載せる流通関連の問題 大勢のユーザに対して膨大な商品から適切に行うためのレコメンデーション これだけのことをやっているから

    dmmのエンジニアと話をしてみたいという話(追記あり) - たごもりすメモ
  • 第2回NHNテクノロジーカンファレンスでしゃべってきた - たごもりすメモ

    勤務先が主催でNHNテクノロジーカンファレンスという技術者向けイベントをやってるんだけど、その登壇者として社外の誰かから推薦されたらしいので(何故……)、ひとセッションしゃべってきた。なお「HBase at LINE」の発表は「HBaseについて誰かいない?」と主催の伊勢さんに聞かれたのに自分が推薦しました。みんなありがたがるといいよ。 他の人の話も、懇親会でのあれやこれやも大変楽しかった。HBaseなー、火山かー、みたいな。そのうち techblog にまとめエントリが上がるんじゃないでしょうか。それまでこっちでも見ると当日の状況が多少なりわかるかもしれません。 第2回NHNテクノロジーカンファレンス #nhntech まとめ - Togetterまとめ で、自分がしゃべったときのスライドはこちら。(slideshareのembed用タグを埋めてもはてなダイアリーに弾かれてしまう…… 対

    第2回NHNテクノロジーカンファレンスでしゃべってきた - たごもりすメモ
    golden_eggg
    golden_eggg 2012/08/21
    "各サービスの担当エンジニアはあくまでサービスの向上が目的/役割なのであって、彼らの投げるHiveクエリが効率的かどうかなんて正直どうでもいい話だ"
  • fluentd のベンチマークとってみたよ! - たごもりすメモ

    入出力プラグインをrubyで書けるのがじつにいい感じの fluentd がいい感じに見える。 fluent/fluentd · GitHub ので使えるかどうか、使えるとしたらどれくらいのノードを用意すればいいのかについて考えるため、とりあえずベンチマークをとってみた。 結論 以下非常に長くなるので結論だけ書くと、大変使える感じ。現状だとほとんど何も考えずにデータ中継させても秒間1万メッセージ、100Mbpsくらいまでは処理できる。効率よくなるよう流す側も考えてやれば 300Mbps を超えるデータの転送に成功した。だいぶいい感じ。 なおこれは in_scribe および out_scribe を使用した場合で、開発者 @frsyuki によるとMessagePackでのデータ転送の場合はこの倍くらい出るらしい。 もちろんこれは右から左に流しただけなので現実にタグによるルーティングだとかロ

    fluentd のベンチマークとってみたよ! - たごもりすメモ
  • 1