タグ

ブックマーク / postd.cc (14)

  • 開発者が、開発者ではない同僚から言われて嬉しい11の言葉 – 「クライアントが、IE6で使えなきゃダメだと言っている」 | POSTD

    開発者が、開発者ではない同僚から言われて嬉しい11の言葉 – 「クライアントが、IE6で使えなきゃダメだと言っている」 「 決して、 君にキレそうなのを隠すために笑っているんじゃないよ」 非開発者は、職場の開発者をコードで魔法を生み出す人々だと思っています。開発者なら、終日複雑なAPIインテグレーションを構築することもあれば、マウスをカチカチさせて単にSteamで West of Loathing をプレイしているだけの場合もあるでしょう。99%の同僚にはその違いが分かりません。テック企業は開発チームなくしては文字どおり存在しえないのに、開発者は、日がな無為な会議に出て他人の仕事を自分の手柄にしているチーフ・インスピレーション・ニンジャといった役職の人々よりも給与が低かったりします。 開発チームともっとうまくコミュニケーションをとれる方法はないものかと考えている人に、開発者が非開発者から言

    開発者が、開発者ではない同僚から言われて嬉しい11の言葉 – 「クライアントが、IE6で使えなきゃダメだと言っている」 | POSTD
    T-miura
    T-miura 2018/11/24
  • GraphQLはWeb APIの次のフロンティアか? | POSTD

    RESTの規約。URLはリソースであり、CRUDはHTTP動詞にマップされる。 RESTの規約に1つ問題があるとすれば、規約が十分でないということでしょう。上記で”通常”、”多くの場合”、”時に”という表現を使ったのは、これらのやり方は仕様で推奨されているものの守られるとは限らないためです。実世界では、大抵のAPIはRESTishがせいぜいです。例えばStripeでは、リソース更新に PUT ではなく PATCH を使うべきですが、歴史的理由でそうはなっておらず、おそらく現時点では変更に値しないでしょう。いずれにしても開発者はドキュメントを読む必要があり、その時、 POST メソッドのユビキタスな使い方があることに気づくのです。 RESTには他の問題もあります。必要なものだけでなく全てが返ってくるため、リソースのペイロードが非常に大きくなることがあるのです。そして多くの場合、クライアントが

    GraphQLはWeb APIの次のフロンティアか? | POSTD
    T-miura
    T-miura 2017/06/28
  • Railsの基本理念 : Railsの生みの親が掲げる8つの原則 | POSTD

    (訳注: 2016/3/2、頂いたフィードバックをもとに記事を修正いたしました。) Ruby on Railsは最近、急激に注目を集めていますが、その原因はほとんど、この言語が斬新なテクノロジーとしてもてはやされたことと、タイミングにあります。技術的な優位性は時間の経過とともに失われますから、タイミングがよかっただけでは、一過性のブームに終わり、このムーブメントの隆盛は長続きしません。従って、「Railsがいかにして、適切な技術としての位置を維持し続けるるだけでなく、影響力とコミュニティを拡大し続けてきたのか」をより多くの人に説明していく必要があります。そして、その維持・拡大を可能にした/していく要因は、物議を醸すことさえあるRailsの基原則にあると考えています。 この基原則はここ10年ほどの間に進化を続けてきましたが、最も強固な柱となっているルールはやはり、公開当初から制定されてい

    Railsの基本理念 : Railsの生みの親が掲げる8つの原則 | POSTD
    T-miura
    T-miura 2017/05/30
    明らかに向かない分野あるよな、、そういう分野の仕事はしたくないし、そういったところで使うなという話だが。
  • 確率的プログラミング | POSTD

    この数年で、プログラミング言語(PL)や機械学習のコミュニティは 確率的プログラミング(PP) を用いて、それぞれに共通する研究の関心事を明らかにしてきました。その概念は、抽象化のような強力なPLのコンセプトを”エクスポート”し、現状では複雑で困難な作業である統計的モデリングに再利用することができるかもしれない、というところにあります。 (講義ノートの 最新版 を閲覧したい方は、リンクをクリックしてください。ソースは GitHub に投稿してあります。誤りを発見した場合は、Pull Requestを送信してください。) 1. 何、そしてなぜ 1.1. 確率的プログラミングは○○○ではない 直観に反して、確率的プログラミングとは確率的に振る舞うソフトウェアを書くことでは ありません。 例えば、暗号のキー・ジェネレータやOSカーネルでの ASLR の実装、または回路設計のための 焼きなまし法

    確率的プログラミング | POSTD
  • くだらないAPIなんていらないよ – 2016年のウェブスクレイピング事情 | POSTD

    ソーシャルメディアのAPIとそのレート制限は、あまり気分のよいものではありません。特にInstagram。あんな制限つきAPIを欲しがる人がいったいどこにいるんでしょうね? 最近のサイトは、スクレイピングやデータマイニングの試みを阻止するのがうまくなってきました。AngelListはPhantomJSすら検出してしまいます(今のところ、他のサイトでそこまでの例は見ていません)。でも、ブラウザ経由での正確なアクションを自動化できたとしたら、サイト側はそれをブロックできるでしょうか? 並行性を考えたり、さんざん苦労して用意した結果として得られるものを考えたりすると、Seleniumなんて最悪です。あれは、私たちが「スクレイピング」と聞いて思い浮かべるようなことをするためには作られていません。しかし、賢く作り込まれた今どきのサイトを相手にして、インターネットからデータを掘り当てるための信頼できる

    くだらないAPIなんていらないよ – 2016年のウェブスクレイピング事情 | POSTD
    T-miura
    T-miura 2016/12/04
  • 何でもSSHでやってしまいませんか? | POSTD

    私はかつて、 ssh-chat というプログラムを書きました。 ssh http://t.co/E7Ilc0B0BC pic.twitter.com/CqYBR1WYO4 — Andrey ???? Petrov (@shazow) December 13, 2014 アイデアは単純なもので、ターミナルを開いてこのようにタイプするだけのことです。 $ ssh chat.shazow.net たいていの人はこの後に続けてlsコマンドをタイプするのでしょうが、ちょっと待って。よく見てください。そこにあるのはシェルではなく、なんとチャットルームですよ! 詳しいことはわからないけど、何かすごいことが起こっているようですね。 SSHはユーザー名を認識する sshでサーバーに接続するときに、sshクライアントはいくつかの環境変数をサーバーへの入力として渡します。その中のひとつが環境変数$USERです。

    何でもSSHでやってしまいませんか? | POSTD
  • 私たちがAmazon Web ServicesからGoogle Cloud Platformに乗り換えた理由 | POSTD

    https://flic.kr/p/os8Taq 要約:AWSは素晴らしいが、Googleはその グーゴル 倍素晴らしい。 AWS re:Invent (参加料は1,600ドル)に参加したり、チーフ・エバンジェリストの Jeff Barr をフォローしたりすれば、あなたはたちまち、Amazon Web Servicesのとりこになるでしょう。 毎年何百もの新機能が登場しており、べ放題・融通が利く・運用担当者不要の、オンデマンドサービスのビュッフェのようです。まあ、実際にべてみるまでは、の話ですが…。 Amazonは素晴らしいです。しかし、Google Cloudは「開発者によって、開発者のために構築された」ものであり、それが一目で分かるのです。 移行した理由 App Engine GAE はきちんと機能し、オートスケーリング機能も持ち、ロードバランサや無料のmemcacheも備えていま

    私たちがAmazon Web ServicesからGoogle Cloud Platformに乗り換えた理由 | POSTD
    T-miura
    T-miura 2016/09/09
  • 画像処理入門講座 : OpenCVとPythonで始める画像処理 | POSTD

    この記事を書くに至ったきっかけ Recruse Centerでは、私は、画像処理の勉強に時間を費やしていました。独学をし始めた頃は、何をするものなのか全く理解しておらず、ただ、文字や輪郭、模様などを識別するのに役立ち、これらで面白いことができる、ということくらいの知識しかありませんでした。 私の情報源は、主にWikipediaや書籍、公開されている大学の講義ノートです。これらの資料に慣れ親しんでくるにつれ、画像処理の世界における基礎を伝えられる「入門向け画像処理」を望むようになりました。 これが、この記事を書こうと思ったきっかけです。 前提条件 この記事は、Pythonが扱えるということを前提に書いています。その他の事前知識は必要ありませんが、NumPyや行列計算に慣れていると理解しやすいでしょう。 初めに 使用するのは、PythonOpenCVPython 2.7 ^(1) 、iPy

    画像処理入門講座 : OpenCVとPythonで始める画像処理 | POSTD
  • Linuxシステムコール徹底ガイド | POSTD

    要約 この記事では、LinuxカーネルにてLinuxプログラムがどのように関数を呼び出すのかについて紹介していきます。 システムコールを行う様々な方法、システムコールを行うための独自のアセンブリの作成方法(例あり)、システムコールへのカーネルエントリポイント、システムコールからのカーネルイグジットポイント、glibcのラッパ関数、バグなど多くの点について説明します。 要約 システムコールとは? 必要条件に関する情報 ハードウェアとソフトウェア ユーザプログラム、カーネル、CPUの特権レベル 割り込み モデル固有レジスタ(MSR) アセンブリコードでシステムコールを呼び出すことの問題点 レガシーシステムコール 独自のアセンブリを用いたレガシーシステムコールの使用 カーネル側での int $0x80 エントリポイント iret を使用したレガシーシステムコールからの復帰 高速システムコール 3

    Linuxシステムコール徹底ガイド | POSTD
    T-miura
    T-miura 2016/07/29
  • Bit Torrentを使ってWebアプリでのサーバレスのデータ同期 | POSTD

    忙しい人向け: こちらにデモ用の プログラム があります。 ここのところ、私たちのチームはたくさんの革新的なウェブアプリを作り、アプリ作成のための考え方を示してきました。 Airhorner 、 Voice Memos 、 Guitar Tuner 、 SVG-OMG がすぐ思い浮かぶでしょう。これらのWebサイトに共通しているのは、データを保管したり同期したりするためのサーバコンポーネントを持っていないことです。私たちはこれらのサイトを、Web上のある種のエクスペリエンスの例および実装リファレンスのために作成しました。ビジネス向けに作られる完全な”アプリ”を目指したわけではありません。 最近、新たなWebアプリのアイディアが浮かびました。Ben Thompsonの ポッドキャストの未来 に載っているポッドキャストにインスパイアされたのです。サイトを訪れて録音ボタンを押すというシンプルなポ

    Bit Torrentを使ってWebアプリでのサーバレスのデータ同期 | POSTD
    T-miura
    T-miura 2016/07/14
    非常に好みの話。
  • なぜsystemdなのか? | POSTD

    このブログ記事は2014年5月21日に行った私の講演の内容に基づいています。 ここ数年、GNU/LinuxのディストリビューションはSysV initを避ける傾向にあり、代わりに多種多様な新しいinitシステムへと移行が進んでいます。SysV initに満足しているユーザにとっては、これは予想外の流れでしょう。問題なく使えるのに、なぜ多くのディストリビューションはSysV initに背を向けているのでしょうか。 この記事ではSysV initの問題点と、それに対してsystemdがどんな解決法を提供しているのか説明してみようと思います。 私は特にsystemdの大ファンだというわけではなく、ただ広く使われているツールだという認識以上の思い入れは無いことだけお断りしておきます。 initシステムの役割とは何か? コンピュータが起動する時には、ビルトインされたファームウェア(コンピュータの場合

    なぜsystemdなのか? | POSTD
  • 依存関係をなくそう : Rubyアプリ・Gemの開発者への提言 | POSTD

    記事はRubyについて書かれたものではありますが、PythonJavaScriptJavaなど、全ての言語コミュニティに当てはまる事実を述べたものです。依存関係が引き起こす負の連鎖は誰のためにもなりません。 上の図は、私がこれまでに使用した全てのRailsアプリの依存関係を可視化したものです。以下の例はいずれも、どこかで聞いたことのあるものではないでしょうか。 何百ものエントリを含むGemfile 番環境で読み込まれるテスト用Gem 数百メガバイトもRAMをRailsのプロセス Rubygemsシステムは、それを再利用する誰もが容易にRubyのパッケージを作ることができるという点で、賞賛に値するものです。しかし、その便利さが意味するところは、そうしたGemと他のGemを非常に安易に結び付け、さらにそれが、「インターネットでダウンロード」され、数百もの依存関係を持つRailsアプ

    依存関係をなくそう : Rubyアプリ・Gemの開発者への提言 | POSTD
    T-miura
    T-miura 2016/03/11
  • リレーショナルデータベースの仕組み (1/3) | POSTD

    リレーショナルデータベースが話題に挙がるとき、私は何かが足りないと思わずにはいられません。データベースはあらゆるところで使われており、その種類も、小規模で便利なSQLiteからパワフルなTeradataまで様々です。しかし、それがどういう仕組みで機能しているかを説明したものとなると、その数はごくわずかではないでしょうか。例えば「リレーショナルデータベース 仕組み」などで検索してみてください。ヒット数の少なさを実感できると思います。さらにそれらの記事は短いものがほとんどです。逆に、近年流行している技術(ビッグデータ、NoSQLJavaScriptなど)を検索した場合、それらの機能を詳しく説明した記事はたくさん見つかると思います。 リレーショナルデータベースは、もはや大学の授業や研究論文、専門書などでしか扱われないような古くて退屈な技術なのでしょうか? 私は開発者として、理解していないものを

    リレーショナルデータベースの仕組み (1/3) | POSTD
  • イベントループなしでのハイパフォーマンス – C10K問題へのGoの回答 | POSTD

    この投稿は、私が去年OSCONで行ったプレゼンテーションを基に作成しています。プレゼンよりは簡潔に編集し直し、プレゼン後にいただいたいくつかのフィードバックに応える形で記事を書いています。 Go言語に関してよく言われるのは、Go言語はサーバでうまく機能し、静的なバイナリや強力な並行処理、高いパフォーマンスを見せくれるということです。 この投稿では、その後半の2つの項目に関して焦点を当てます。プログラマとってGo言語とそのランタイムは、スケーラブルなネットワークサーバをスレッド管理やブロッキングI/Oを気にせずに書くのにどんなに有効かを説明していきます。 効率的なプログラミング言語に関しての議論 技術的な話に入る前に、Go言語をターゲットにしたマーケットを説明する2つの議論に関してお話したいと思います。 ムーアの法則 画像は以下より引用; 2005年5月にHerb Sutter氏が書いたDr

    イベントループなしでのハイパフォーマンス – C10K問題へのGoの回答 | POSTD
  • 1