サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
masudak.hatenablog.jp
はじめに 去年ぐらいからPython製のコマンドラインのツールをいくつか作っていて、構成もだいぶ固まってきたので、まとめてみる。規模としては1ファイルでは終わらないぐらいで、関数の数も数十になってユーティリティを作ったり、クラスをいくつか作らないと、保守がしにくいような規模のものを想定しています。工数としては1日では終わらないけど、2週間はかからない程度の規模を想定。 構成 ということで、まず構成をさらしてみます。 こんな感じ。 SAMPLE_PROJECTレポジトリがあったとして、その具体的な構成が以下。 . ├── README.md ├── RELEASE.md ├── TODO ├── bin │ ├── command1 │ ├── command2 │ └── command3 ├── SAMPLE_PROJECT │ ├── __init__.py │ ├── constan
この記事全体的に、インフラエンジニアはコード書く頻度が少ないという立場に立って書いてますが、もちろんめちゃくちゃコード書いてる人はいるので、誰にでも当てはまる記事ではありません。 ただ、過去の経験から言って、コードを書く頻度が少ない人が多いイメージですので、そういった方を対象に書いてます。ご了承ください。 現在はサーバサイドのアプリエンジニアとして働いていますが、1年ぐらい前まではインフラエンジニアをやってました。 なので、インフラエンジニアをやっていた頃は、コード書く機会が少ないですし、書いてもそこまでしっかりとしたレビューを受けるわけでもなく、体系的に学ぶということがあまり多くありませんでした。 そのため、可能な範囲で独学しました。その際良かった本がいくつかありますので、是非読んでみてください。 基礎から言語仕様を把握するには パ-フェクトPHP /技術評論社/小川雄大posted w
Slack入門 [ChatOpsによるチーム開発の効率化]posted with カエレバ松下 雅和,小島 泰洋,長瀬 敦史,坂本 卓巳 技術評論社 2016-06-28 Amazon楽天市場 @matsukazさんに献本頂きました!週末に読みましたので、書評を書いてみたいと思います。 今の会社でも、前職でもがっつり使っていたSlack。そのSlackについて、これでもかというほど色々書かれた一冊でした。 ここまで詳細にSlackについて書かれた本は初ではないでしょうか。 折角ですので、詳しく紹介してみたいと思います。 目次 まず、目次はこちら。 第1章 Slackをはじめよう --- 松下雅和 1.1 Slackとは何か 1.2 Slackの基本 1.3 Slackの導入 1.4 Slackで実現するChatOps 第2章 Slackの機能を徹底解説 --- 小島泰洋 2.1 Slack
職場が六本木に移り、ランチを六本木でするようになりました。 少しずつお店も把握できてきたので、まとめてみたいと思います。 ただし、六本木は高いです。渋谷でまとめたところは800円から1000円ぐらいでしたが、六本木は1100円から1300円します。 メニュー見て1200円でも高って思うのに、さらに消費税が入るとか余裕であります。 なので、無碍にオススメはできませんが、六本木寄るときがあったら、行ってみてください。 渋谷編のこちらもどうぞ。 blog.masudak.net 目次 海鮮・寿司 アジア料理 うどん・麺類 和食 イタリアン・フレンチ・アメリカン・ブラジル料理 焼肉・牛タン 海鮮・寿司 まず僕が好きな海鮮系。 貝政 http://tabelog.com/tokyo/A1307/A130701/13122868/tabelog.com カウンター席があるお寿司屋さんです。回るところで
Gitの一番好きなコマンドといっても過言ではない reflog 。 すごく便利なので、使いましょうと言う話です。 簡単にいえば、 reflog で過去を探索し、 reset で好きなタイミングに戻ることができるというテクニックです。 開発していると、ここまでいじっちゃったけど、ここまで戻したいとかそういう欲が出てきます。 そういうときに是非使って欲しいコマンドです。 では説明していきます。 まず説明用に、いくつかファイルを作り、コミットなり色々しときます。 $ cd ~/work/ $ mkdir git $ cd git/ $ git init Initialized empty Git repository in /Users/masudak/work/git/.git/ # 適当にファイルを作る $ touch sample.txt $ git status On branch ma
初対面の人と話すことが多いので、自分なりに工夫しているのですが、初対面の人と話すの苦手な人も多いと思うので、書いてみます(こういう自分も別に特段得意なわけではないです)。 話すことをパターン化しておく 知っている人と話すことに比べ、初対面の人と話すときは、かなりパターン化しやすいという特徴があります。 たとえば、こんな感じ。 名前を聞いて 仕事内容を聞いて 休みの日は土日かどうかを聞いて 休みの日に何しているか趣味は何かを聞いて どのあたりに住んでるか聞いて みたいなことを、流れに応じて、聞くのが王道のように思います。 名前を聞く お名前はなんですか。すごく無難な質問ですし、これ聞かれて答えない人はほとんどいないんじゃないかっていうぐらい無難な質問です。 まず聞きましょう。 相手が答えてくれたら、どういう漢字で書くのかという質問や、こういう意味なんですかねみたいな意味を問うような質問とかも
結論から言うとできない。 $ git reset --hard master FILE_NAME 的なことをやると、以下のように怒られる。 fatal: Cannot do hard reset with paths. ハッシュしか指定できないらしい。 ので、正解はこっち。 $ git checkout master -- FILE_NAME こちらもどうぞ。 blog.masudak.net blog.masudak.net
眺めのSQLを var_dump()したら、以下の様な感じになった。 string(966) "SELECT ここに長い文字列 hoge"... ... って置き変わってる・・・ ので、 var_dump() の前に以下を入れる。 ini_set('xdebug.var_display_max_children', -1); ini_set('xdebug.var_display_max_data', -1); ini_set('xdebug.var_display_max_depth', -1); おわり。
配列とかにあるデータを一通り処理したいときはforとかforeachが便利なのですが、計算量を考えて、できるだけ使わないようにするのが大事という話。 $datas['key01'] = 1; $datas['key02'] = 1; $datas['key03'] = 1; foreach ($datas as $key => $value) { if ($key === 'key01') { return true; } } こういうシンプルな処理でも、$datas配列の中身が1000万件などでかくなればなるほど、無駄な処理が増えてしまいます。 そんなときは、 isset() をうまく使うといいです。 PHP以外の言語でも計算量を調べた上で、適切な関数を使いましょう。 $datas['key01'] = 1; $datas['key02'] = 1; $datas['key03'] =
2016年4月に転職しました。今まで2回転職をしており、1回目に比べて、転職スキルも伸びている実感があります。 そんなわけで、自分がどういうアピールをしてきたか書いてみたいと思います。 まず職務経歴書 まずは職務経歴書です。書類面接を通らなければ話になりませんので、ここは安定した質の経歴書を作り、いい印象を与えましょう。 職務経歴書で検索すると、色々サンプルが見つかると思うので、ここで提示したものに従う必要はありませんが、そんな悪い印象は取られなかった記憶があるので、良かったら使ってみてください。 特にここで述べるフォーマットは外資系の英文レジュメと同じフォーマットなので、英訳すれば、外資系でも使えるという利点があります。 全体の流れとしては、 3行ほどの要約 直近の実績から、どういうことをやってきたかを箇条書きでまとめる 学歴、ブログなど、細かいアピール という感じでA4で1枚に収まる程
前から興味があったので、遺伝子検査のMYCODEに申し込んでみました。 mycode.jp MYCODEというのは、唾液を送るだけで、遺伝子レベルでこういう病気になりやすいとかが分かる検査のことです。 150件の病気と、130件の体質について知ることができます。 東京か神奈川に在住・在勤のかたは40%OFFになるということで、少し割高ではありますが、傾向を知っておこうと思ったのでした。 通常だと29,800円、ガンのみの検査でも14,800円かかりますので、40%はかなり助かります(それでも高いですけどね) mycode.jp 申し込んで数日で検査キットが届きます。写真を撮り忘れましたが、唾液を入れる入れ物が送られてきます。 食べ物が混じるとまずいのでしょう。何も食べていない朝とかに唾液を入れて送るだけ。簡単です。 5/13に試料が検査センターに届き、6/2に結果が返ってきたので、大体半月
転職してまもないわけですが、色々問題は起こります。そういうときに、自分がこんな感じだったら情けないとか、相手に失礼かなと思う部分をまとめてみました。 あくまで僕視点ですが、是非参考にしてみてください。 dig, ping, netstatなどで切り分けできない ネットワーク、DNS周りの基本的な切り分けができないと残念な印象をあたえる気がします。 社内NWで問題が起きたときに、DHCPや固定IPなどの切り分け、NWのどの部分までが機能しているのかよくわからないようだと、大丈夫かなと不安になる気がします。 TCP/IPは基礎中の基礎ですからね。 若かりし頃、有線のケーブル抜けていたのに、ネットに繋がらないとしばらくハマっていたことありました。IPが払い出されているとかちゃんと調べましょう。迷惑をかけました。 ls, grep, tailなどのコマンドが使えない ローカルの開発環境などでテスト
blog.masudak.net 4/16入社なので、メルカリに入社してから約1ヶ月経ちました。少しずつ環境に慣れてきて、メルカリはこうなんだということも分かってきたので、印象をちょっと書いてみたいと思います。 僕目線の意見ですので、その点はご了承ください。 バグを生まない仕組み作り メルカリでは色々な面からバグを生まない仕組み作りがされていました。 まず、レビューはチーム内含め、エンジニア全体に投げ、多くの方が任意で見てくれます。レビュー担当が決まってるわけではないので、マサカリは至るところから飛んできます。 またびっくりしたのですが、うちのチームには2名のQAがいます。レビューで通ったとしても、QAが通らないとリリースはできません。 QAチームは各リリース物に応じて、テスト内容を考えてくれまして、手厚く見てくれます。 QAを知らない方のために簡単に説明すると、リリース物にバグがないか、
先日の記事で退職したことは書きましたが、新しい職場で働きはじめましたので、記憶が薄れないうちに書いてみます。 blog.masudak.net 優秀な人が多く、性格も素敵な人が多い環境ではありましたが、若いうちにもう少し違う環境で働いてみたいと思いました。 特に、技術的に、英語的に、まだまだ伸ばさなければ、生き残る道はないと思い、それらが叶えられる環境を探しました。 転職先で重視したのは以下のとおりです。 海外で戦っている。日本に閉じていない。 英語を使う、もしくは使わなくても学べる環境が十二分にある 優秀な技術者が多い(自分が一番下なぐらいがいい) 技術者が発表したりして、外に出ている パブリッククラウド含めた新し目の技術を使っている 技術者を大事にしている雰囲気がある 面接で技術的に評価される質問が多い。まともな質問を聞いてくる(ふるい分けがグダグダ・なぁなぁになってない) 社員が明る
2014年11月父が他界しました。 心のどこかで両親は死なないだろうという変な自信があったのですが、それが幻想なんだと分かったのもこの時でした。 blog.masudak.net 親はいつか死ぬ。 だから、一緒にいる時間を可能な限り増やし、感謝する。 その気持ちを忘れないようにするため、読んでいる漫画があります。 それは、宮川さとしさんのこの漫画。 www.shinchosha.co.jp この漫画では、「母」に焦点が当てられていて、その母との交流が丁寧に描かれています。 母中心のストーリーではありますが、父にも当てはまる部分はあると思うので、父に置き換えられる人はいるかもしれません。 最初読んだときは、普通に泣いちゃいまして、親を大事にしないとなぁと。 非常に温かい漫画ですので、是非是非読んでみてください。 P.S. 先日母が血尿が出たということで、大丈夫かなぁと心配する日々です。
最近はてブを多くして頂ける記事が多いものの、記事のタイトルがいけてないものがあり、反省の意味も込めて、書いてみたいと思います。 最近書いた記事はこちら(あとで何度かタイトル修正してます)。 渋谷でランチするときによく使う店をまとめてみた 【やってみたら難しくなかった】毎月9000円かかっていたけど、SIMフリー化して、iPhone 6SEを月額2100円運用してみた話 【680点→780点】TOEICを受けたら前回より100点アップしたので、対策したことをまとめてみる これらをTwitterとかで拡散するときは全文入るので、問題ないのですが、はてブアプリや、Facebookで見たときに問題がありました。 文字数的には、「渋谷でランチするときによく使う店をまとめてみた」ぐらいがちょうどよいんですよね。これで23文字です。 はてブアプリだとこんな感じ。 僕の記事はブログタイトルも入るぐらい余裕
英語の勉強にハマっている@masudaKです。 Readingに関してはコンピュータ系の資料などで触れてはいるものの、それ以外のスキルに関してはほとんど受験とか院時代のままになってまして、テコいれしようと10年ぶりぐらいに英語を勉強しているので、僕のやりかたをまとめてみます。 学生のころは、本やCD、英会話教室など色々やったのですが、もう少し効率よく生の英語に触れられないかと思い、完全にやりかたを変えてみました。 調べてみるとすごく便利な環境が整っているので、今の子は羨ましい限りですが、せっかく優れた環境があるので、書いてみます。 チャット仲間を作る まず最初にやったのが日常的に英語を使い、ともに教え合える知り合いを見つけることでした。そういうのを「language exchange(語学交換)」というようですが、パートナーを気軽に探せるサービスがあるので、使ってみました。 その名も、 「
英語をなんとかしなければならないと思い勉強をしているのですが、成果を測るって難しいんですよね。 マイルストーンがないと、成果が分からないと思い、そこで定期的にTOEICを受けているのですが、先日受けたら前回より100点あがっていたので、どういうことをしたのかまとめてみたいと思います。 前回の記事はこちら。 blog.masudak.net そして、結果はコチラ。 点数: リスニング分析: リーディング分析: リスニング Abilities measured: リーディング Abilities measured: 前回と比べて、意識的に変えたところ 前回は15年ぶりに受けたこともあり(言い訳)、色々甘かった部分があったのですが、今回はそういった弱点を可能な限り潰しました。 対策はこんな感じ。 はじめの3語を聞き逃さない 前回受けたときリスニングパートが全然聞き取れていなかったので、その対策を
※ iPhone 6SEという記述をしてましたが、iPhone SEの間違いです。勘違いしてました。申し訳ありません。 もうAUを8年以上使っていて、数年前にiPhoneにして以来、毎月9000円ぐらいかかっていたので、見直しをしました。 結果的に、以下のようになりました。 iPhone SEとガラケーの2台持ち 初期投資は10万ほど SIMは、DMM mobileにした コストは2年後まで月2100円 パケットは8GBつかえる(余った分は繰越し) 足りなくなったら、500円で1GB分パケット追加できる では、説明していきます。 安くする方法の検討 元々使っていたiPhone 5S。これをSIMフリー化したい場合、以下の選択肢がありました。 MNPして、iijとかDMM mobileに移行。電話使わないので、最悪電話番号なくなってもいい。要はAppleストアで端末を買いつつ、回線を格安SI
渋谷勤務歴5年以上で、大体ランチは外で食べているので、色々な店に行きました。 よく行く店まとめてみたいと思います。 写真は可能な限りカメラロールから探しだしたけど、見当たらないのはごめんなさい。食べログとかで見てもらえればと。 六本木版はこちら。六本木もうまいところ多いので是非! blog.masudak.net 1000円以内 渋谷でランチをすると、大体800円から1000円ぐらいかかります。 このあたりの値段のお店によく行くので、まとめてみました。 1000円以内の目次 海鮮・寿司 うどん・麺類 アジア料理 カレー 和食 イタリアン 寿司・海鮮系 渋谷は海鮮が美味しいところが色々あります。 六本木とかで働くとわかるのですが、渋谷の海鮮系の豊富さはなかなかあるものではありません。 是非色々行ってみてください。 春夏秋冬 tabelog.com 1.5人前のお寿司が800円で食べられます。
2016年04月15日退職なので、もう少しありますが、有給消化中ということで。 2011年12月に入社したので、約4年半勤めたことになります。 この4年半のあいだに本当に色々ありまして、入社早々トップクラスのエンジニア達と一緒に1年がかりのプロジェクトをやったり、新規ネイティブアプリ2本立ち上げ、アプリエンジニア転身等色々経験させて頂きました。 当時面接を受けた際の職務経歴書を久々に見たのですが、それはもう酷い出来で、ほんとに何も知らなかった状態なのですが、拾っていただき、成長させて頂きました(当時の面接官に話を聞くと、伸ばせば光ると判断して頂いたようです)。 そのおかげで、国内でも屈指の大規模な環境で色々好きなようにやらせて頂きまして、ありがたいなーと。 サイバーはほんと人がよく、人間関係で苦しんだことがほんとなくて、先輩も後輩も明るい人達ばかりで、すごい仕事しやすかったです。 もちろん
寒いの苦手なので早く温かい季節が来てほしいですが、花粉が怖くて、はざまの心境で揺れている@masudaKです。 前回の記事では、Chefのテストツールを紹介してみました。気楽にテスト。んで、テストは書くようになったものの、相変わらず自己流だったりするわけですね。それはまずいわけです。 ということで、この記事ではリファクタに焦点を当ててみたいと思います。 foodcritic まずはlintということで、foodcriticを紹介したいと思います。 こちらの記事にも丁寧に紹介されているので、詳しい説明は避けますが、lintツールは気軽に入れられるので、入れてみましょう。勝手にチェックしてくれるんですから、嬉しい限り。 $ gem install foodcritic --no-ri --no-rdocとするかbundleで入れるだけ。 あとは、 $ foodcritic COOKBOOK_P
エンジニアのみなさま、自動化は進めていますでしょうか。海外ドラマにハマってる@masudaKです。 すたじおなんとかさんが、以下のようなことを仰ってまして、 . @kenjiskywalker さんとか @nakashii_ さんとか@mikeda さんとか@masudaK さんとかはユーザローカルなRuby環境作るcookbookとか既に書いてそう— Satoshi.S (@studio3104) 2013, 3月 13 rbenvのcookbookでも作ろうかなと思ったのですが、折角なので前から触りたかったツールを色々使ってみました。その紹介記事であります。 記事書こうかなと思ってるうちにVagrantがクリティカルに進化してたりして追いつけてない(近いうちに動かなくなる)部分もあるかもしれませんし、Rubyも触りしかわかってないので、間違い等あったらご指摘お願いします。 ちなみにCh
あっという間に三が日も終わろうとし、時の切なさを感じている@masudaKです。 そこまで目新しいネタもないため、自分のVimの環境を晒してみたいと思います。 この記事はVim Advent Calendar 2013の1月3日分の記事となります。 説明は以下の.vimrcがベースとなるので、何かあればそこを見て頂くか、コメントとかでお願いします。@masudaKにメンションでも構いませんので、いくらでもツッコミお願いします。 https://raw.github.com/masudaK/dotfiles/master/.vimrc 初期化 まず新しい環境を構築する際にはGithubから初期化用の簡単なファイルを走らせます。 以下のスクリプトで既存ファイルをまず退避させます。 #/bin/sh readonly BASHRC=$HOME/.bashrc readonly ZSHRC=$HO
忘年会シーズンで肝臓への負担を極力避けている@masudaKです。今回はJavaアプリケーションの運用のポイントに関して、書いてみたいと思います。 このエントリはJava Advent Calendar 2012の22日目のエントリです。 Javaアプリケーションの運用ポイントとは 昨今ではLLのほうが敷居が低く、開発スピードも早いということからか、PHPやRubyなどのLLによるWebアプリケーションが多くリリースされているかと思います。 しかしながら、TwitterがJVMベースの開発にシフトしたように、より深いレベルで実装を行おうとした際にLL以外の実装も一つの選択肢として残っているのは間違いないでしょう。 そのようななかで自分が最もよく触れているJavaでのアプリケーションの運用ポイントについて述べてみたいと思います。 ここでいう「運用」とは、サービスをリリースしたのち、サービスへ
引越しも終わり、少しずつ落ち着いてきた@masudaKです。今日は、zshという究極のシェルについて、簡単に至極簡単に述べてみたいと思います。 zshに関して何がすごいのかを知りたい場合は後藤さんの記事をひと通り読むのがよいでしょう。24回までありますので、ひと通り読めばzshとは何かを知ることができるかと思います。 詳しい記事は至るところに書かれていますので、ここで言いたいのは一つだけ。 入力する回数を減らせる ということだけです。同僚とシェルの話になったりして、zshって何がいいのと言われたりするのですが、自分がその利点を伝えるとすれば、「入力する回数が減る」ということに尽きるかと思います。 実例 簡単に実例を示しましょう。 # まずzshがインストールされてるか調べる。コマンドは以下のをどれか打って、パスとかパッケージ情報出ればOK。 $ which zsh $ yum info z
オリンピックの流れに乗れてない@masudaKです。 職業柄かちょくちょくスクリプトを書くことはあるのですが、やはり色々自分で書いたり人のを見たりしてるうちに、この実行履歴綺麗だなーと思うことが多々あります。 今回は、そう思える対象のなかでも、「定期実行スクリプト」の「出力」を扱ってみたいと思います。 「定期実行スクリプト」というのは、バッチ処理だったり、何か必要に応じて叩かれるスクリプトで、具体的にはバックアップとか集計とか、一日に最低一回は叩かれるようなスクリプトです。cronやJenkinsで叩かれるような類ですかね。そのようなスクリプトの「出力」について書いてみたいと思います。 出力は標準出力であれば、tailfコマンドだったり、Jenkinsのビルドのコンソール出力で見られるようなもの。ロギングされてるのであれば、それと同様に追えるようなものとします。 以下に書くのはあくまで今の
最近Pythonあまり書いてなくて、復習がてら書いてみたのですが、その際paramiko: ssh2 protocol for pythonが便利だったので、ご紹介。 リモートホストに対してなんらかの処理を行いたい場合、スクリプトで書くとなると、シェルスクリプトでもできますが、例外処理が色々めんどいので、paramiko使ってみたという話し。 シェルスクリプトで実装する場合は、sshでまず接続できるか、接続先に対してタイムアウトの設定がされているか、出力は接続先の端末に持たせるか、実行側で受け取るか、KILLシグナル等受け付けられるか、あたりは入れておいた方がよいかなと思いますが、楽してparamikoとwithに任せてしまいました。 コードはこんな感じ。 流れとしては、 コンストラクタで最低限の初期化 __enter__, __exit__を使って、withでディクリプタの処理を任せる
findコマンドってすごく便利でxargsとかexecと合わせると色々できちゃうんですが、その分リスクも背負うので、リスクヘッジしておきましょうというお話し。 あるディレクトリ配下にこんなファイルがあったとします(適当でごめんなさい)。 # lla drwxr-xr-x 6 root wheel 204 3 21 2011 ./ drwxr-xr-x 51 root wheel 1734 5 23 01:07 ../ drwx------ 4 root wheel 136 8 12 2010 cores/ -rw-r--r-- 1 root wheel 4912297 10 16 2011 log.nmbd -rw-r--r-- 1 root wheel 5123798 3 21 2011 log.nmbd.old -rw-r--r-- 1 root wheel 198900 10 16
次のページ
このページを最初にブックマークしてみませんか?
『カイワレの大冒険 Third』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く