タグ

ブックマーク / blog.kentarok.org (17)

  • 効率的に新しいことを学ぶ方法 - Kentaro Kuribayashi's blog

    社内SlackTwitterなどで、自分が新しいことを学ぶ時に実践していることを書いたりしていたのだが、今日メンバーと1 on 1をしていて、あらためて新しいことの学び方について訊かれたので、ブログにも簡単にまとめておく。 まず前提として、学ぶ対象の「新しいこと」とは何かについて述べておく。ここでいう新しいこととは、研究やイノベーションに関することではない。そういうのは、ググっても出てこないレベルの新しさなので、このエントリで述べる対象ではない。ここでいっているのは、自分にとって新しい知識であり、かつ、既に一定の蓄積があるような内容のことである。 それをひとことでいうと、入門書があるような領域ということになる。たとえばプログラミング言語はメジャーなものはたいてい当てはまるし、DockerとかKubernetesのような技術要素も入門書があるし、もっと広く学問一般についても当てはまる定義で

    効率的に新しいことを学ぶ方法 - Kentaro Kuribayashi's blog
    oinume
    oinume 2020/08/01
    たくさん本を買ってざっと読んで全体感を把握する。なるほど。
  • 「「技術的負債」を問いなおす」というタイトルでJAWS DAYS 2014で話してきた #jawsdays - Kentaro Kuribayashi's blog

    JAWS DAYS 2014のImmutable Infrastructure(以下、II)に関するトラックに呼ばれたので、話をしてきました。Immutable Infrastructure時代のConfiguration Management Toolの要件およびその実装についてや最近のImmutable Infrastructureに関する議論(Orchestration編)というエントリを書いていたからということでしょう。 ただ、最近は首都大学東京ビジネススクール不合格記に書いたように、経営学関連の学習をずっと行っていて、すっかりそのような話題から離れてしまっていた、ありていにいえば特に興味を持たなくなってしまっていたので、進学していたら研究テーマのひとつにしていたであろう件について、だいぶ生煮えではあるけれども最近またそうした話題でネットが盛り上がっていたりもしたので、以下スライド

    「「技術的負債」を問いなおす」というタイトルでJAWS DAYS 2014で話してきた #jawsdays - Kentaro Kuribayashi's blog
  • Delta - HTTP Shadow Proxy Server Written in Go - Kentaro Kuribayashi's blog

    I just created a tool named "Delta". It's the first Go code for me. The reason why I created and wrote it in Go is that I just wanted to learn Go by writing some lines of code ;) https://github.com/kentaro/delta What's "Delta"? Delta is an HTTP shadow proxy server that sits between clients and your server(s) to enable "shadow requests". It's actually just a Go port of Kage. You can consult the doc

    Delta - HTTP Shadow Proxy Server Written in Go - Kentaro Kuribayashi's blog
  • app serverがリクエストの処理にかかった時間をログに記録する

    Webアプリケーションのパフォーマンスをトラッキングするために、app serverの処理にかかった時間を記録したい。 方法を、以下のように分類できる。 1. reverse proxy側で、proxy先のapp serverがレスポンスを返してくるのにかかった時間をログに記録する場合 1.1 nginx 1.2 apache 2. app serverでリクエスト処理にかかった時間を出して、ログに記録する場合 2.1 reverse proxyで記録する場合 2.2 app serverでログに記録する場合 1と2とでは出てくる数字が違うだろうけど、件に必要なのはパフォーマンス改善を示す一貫した指標なので、どっちでもいいと思う。 1. reverse proxy側で取る場合 1.1 nginx log_formatディレクティブに$upstream_response_timeという変数

  • 第1回Ruby開発環境勉強会 - Kentaro Kuribayashi's blog

    社内で、Ruby開発環境勉強会を行いました。趣旨としては、 Rubyプログラマ歴ひと月未満の僕が、最近自分でやってみた開発環境について説明・実演する それを聞いているひとが「こんなことも知らないのか」とあきれて、いろいろ教えてくれる という会です。いろいろ勉強になったので、とてもよかったです。開発環境やツールまわりの勉強会、面白いので、次回以降もなんかしら開催したいと思います。また、 西園寺おんじ氏: http://p.booklog.jp/book/51223 刺身氏: http://blog.kyanny.me/entry/2012/05/30/164601 の2名も発表してくれました。 とはいえ、単に「教えて」というだけいっても意味ないので、以下の軸に沿って問題を整理しつつ、それぞれについて説明・実演をしつつ、みなさんの意見をうかがう感じですすめました。 シェルの設定 irb/pry

    第1回Ruby開発環境勉強会 - Kentaro Kuribayashi's blog
  • capistrano + chef-soloで構成管理する - Kentaro Kuribayashi's blog

    問題 VMをぽこぽこ作りながらあれこれツールを入れて試してみたりしたいという時に、chefを使って構成管理はしたいけど、chef-serverを入れるのは面倒、というか、構成パッケージの記述・インストールだけできればいいという要求からするとオーバスペックなように感じるのだし、また、ホストの管理にはcapistranoを使っているので、cap実行側のみで処理が完結する方がよいという場合もあろうかと思う。 前提 デプロイ先ホストには、公開鍵認証でログインできるものとする(capを使うので) デプロイ先ホストでは、既にgit, chef-soloが使える状態であるものとする(そこまではなんらかの方法でがんばる) 解決案 そこで、chef-soloという、chef-serverなし、スタンドアロンにレシピの実行を行うコマンドをcapで実行するようにしてみる方法を試してみた。例として、GrowthF

    capistrano + chef-soloで構成管理する - Kentaro Kuribayashi's blog
  • HTML5のclient-side form validationで書かれたattributeからvalidation rulesを抽出し、client/serverでルールを共通化するモジュールを書いた - Kentaro Kuribayashi's blog

    Validation Ruleの記述ってけっこう面倒で、うまい方法を思いつけないのでいたのですが、今日、なんとなくHTML5にclient-side form validation specなんてものがあるんだから、それを使ったらいいんじゃないかと思って、ちょっと実装してみました。 http://prepan.org/module/3Yz7PYrBGs https://github.com/kentaro/HTML-ValidationRules 以下のようなメリットがあるのではないかと思っています。 client-side form validationを使いつつ、server-sideでも同じルールを別の形式で書くのは無駄感。 HTML5が、validation rulesをHTMLというフォーマットによって定めているとみなせば、client-side/server-side両方でそれ

    HTML5のclient-side form validationで書かれたattributeからvalidation rulesを抽出し、client/serverでルールを共通化するモジュールを書いた - Kentaro Kuribayashi's blog
  • PSGI/Plack勉強会 - Kentaro Kuribayashi's blog

    PSGI/Plack勉強会を開きました(ひとりで)。資料はGitHubにあげてあります。いろいろまとめ書き足りてないのですが、自分的には納得したので満足してしまいました。 http://github.com/kentaro/psgi-study 以下にもコピペ。 PSGI/Plackとは? PSGI = Perl Web Server Gateway Interface Specification WebサーバとWebアプリケーションとの間のインタフェイス仕様 Plack = PSGIのリファレンス実装 PSGI実装のひとつ(とはいえ、やたら気合いの入った感じになってるけど) PSGI != Yet Another WAF PSGI != Plack PSGI策定の背景 各Webアプリケーションフレームワークがバラバラに実装していた、WebサーバとWebアプリケーションとのインタフェイスを

    PSGI/Plack勉強会 - Kentaro Kuribayashi's blog
  • Kansai.pm 第10回ミーティングで発表してきたお - Kentaro Kuribayashi's blog

    イベント/第10回ミーティング告知 - Kansai.pm Kansai.pmの第10会ミーティングで、「EmacsでPerlプログラミングする上で必須な設定」というタイトルでお話してきました。初トーク!!1しかし結果は……という感じでしたが、ともあれ楽しかった。参加されたみなさま、どうもありがとうございました & お疲れさまでした!!1また次回もよろしくお願いします!!1 以下、発表資料です。 EmacsでPerlプログラミングする上で必須な設定 自己紹介 いろいろツール紹介 まとめ 自己紹介 名前: 栗林健太郎 kentaro a.k.a. id:antipop http://d.hatena.ne.jp/antipop/ 所属: 株式会社はてな(エンジニア) はてなダイアリーとかの開発 出身: 奄美大島 5月から転職して京都に移住 属性: BDD/℃DD Perler活動 http:

    Kansai.pm 第10回ミーティングで発表してきたお - Kentaro Kuribayashi's blog
  • EmacsでPerl開発する上で必須な設定 #3 - perldoc-m - Kentaro Kuribayashi's blog

    PODを読んでもよくわからない、あるいは、そもそもPODがちゃんと書かれていないモジュールの挙動を知りたい場合、perldoc -mを使いまくることがよくあると思います。単にperldocを読みたい場合は、id:IMAKADOさんによる素晴しいperl-completion.el(これも当然必須です)が非常に便利なのですが、perldoc -mの表示をバッファを作って表示させたい場合、以下のような設定を書いておくと、これはこれで便利だと思います。というか使いまくってます。 ポイントがある位置のモジュール名、あるいはなんにもなければプロンプトでモジュール名を指定して、ウィンドウをポップアップしてperldoc -mを表示 perldoc-mコマンドを実行したバッファが、既にperldoc-mコマンドで開いたバッファなら、その場で表示 多分これ、どこかからもらってきたのを改造したのだと思うけど

    EmacsでPerl開発する上で必須な設定 #3 - perldoc-m - Kentaro Kuribayashi's blog
  • EmacsでPerl開発する上で必須な設定 #2 - flymake

    Emacs22から標準添付されているflymakeが超便利です。flymakeは、動的にシンタックスチェックを行ってくれるelispで、typo等によるミスが、これでかなり減ること受け合い。以下の設定には、set-perl5lib.elが必要なので、あらかじめload-pathの通った場所にインストールしておく必要があります。 http://svn.coderepos.org/share/lang/elisp/set-perl5lib/set-perl5lib.el 以下、設定。 ;; flymake (Emacs22から標準添付されている) (require 'flymake) ;; set-perl5lib ;; 開いたスクリプトのパスに応じて、@INCにlibを追加してくれる ;; 以下からダウンロードする必要あり ;; http://svn.coderepos.org/share/

    EmacsでPerl開発する上で必須な設定 #2 - flymake
  • yasnippet関連の設定 - Kentaro Kuribayashi's blog

    ここ数日、yasnippetに限らず.emacsいじりやelisp書きに没頭し過ぎて、公私各方面での活動に支障をきたしているので、ここらでとりあえずyasnippet関連の設定でも晒して、Emacsいじりを切り上げることにしたい。昨日、ver 0.4.0が出て、さらにいろいろ便利になった。しかし、まだいろいろと流動的かつ人柱的なので、根気がないと大変かも。 以下、注釈(コメントでも書いてるけど)。 コメントや文字列中でスニペットを展開しないような設定や、flymakeを抑制する設定とか、役に立つかも。 html-tt - emacsのTemplate Toolkit用のmode (Clouder::Blogger)で公開されてるhtml-ttモードをyasnippetでやったりするようにもしてみた。まだフェイス定義を書いてないので、微妙だけど……。 スニペットは/config/yasnip

    yasnippet関連の設定 - Kentaro Kuribayashi's blog
  • Emacsからackの検索結果を使う - Kentaro Kuribayashi's blog

    ack.vim - vim から ack の検索結果を使う - 川o・-・)<2nd life よくわかんないけど、こんなんでいんじゃねもうもう。quickfixって何。vimとかわかりません>< (defun ack () (interactive) (let ((grep-find-command "ack --nocolor --nogroup ")) (call-interactively 'grep-find))) ちなみにackは、CPANのApp::Ackから入れるとackなのだけど、debianのパッケージだとack-grepなので注意を要する。あと、最近anything.el(素敵!!!)を使いはじめたので、そこに出すようにしてみようかと思ったりもしたけど、それはそれで微妙な気もした。どうだろ。

    Emacsからackの検索結果を使う - Kentaro Kuribayashi's blog
  • Perl/Emacs版IntelliSense(への期待が持たれる)、 perly-sense - Kentaro Kuribayashi's blog

    Perl(+Emacs)版IntelliSense、perly-senseなんてのがあります。デヴェロッパーリリースの時にちょっと試してから後しばらくしてから再度見てみたら、かなりと充実してきていて、ちゃんと使っていきたいとか思っているところ。まだIntelliSenseには遠いのだろうけど、まぁそれはおいても、普通に便利なんじゃないかなぁと思ったりしてます。 インストールは普通に。 cpan> install Devel::PerlySenseんでもって、あとはEmacs installationにある通り設定を書けばオケ。あと細かいことはいろいろあるけど、詳細はPODで。 現在のところ、実装されている機能は以下の通り。今後はメソッドの補完とかできるようになるのかなーとか期待してます。 パッケージの概要(継承関係、API一覧、useしてるモジュール、おとなりモジュール等)。 ポイント位置

    Perl/Emacs版IntelliSense(への期待が持たれる)、 perly-sense - Kentaro Kuribayashi's blog
  • HTML::StripScriptsでXSS対策をする - Kentaro Kuribayashi's blog

    先日公開した「はて☆すたアンケート」にて、アンケートの説明文をはてな記法で書けるよう、機能追加を行った。その際、Template::Plugin::Hatenaを用いた。これは、はてな記法パーサであるText::Hatena(正確には、そのヴァージョン0.16以下)を、Template::Toolkitのプラグインとして使えるようにしたものである。 はてな記法は、それ自体で全ての文書構造を表現できる、あるいは、はてなダイアリのシステム自体は、はてな記法のみしか許容しないというものではなく、たとえば画像を貼る際には、普通にimg要素を書く必要があるし、また、その他の要素についても、記法が用意されていないものについては、「はてなダイアリーのヘルプ - はてなダイアリー利用可能タグ」に掲載されているものに限り、自分でタグを書くことができる。これは自由度を高める反面で、XSSを誘発し得る潜在的なリ

    HTML::StripScriptsでXSS対策をする - Kentaro Kuribayashi's blog
    oinume
    oinume 2007/08/06
  • antipop -WordPress事始め

    最近、WordPressを用いてサイトをふたつほど作ってみたのだが、かなりといいものであると感じた。個人サイトはもちろんのこと、小規模事業所で、かつ、たとえば部署ごとの細かい権限設定や、記事を公開するまでに稟議を上げるフローが必要だとかいうわけでなければ、CMSとして必要にして十分な要件を満たし得るのではないかと思う(そういう要求を実現するプラグインも存在しそうではある)。扱いは簡単だし、各種ドキュメントは豊富だし、プラグインやテーマ等、通り一遍のものはそろっているように思う。 加えて、僕はDreamHostというホスティングサービスを利用しているのだが、そこで提供されているOne Click Installという機能の中にWordPressも含まれており、データベース作成とWordPressのインストールが、文字通りワンクリックで行えるばかりか、アップデートすらもクリック一発で完了する。

    antipop -WordPress事始め
  • antipop - livedoor Reader と GMal に見る、大量のチェックボックス処理 UI における革新的工夫について

    HTML には、複数の項目を選択する UI として、たとえばチェックボックスがあります。こんなやつですね 好きなメンバを選択してください(複数可) 梅田えりか 矢島舞美 村上愛 中島早貴 鈴木愛理 岡井千聖 萩原舞 有原栞菜 これぐらいの量だったら、選択するにせよ解除するにせよ、まぁたいしたことはないかもしれませんが、もし、選択項目が数十あるいは数百あったらどうでしょうか。激しくめんどくさいですよね。 世界的に優れたフィードリーダである livedoor Reader は、フィードリーダとしての使い勝手は当然として、そんなところにも実は気を配っていたりします。 たとえば、LDR のおすすめフィード登録画面「アルファブロガーズ」を見てみると(livedoor ID でログインする必要があります)、アルファブロガーさんのブログが数十個表示されるのですが、これを選択または解除するに際して、チェッ

    antipop - livedoor Reader と GMal に見る、大量のチェックボックス処理 UI における革新的工夫について
    oinume
    oinume 2007/02/12
  • 1