タグ

ブックマーク / blog.shibayu36.org (29)

  • フロントエンド速度改善をしようとして参考にしたもの - $shibayu36->blog;

    最近フロントエンドの速度改善をほんの少しだけやって、いろんな資料を参考にしたので、今後また速度改善をする時に備えて、参考になった資料をまとめておく。今回パフォーマンス改善やった項目としてはExpiresヘッダ付ける、gzip圧縮かける、JSをbodyの一番下にとか基的なことしかやらなかったので、そのあたりはこの記事ではまとめていません。 今回は「測定する」「ブラウザがどう表示しているか知る」「改善を検討する」の流れで調べていったのでその順にまとめる。 測定する 何はともあれ測定しないと何も始まらないので、まずは測定の仕方について調べた。 PageSpeed Insights( https://developers.google.com/speed/pagespeed/insights/ )と、webpagetest( http://www.webpagetest.org/ ) はとりあえ

    フロントエンド速度改善をしようとして参考にしたもの - $shibayu36->blog;
  • Scala入門記 - $shibayu36->blog;

    僕はこれまでまともに学習したプログラミング言語がPerlJavaScriptしかなくて、静的言語的パラダイムや関数型パラダイムは概念は知っているものの、それがどう役に立つのか、逆にどういう面で課題がありどのように対処されているのか、などといったことを知らなかった。知らなくてもまあ仕事PerlとJSでやっているので問題ない。しかしすでにこれらの言語から得られる概念的な知識の吸収の速度が鈍化してきていて、このままではエンジニアとしてまずいのではないかという危惧感があった。 そこで静的言語であり、関数型言語であり、また社内でも使われ始めているためサンプルコードがあるScalaの学習をすることにした。 学習するにあたって困ったことは、どういうドキュメントを読み、どのように実践するとScalaの概観をつかめるか分からないということだった。そこで今回は自分の経験を踏まえて、このように入門していくと

    Scala入門記 - $shibayu36->blog;
  • 暗号技術の要点を学ぶ - 「暗号技術入門」を読んだ - $shibayu36->blog;

    最近SSLやユーザアカウント管理の安全性とかに興味があって、その要素技術である暗号技術に興味が湧いてきたので、最近新板が出た「暗号技術入門」を読んだ。 暗号技術入門 第3版 秘密の国のアリス 作者:結城 浩SBクリエイティブAmazon このは、暗号学者がよく使う仕組群(このでは暗号学者の道具箱と呼称)である、対称暗号、公開鍵暗号、一方向ハッシュ関数、メッセージ認証コード、デジタル署名、擬似乱数生成器について、仕組みを順に解説してくれる。また、ただ解説してくれるだけではなくて、その仕組みによって解決できる問題と解決できない問題を明示し、では解決できない問題を解決するにはどうするかというふうに章が進んでいくので、暗号技術を分かりやすく学んでいくことが出来る。 暗号技術というと数学的で非常に難しい印象があるけど、著者である結城さんが単純化して説明してくれているおかげで数学的知識がなくとも分

    暗号技術の要点を学ぶ - 「暗号技術入門」を読んだ - $shibayu36->blog;
  • プロジェクトを成功させるために最初におこなっていること - $shibayu36->blog;

    ディレクター時代に仕事プロジェクトを受け持つ時にどうやったら成功させることが出来るのかについていろいろ考えていた。僕は開発フローをいろいろ考えるのが好きなのだけど、実際に自分がリーダーシップを取ってプロジェクトを進めることを経験すると、そもそもその前に考える・決めるべきことがたくさんあるということが分かったので、ブログに書いておこうと思う。 ここで言うプロジェクトとはサービスを一から作ったり、サービスの一機能を作ったり、受託案件一つだったりを指す。特に開発プロジェクトに限定するものでもない。 プロジェクトを成功に近づけるためには、まずプロジェクトの開始時に、プロジェクトの5W1Hを明確にし、個々のメンバーの責任範囲を決め、それらを一つの場所にまとめておくということをしておくと良いと考えている。 5W1Hを決める すごい基的なことだけど、プロジェクトをやる上でやはり5W1Hは大事である。

    プロジェクトを成功させるために最初におこなっていること - $shibayu36->blog;
  • Amazon SESとSNSを利用してバウンスメールを自動的にハンドリングする - $shibayu36->blog;

    メールを送るアプリケーションを作成していると、使われていないメールアドレスで登録された時や、携帯のメールアドレス変更によって登録されているメールアドレスが使えない状態になって、メール送信時にバウンスメールとして返ってくることがある。この時バウンスメールとして返ってくるメールアドレスをアプリケーション側で無効にするなどしておかないと、メール送信の無駄が発生する。また、AWS SESを使っている場合、バウンス率が高くなった場合、規制されることもある( https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/e-faq-bn.html )。 今回は、AWSを利用してバウンスメールとして返ってきたメールアドレスを自動的にハンドリングするというのをやってみたので、それを書いてみる。 前提 今回はAWS SESを利用して、メールを送信して

    Amazon SESとSNSを利用してバウンスメールを自動的にハンドリングする - $shibayu36->blog;
  • #yapcasia 2015に参加しました - $shibayu36->blog;

    今年もYAPC::Asia 2015に参加しました。今年のYAPCも非常に面白いトークが多く、またいろいろな人と会話でき、非常に楽しめた。 トークとしては、Effective ES6、Perlの上にも三年 〜 ずっとイケてるサービスを作り続ける技術 〜 、3分でサービスのOSを入れ替える技術が非常に参考にった。フロントエンドPerl、インフラといろいろな層の話が聞けてYAPCはすごい。 今年でYAPCが終わりということで非常に寂しい気持ち。はてなでアルバイトとして入ってプログラミングを始めた時にYAPCに初めて参加して、さまざまなPerlハッカーの人たちにあこがれて、いろいろやっていたら、一年ごとにだんだんPerl界隈の人とも会話させてもらえるようになったので、YAPCに育てられたという気持ちになっている。最初のころantipopさんに連れられてmiyagawaさんの隣で写真を取らせても

    #yapcasia 2015に参加しました - $shibayu36->blog;
  • 自分流Elasticsearch入門 - $shibayu36->blog;

    【2016/09/10追記】 勉強しなおして、Elasticsearchの知識についてさらにまとめた記事を書いたので、そちらを参照してもらうと良さそうです。 blog.shibayu36.org 最近Elasticsearchの勉強をした。ただ、入門のためどのような資料が適しているかを知るのが大変だった。そこでどのように勉強したかについてメモをしておく。少しまとめエントリー的なノリになりそう。 Elasticsearchの概念を知る 全文検索技術の基を知る Elasticsearchのドキュメントのたどり方を知る の順に学習を進めていった。 Elasticsearchの概念を知る Elasticsearchの学習を始めようとした時に、まずは基からということで以下のを読んでいた。 高速スケーラブル検索エンジン ElasticSearch Server (アスキー書籍) 作者:Rafal

    自分流Elasticsearch入門 - $shibayu36->blog;
  • Emacsでscala-mode2とensimeを使ってScala環境を作る - $shibayu36->blog;

    Scalaを書くにはIntelliJを使うのが良さそうだったのだけど、使ってみたらいつもの感覚で使うのがけっこう難しかった。そこでEmacsでの環境構築を行ってみた。今回はscala-mode2とensimeを利用した。特にensimeに関してけっこうはまってしまったので、そのあたりを多めに書く。 scala-mode2 最近はscalaemacsで書くならscala-mode2を使うみたい。セットアップは簡単でM-x package-list-packagesしてscala-mode2をインストールした後、以下をどこかに書いておけば良いだけ。 ;;; scala mode (require 'scala-mode2) これでひとまずハイライトなどを行うことが出来た。 ensime(セットアップ編) 続いてensimeのセットアップを行う。ensimeを利用することで、型を利用した補完、

    Emacsでscala-mode2とensimeを使ってScala環境を作る - $shibayu36->blog;
  • TheSchwartzが次に実行するjobをどう見つけるか - $shibayu36->blog;

    TheSchwartzを利用していて、priority周りがどのように機能しているのかよく分からなかったので、軽くコードを読んでみた。 TheSchwartzでジョブを一つ実行する一番単純な手段はTheSchwartz->work_onceを一度実行する部分である。またジョブを実行するための他のいろいろな関数でも結局このwork_onceを利用している。そこでまずはwork_onceから読んでみる。 work_once https://metacpan.org/source/JFEARN/TheSchwartz-1.12/lib/TheSchwartz.pm#L646 work_onceを見ると、すぐにjobを探していると思われるメソッドが見つかる。work_onceを引数なしで呼ぶことにより、find_job_for_workersが呼ばれ、jobが一つ返ってくるようだ。そこで続いてこの

    TheSchwartzが次に実行するjobをどう見つけるか - $shibayu36->blog;
  • 第10回elasticsearch勉強会に行ってきました - $shibayu36->blog;

    elasticsearch.doorkeeper.jp 最近elasticsearchを触ることがあるので勉強会に行ってきました。 今回のなかで個人的に一番面白かったのは@mats116さんの「AWSで実現するelasticsearchの大規模運用」という話。nodeをmaster/data/searcher/indexerという役割に分けて、インフラを構成しているという話がなるほどという感じ。ある程度大規模になると大体master/data/searcherみたいな構成になりそうに感じる。searcherの部分はhttp.enabledをfalse、node.dataをfalseにするといっていたので、なんかのライブラリを利用してtransport層で通信しているのかなと思った。 またjohtaniさんの紹介していたelasticonの発表の中で、以下の話が面白そうだったので時間がある時

    第10回elasticsearch勉強会に行ってきました - $shibayu36->blog;
  • 「Cartonの内部」について社内勉強会で発表した - $shibayu36->blog;

    Perlのバージョン管理ツールであるCartonの内部について、社内勉強会で発表したので、その時の資料をそのまま公開する。けっこう雑に作ってしまったので、正確性については保証できないけど、Cartonのソースコードリーディングの際の参考になればと思う。 アジェンダ Cartonとは いろいろトラブル carton installの挙動を理解する Cartonとは Perlのモジュール管理ツール 依存モジュールを特定のバージョンに固定して、インストールしてくれる Cartonとは(深堀) 一番重要なのはcarton install 基的にはcpanmのラッパーとしてcarton installが実現 Module::CPANfileなど、小さいモジュールを組み合わせている いろいろトラブルもある cpanfile.snapshotが環境によって変わる carton install --de

    「Cartonの内部」について社内勉強会で発表した - $shibayu36->blog;
  • 「アドレナリンジャンキー」読んだ - $shibayu36->blog;

    アドレナリンジャンキー プロジェクトの現在と未来を映す86パターン 作者:トム デマルコ,ピーター フルシュカ,ティム リスター,スティーブ マクメナミン,ジェームズ ロバートソン,スザンヌ ロバートソン日経BPAmazon 読んだ。 このはソフトウェアのプロジェクトにおけるパターンについて、いろいろ教えてくれる。このを読んで、あーあるあると思いながら読めると良いなのだろうと思う。あんまり進め方が良いとは言えないプロジェクトに関わっていたり、炎上気味のプロジェクトに関わっている人には面白く読めると思う。逆に僕はそれぞれのパターンを読んでも、なるほどとは思えなかったので、そこまで面白くはなかった。 このの中で一つ面白かったのは「マニャーナ」というパターン。説明文には以下のように書かれている。 すぐに動き始め動き続けなければ仕事が片付かない。そう認識できる時間枠を超えて期日が設定され

    「アドレナリンジャンキー」読んだ - $shibayu36->blog;
  • 評価制度の目的とは何か考えてみる - $shibayu36->blog;

    最近どのような人事評価制度が良いものなのか考えている。どういうシステムが良いかを考えるためには、まずは人事評価制度はどういう目的で行われるのかを考える必要があると思い、まずは人事評価制度は何なのかについて自分なりに考えてみたいと思う。 今のところいくつかのを読んで、自分の意見をまとめているという段階なので、中身の正確さは保証できない。間違っているところなどあれば指摘してもらえると。 人事評価制度の目的は何か 「そうか、君は課長になったのか。」「マネジメントとは何か」「1分間マネジャーシリーズ」など、いくつかの書籍を読んだ所、人事評価制度はマネジメントという文脈で非常に重要なポジションであることが見てとれた。 これらの書籍を見る限り、以下の様なものが人事評価制度の目的となるのではないかと考えている。 報酬による外的モチベーションの管理 社員教育の促進 会社の方向性を社員に伝搬させる 報酬に

    評価制度の目的とは何か考えてみる - $shibayu36->blog;
  • 学習のため書籍を読むときは明確に目的を決める - $shibayu36->blog;

    僕は学習をする際には書籍を参考にするのが好きだ。なぜネットとかではなくて書籍を参考にするかというと、書籍のほうが学びたい事柄についてネット情報や人から教わるのと比べて、どちらかというと体系的にまとめられていると思っているためだ。 ただし書籍を参考にしている時によく陥りがちなのが、「学習する」という目的を忘れて、「を読み切る」という事自体が目的化してしまうことだ。こうならないため、僕はこの書籍を読む目的をはっきり決めるようにしている。その目的が大体3つくらいの種類に分類されてきたので、今回はそれについてまとめてみようと思う。 三つの目的のどれかを選ぶ 僕の中で学習目的で書籍を読むときは以下の三つの目的のどれかに絞っている。 これからの課題を解決する方法を見つけるための読書 これまでうまくいったことの言語化を行うための読書 視野を広げるための読書 この三つのどの目的でを読むか、自分の中で明

    学習のため書籍を読むときは明確に目的を決める - $shibayu36->blog;
  • 今年買ってよかったものベスト5 - $shibayu36->blog;

    今年新しく買ったもので、よかったものをご紹介。 【1位】 ブラウン シェーバー 750cc-7 ブラウン シリーズ7 メンズシェーバー 3枚刃 750cc-7 ブラウン(Braun)Amazon 前の髭剃り7年間くらいずっと使い続けてて、そろそろ買い換えようと思ってたので、これを期に髭剃りについていろいろ調べて買った。 結局750cc-7にしたのだけど、これが非常に良かった。750cc-7、買って使ってみた感想として ヘッドの部分がかなり動くので剃りやすい 剃りの強さを5段階くらいで調整できる 充電器がそのまま洗浄台になっていて、汚れ度合いを検出して、ボタン1つで洗浄してくれる あたりが気に入っている。 特にこの充電器がそのまま洗浄台になっているというのが自分には革命的で、毎日ヒゲを剃ったあと、適当に充電台に置いてボタン押すだけでアルコール洗浄してくれるので、自分のような面倒くさがりな正確

    今年買ってよかったものベスト5 - $shibayu36->blog;
  • 「爆速経営 新生ヤフーの500日」を読んだ - $shibayu36->blog;

    ビジネスを学ぼうシリーズ第6弾。「爆速経営 新生ヤフーの500日」を読んだ。とにかく面白かった。 [asin:4822274292:detail] このはヤフーが2012年に経営陣を総入れ替えし、社長が宮坂さんになってからどのように経営改革を行ってきたかについて、筆者が取材をもとにまとめたものである。新生ヤフーになってからの改革プロセスが非常に良くまとまっており、具体例もいろいろ出てくる。特に宮坂さんがルールを明確にし、それぞれの社員に自律性を促すマネジャータイプの経営をおこなっているところから、自分自身の経験もあいまって非常に面白かった。 このの中で個人的に一番面白いと思ったのは、宮坂流マネジメントの質である「原理原則で動かす」という話だった。 「原理原則で動かす」というのは、 意思決定をする判断のよりどころとなるルールを公開し、社員に周知させた上で事業を進めるというスタイルである

    「爆速経営 新生ヤフーの500日」を読んだ - $shibayu36->blog;
  • 仕事の価値と責任範囲を伝え、任せる - 「1分間モチベーション」を読んだ - $shibayu36->blog;

    最近はマネジメントにおけるモチベーション管理について学習を深めている。その一環として1分間モチベーションを読んだ。 1分間モチベーション パンローリング株式会社Amazon このはメンバーに良い仕事をしてもらうために、どのようにモチベーションを管理していくかについて書かれている。おおまかに3つのことを説明していて、以下のトピックについて学ぶことができる。 やりがいがある仕事をするにはどうすればよいか メンバーが自己管理をしながら目標を達成するにはどうすればよいか モチベーションを鼓舞するような声援(援助)の方法はなにか このを読むと、なぜ目標設定が必要なのか、仕事をどのようにして任せるほうが良いのかなどのことが分かってくるので、非常に参考になった。新しくマネジャーになり、仕事をメンバーに任せるということを初めてするような人には非常におすすめなだと思う。 今回は次のことが興味深かったの

    仕事の価値と責任範囲を伝え、任せる - 「1分間モチベーション」を読んだ - $shibayu36->blog;
  • クリーニング屋のおっちゃんと話した - $shibayu36->blog;

    この前染み抜きをクリーニング屋にやってもらおうと思って、適当に探してた。そうしたら、見つけたクリーニング屋が店舗を持って無くて、受け取りに来てくれるらしいと聞いたので来てもらい、その時5分くらい雑談した。その話が興味深かったのでメモ。 なぜクリーニング屋? そのクリーニング屋は米屋の傍らクリーニング屋をやっているらしい。米屋とクリーニング屋何か関係有るのかな。洗濯に米のとぎ汁使ったりするとか聞いたことあるけど、そんな単純でもない気もする。 なぜホームページ持ってない? またその店インターネット上に情報が無かったので(大抵クリーニング屋はホームページなかった)、適当になんでホームページとかブログ作ってないんですか?と聞いてみた。そうしたら店舗構えてないので作ってないんですよと言っていた。 「店舗構えてないので作ってないんですよ」という言葉を聞くと逆に店舗構えてないからこそインターネット使わな

    クリーニング屋のおっちゃんと話した - $shibayu36->blog;
  • pecoを使い始めた - $shibayu36->blog;

    なんかpercol最近いきなり流行ってるなーと思ってたら、percolのgo版pecoがいつの間にか出てて流行ってた。ターミナル版anything的なpercolをzawの代わりに試してみた - $shibayu36->blog;みたいな感じで、昔からpercol使っててまあいいかと思ってたけど 設定ファイルが分かりやすい brewで簡単に入れることが出来る そこそこ開発されてる というメリットもありそうなので乗り換えようとしてみている。 https://github.com/peco/peco pecoのファイル運用 前と大体同じ感じでやる。基的にこういうツールは自分でいろいろ作りたくなってきて、設定が増えてきて破滅するので、ファイルを置くディレクトリを決めておいてそこに置いておくことにする。 .zshrc : 決めたディレクトリのファイルの全ロードと、キーバインドの設定 ~/.zsh

    pecoを使い始めた - $shibayu36->blog;
  • ドキュメントの場所を知らせるために、落ちるテストを作る - $shibayu36->blog;

    今回はドキュメントの場所をどうやって気づかせるかという話を書く。 ドキュメントがあるときの問題 以前開発のドキュメントをどこに置くか問題 - $shibayu36->blog;に書いたとおり、僕の意見としては 基は実装に一番近いところにコメントとしてドキュメント書くのが良いと思う いろんなパーツが絡みあうような大きな機能の場合、導入部分だけ別の場所に書く 出来るだけrepository内に入れておくと探しやすく、更新しやすいと思う というものだった。 基的には一番近いコメントにすると、見つけやすさ・更新しやすさともにある程度担保することが出来る。しかし、メインの部分が明確に決まらない*1いろんなパーツが関係しあう機能の場合は、ドキュメントを書かないと全体の概要が分からないということもある。このような時、ドキュメントを書いても結局そのドキュメントに気づかれないし、そのため更新されないとい

    ドキュメントの場所を知らせるために、落ちるテストを作る - $shibayu36->blog;