This domain may be for sale!
![conma.me](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)
3つの大事なこと まず全ての受託開発に適用できるかというと、それは難しいと考えています。 これまでクレイに発注いただいた開発で、次のような案件に適用してきました。 Webサービス スマートフォンアプリ プロトタイプ、研究開発 要件が曖昧だったり、仕様が変わりやすいもの、市場の変化が大きいものなどですね。 次に規模ですが大きくても3,4人で半年から一年程度の小規模な開発が多かったです。 ただこれまでいくつかのプロジェクトを進めてきて、向き不向き以上に大事なことがあるとわかりました。 特に次の3つが進めていくために大事なことと感じています。 クライアントにプロジェクトに責任を持って参加してもらう アジャイルに適した契約にする 開発プロセスを出来るだけ透明化する クライアントにプロジェクトに責任を持って参加してもらう 「クライアントにプロジェクトに責任を持って参加してもらう」とはどういうことでし
小飼弾のアルファギークに逢いたい♥ #8達人プログラマー Dave Thomas(前編) RubyにはMatzの受けた教育、宗教とかすべてが反映されている 今回のゲストは『達人プログラマー』『プログラミングRuby』(注1)などの著書で知られるDave Thomas氏。日本Ruby会議2007(6月9日~10日)の前日、六本木のカフェで行われた対談、さて、どんな話題が飛び出すでしょうか…。 編集部注) 本対談は2007年6月に行われたものです。 (右)Dave Thomas氏、(左)小飼弾氏(撮影:武田康宏) Ruby&Rails 弾:Rubyに出会ったのはいつですか? Dave:1999年です。 弾:早いですね。 Dave:私はいろんなプログラミング言語を必ず試してみるタイプで、たいていは30分もすると、これはダメっていう感じになるんだけど、Rubyは30分経っても1
WebアプリケーションにおいてJSONを用いてブラウザ - サーバ間でデータのやり取りを行うことはもはや普通のことですが、このときJSON内に第三者に漏れては困る機密情報が含まれる場合は、必ず X-Content-Type-Options: nosniff レスポンスヘッダをつけるようにしましょう(むしろ機密情報かどうかに関わらず、全てのコンテンツにつけるほうがよい。関連:X-Content-Type-Options: nosniff つかわないやつは死ねばいいのに! - 葉っぱ日記)。 例えば、機密情報を含む以下のようなJSON配列を返すリソース(http://example.jp/target.json)があったとします。 [ "secret", "data", "is", "here" ] 攻撃者は罠ページを作成し、以下のようにJSON配列をvbscriptとして読み込みます。もちろ
GNU Development Tools 著者:西田 亙 ※PDFでのダウンロード販売は終了しました。 C言語の入門書でお馴染みのhello.cは、gcc hello.c という簡単なコマンドで実行可能ファイル a.out に生まれ変わります。多くの教科書はここで立ち止まることなく、次のページへと進んでしまうのですが、皆さんは「a.outはどこからやってきたのか」、「#include にはどういう意味が隠されているのか」、疑問に思われたことはないでしょうか。本書は、これらの疑問に真正面から取り組み、自らの力で答えを見つけ出そうとする方々のための指南役として誕生しました。 プログラムが誕生するまでには、4つのビルド工程が必要ですが、普段はgccコマンドが裏方でこっそりと処理しているため、私達の目に触れることはありません。その挙動は、-vオプションを与えることで明らかになります。 gcc -
今、Google I/Oに来ています! そこで参加したWeb Components in Actionというセッションで、以前から注目していたWeb Componentsについて、大きな動きがあったことを知りました。 Polymer.jsというライブラリにより、Web Components仕様の大部分が動作させられるだけではなく、様々なカスタムコンポーネントを既に利用可能とのことなのです! ちなみに、Web Components仕様について多少詳しく知りたい方は、昔白石が書いたこちらの記事を参考にするといいんじゃないでしょうか。 Polymerのコードを取得 PolymerはGitHubでコードが公開されています。まずは適当な空ディレクトリに移動し、そのコードを手元にクローンします。 このコマンドを実行すると、Polymer本体だけではなく、依存しているいくつかのモジュールも同時にクローン
基本編はRails定番のN+1問題。RailsのActiveRecordは便利だが、非効率なデータベースクエリを発生させることもある。そうならないようコーディングするにはどのようにすればいいかを考えるのがこの問題の趣旨。問題は以下のとおりだ。 ○設問 Forkwellの「読んだ・書いた」の一覧ページを高速化しましょう。 読んだ・書いたのページで、それぞれの記事の「読んだよ!」の総数や、記事についたコメントの総数も一緒に表示する、という仕様だったとします。 https://forkwell.com/publications 何も考えずにコードを書いたところ、以下のようになりました。 https://github.com/CodeIQ/forkwell/tree/master/question_1 しかし、このコードだとレコード数が増えれば増えるほど、SQLの発行数が増える、いわゆる『N+1問
「html5j.org」管理人で、HTML5のエバンジェリストとして知られる白石俊平氏が、また新しい試みを始めた。エンジニアにとって関心の高いテーマについて、その最先端で活躍する“カッコいいやつら”とのトークイベント。第0回のテーマは「電子書籍」だ。 イベント名は「(白石俊平と)カッコいいやつら」。プレオープン「第0回」のテーマは「電子書籍時代の寵児たち」だ。この企画はそもそも白石氏が主宰する「読書するエンジニアの会」が発端。このコミュニティの認知度を高めるために、何かイベントをやりたいというのが発端だった。その後、開催に至るまでの経緯については、同会のブログ(http://blog.bookbookbook.jp/2013/04/0.html)に詳しく記載されている。 初回のテーマが「電子書籍時代の寵児たち」となったのは、読書好きのエンジニアたちにとって、電子書籍の現状は当然の関心事だっ
AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be
_ Rails2.0 でセッションストアを CookieStore から MemCacheStore に乗り換える時の注意点 Rails2.0 からデフォルトのセッションストアが CookieStore になりましたが、Cookie 使えないブラウザ(携帯とか)だと当然使えないので、jpmobile プラグインの transit_sid 機能を有効にした上で、MemCacheStore に乗り換えたのです。 で、早速アプリをデプロイして動作確認してみると、以前に一度でも CookieStore のクッキーを喰ったブラウザでアクセスすると、500 Internal Server Error が出るようになった。 Status: 500 Internal Server Error session_id 'ChinkoMankoXhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6
Linux kernel 3.9 のマージウィンドウでは SO_REUSEPORT というソケットオプションがマージされました。 Merge branch 'soreuseport' · c617f39 · torvalds/linux · GitHub これは同一ポートに複数のリスナー(listen ソケット)が bind できるようになるというもので、Webサーバなど単一のポートに多くのコネクションが来るようなワークロードで、複数プロセスでうまく負荷分散ができるようになるそうです。 (これまでだと一人がaccept()してそれぞれの worker に渡すというようなモデルがありましたが、これでは accept() する部分がボトルネックになってしまいがちでした。) BSDでは元々 SO_REUSEPORT オプションはあったようですが、マルチキャスト通信で使うもののようです。Linux
2019-03-28 Python/インスタンス生成 2018-01-02 Python/クロージャ Pythonを読む 2018-01-01 Python/メソッド呼び出し 2017-12-31 Python/build_class後編 2017-12-30 Python/読解対象とするPythonコードと解析方法 2017-12-24 Python/build_class前編(というよりPyTypeObject) 2017-12-07 Python/ビルトインがビルトインされるまで 2017-12-03 Python/C関数実行とPyObject 2017-10-22 Django/テンプレートシステムを読む(レンダリング) Djangoを読む 2017-10-21 Django/テンプレートシステムを読む(テンプレートのパース) 2017-09-24 Django/テンプレートシステ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く