タグ

ブックマーク / tech.a-listers.jp (28)

  • あなたのソフトウェアプロジェクトが破滅する10のサイン

    週末はやはりリストものという事で、古典的なリストを紹介します。このリストはマイクロソフトでもいくつものプロジェクトを手がけていたDare Obasanjo氏による物です。マイクロソフト繋がりなのかジョエルスポルスキー氏の著作でも見られるような考え方に近いですが、かなり普遍的に当てはまるリストになっています。 最初から機能を詰め込みすぎ 不確かな技術に依存している 稼ぎ頭だったり政治的に強い別な社内プロジェクトと競合している 人手が足りない 複雑な問題を複雑な方法で解いている スケジュールの遅れを報告できない スコープが拡大している セカンドシステムシンドローム プロダクトがエンドユーザーに使われる見込みが無い 解決できるかわからない問題がある このサインを感じ取った所で、実際にエンジニアが打てる対策はあまり無いのが難しいところです。いくつかのサインがあるくらいならまだなんとかなるのでしょう

    あなたのソフトウェアプロジェクトが破滅する10のサイン
    lEDfm4UE
    lEDfm4UE 2016/01/07
  • チームプロジェクトが失敗する前にメンバーの合意書を作っておく

    スタートアップのビジネスが成功(または失敗)するにつれて問題となってくる、創業メンバーの利益の取り分や意思決定の方法などを記載したAgreement(合意書)を、5つの質問に回答するだけで作成できるBack of a Napkinというサイトが公開されました。 以下の5つの質問に回答すると必要事項が記載されたPDFファイルがダウンロードでき、あとはメンバーがそれぞれ署名をすればAgreementができあがる、というものです。 チームメンバーの名前 チームが開発しようとするもの(aかanで始まる1文) プロジェクトが利益を生んだ場合の各メンバーの取り分 意思決定の方法(誰かが決定権を持つか、完全に合議制とするか、など) プロジェクトが失敗した時にどうするか(ブランドや成果物の扱い) このサイトがあれば弁護士へ相談する必要がなくなるといった性格のものではありませんが、こういった取り決めなしに複

    チームプロジェクトが失敗する前にメンバーの合意書を作っておく
  • AWSの認証キーを奪われて仮想通貨を採掘される攻撃が発覚

    クラウド環境を悪用した仮想通貨の採掘が密かに行われているようです。今回発覚したのはLuke Chadwick氏のAWSのキーがGitHub上にアップされているのを発見した何者かが、20台ものcc2.8xlargeインスタンスを起動させてBitCoinプロトコルを使った仮想通貨であるlitecoinの採掘を行ったとの事です。 AWSからの警告で気がつき、インスタンスを停止するまでの数日間で利用料金は3000ドルを越えたとの事です。 Litecoinは、世界中の誰に対してもすぐに支払えるP2Pの仮想通貨です。Bitcoinプロトコルに基づいていますが、一般のハードウェアを用いて効率的にデータマイニングできるという点でBitcoinと異なります。Litecoinは素早い取引認証(平均2分半)を実現し、多くの人が所有している一般コンピュータとGPUをターゲットにするメモリーハード、scryptベー

    AWSの認証キーを奪われて仮想通貨を採掘される攻撃が発覚
  • Git SubmoduleのトラブルをGit Subtreeで解決できると知っていますか?

    ライブラリやフレームワークなど、外部のリポジトリで管理されているソースコードをプロジェクトに取り込む際によく使われているgit submoduleを使わないほうが良いという論争が起こっています。それを受けてgit subtreeを使うべきであるというエントリがAtlassianのNicola Paolucci氏がブログに投稿しています。彼はまずgit submoduleを使うべきではないという話題が盛り上がっているという事で3つの記事を参照したあとに、git subtreeを使うべき理由と使用例を挙げています。それによるとgit subtreeを使うべき理由は以下のとおり。 ワークフローがシンプルなので管理が簡単。 古いバージョンのgitもサポートしている。(v1.5.2ですら。) サブプロジェクトのコードがcloneした直後に利用できる。 subtreeはユーザに新しい学習を要求しない。

    Git SubmoduleのトラブルをGit Subtreeで解決できると知っていますか?
  • Hoodie – noBackend実装のJavaScriptフレームワーク

    進化の早いJavaScript界隈に新しいアプローチのフレームワークが登場しました。Jan Lehnardt氏が中心になって開発されているHoodieはフロントエンドとバックエンドを完全に分離する事でそれぞれの開発効率を最大限にするnoBackendの実装の一つです。Hoodieはサーバーサイド用のモジュールとクライアント用のライブラリの2つから成っており、サーバーサイドが起動している状態であればクライアント側からは例えば下記のコードだけでユーザの登録ができます。 hoodie = new Hoodie('http://localhost:6007/_api'); hoodie.account.signUp('joe@example.com', 'secret'); すでに登録されたデータを取得する場合は下記のようになります。 var type = 'task'; hoodie.store

    Hoodie – noBackend実装のJavaScriptフレームワーク
  • OSSのバグを直して賞金がゲットできる Bountysource

    オープンソースソフトウェアの開発だけで生活していくという夢を現実に近づけるサービスが現れました。その名も「BountySource(賞金ソース)」という事で、GitHub上などで公開されているプロジェクトのバグや機能改善に対して賞金が設定され、修正を行った人に支払う仕組みを提供しているサイトです。公式ブログによると、2004年から運営されていたbountysourceは2012年末にリニューアルして、現在のサービスがスタートしたとのことです。 例えばLESSプロジェクトの「ソースマップを生成する」というバグに対しては3人の開発者の修正が採択され、合計で75ドルの賞金が決定されました。また、このBountysourceのサイトのフロントエンド自身の開発もオープンソース化されており、多数の賞金が設定されています。 このサイトは上記のような賞金をベースにしたクラウドソーシング的な側面を持つだけで

    OSSのバグを直して賞金がゲットできる Bountysource
  • ORMがアンチパターンである11の理由

    サンフランシスコのプログラマLaurie Voss氏が書いた見逃せない記事が賑わっています。近年のフレームワークやライブラリの定番中の定番ORマッパーが既にアンチパターンなのではというのが彼の主張です。この記事を書くきっかけになったのはこのツイートだそうです。 I cannot overstate the degree to which ORM is a dangerous antipattern. — Laurie Voss (@seldo) June 9, 2011 ORM が危険なアンチパターンだっていうのはどれだけ言っても言い過ぎることはない このツイートに対して各方面(ActiveRecord, Doctrine, Hibernate)から多くの(激しい)返信が寄せられて書かれたのが問題のエントリです。まずはアンチパターンとは何かの定義として下記の2つを挙げています。 当初は有益

    ORMがアンチパターンである11の理由
  • Stack Overflow発 プログラミングの隠語(ジャーゴン)30選

    お馴染みのCoding Horrorでプログラミングの隠語(ジャーゴン)についての記事が話題です。 このエントリの元になったのはStack Overflow上で行われた「あなたが新しく作ったプログラミングのジャーゴンはなんですか?(New programming jargon you coined?)」という質問です。この質問にはなんと386もの回答が寄せられ、その中でStack Overflowのコミュニティの投票で上位になった30のジャーゴンをリストにして解説したのがCoding Horrorの「Coding Horror: New Programming Jargon」という記事です。 下記がコミュニティによって選ばれたジャーゴンのリストです。 1. Yoda Conditions(ヨーダ条件式) 変数とリテラルを比較する際にリテラルを左辺に置く記述。スターウォーズのヨーダが「The

    Stack Overflow発 プログラミングの隠語(ジャーゴン)30選
  • GitHubの公式YouTubeチャンネルが豊富

    さまざまな機能をリリースし続けているGitHubですが、コンテンツづくりも活発になっています。GitHub公式のYouTubeチャンネルではGitHubの理念を説明するインタビュー動画や、GitHubがサポートする女性向けコミュニティ「Passion Project」のイベントでの講演録画、またさまざまなワークショップやカンファレンスなど多岐に渡ります。 素晴らしくなる為には、失敗をする為の余裕が必要なんだ。それがGitHubが特別な存在になった理由です。 GitGitHubの基を解説する50分のトレーニング GitHubを業務に導入するにあたって解説コンテンツなどがあると、導入を推進する立場の労力も下がりますし、こういった動画を活用してみるのも良いかもしれません。なお、これらの動画には当然日語の字幕などはついていませんが、有志の活躍などによって日語でも楽しめるようになると良いので

    GitHubの公式YouTubeチャンネルが豊富
  • 綺麗な設計を身に付けるためのSandi Metzルール

    Webアプリやモバイルアプリの受託開発やコンサルティングを行うthoughtbot社のブログにて、Sandi MetzルールというRubyプログラマ向けのルールが紹介されていました。 Sandi Metz’ rules for developers このルールは、プログラマーでありPractical Object-Oriented Design in Rubyという書籍も執筆しているSandi MetzさんがRuby Roguesポッドキャストに出演した際に紹介していたものです。 そのルールは以下の通りです。 クラス内のコードが100行を超えてはならない メソッド内のコードが5行を超えてはならない 4つより多い引数をメソッドに渡すようにしてはならない(ハッシュによるオプションもパラメーターとみなす) コントローラーではただ1つのオブジェクトだけをインスタンス変数化できる ビューは1つのイン

    綺麗な設計を身に付けるためのSandi Metzルール
  • 図解で見るスタートアップのはじめかた

    タイトルどおりのインフォグラフィックが興味深いのでご覧ください。いちおう項目を書きだしておきます。 現在よりも未来を生きる 世界に足りないものを考える それやアイデアを書き起こす プロトタイプを作る プロトタイプを100人に見せる プロトタイプを納得行くまで改良する 共同創業者を探す 会社を登記し株式を分割する 資金調達を探しながらバージョン1を開発する ローンチし人々に何かをつくったことを知らせる ユーザにフォローアップを行い反応を見る 反応がなければ改良を行なってローンチする。(airbnbは3回ローンチしている) 反応があれば、ユーザを1000人獲得する 毎週、5%成長する(大変だけど、可能) 4年間、成長を維持する。レートを維持していれば2500万ユーザに到達している 大成功! これなら誰でもスタートアップがはじめられますね!というわけには行かないですが、物事をシンプルに考えてみる

    図解で見るスタートアップのはじめかた
  • 16の言語と57のフレームワークを比較したベンチマークが凄い

    いつの時代もより高速に動作するフレームワークや言語に対する関心は高いものですが、そんな疑問に答えるWeb Framework Benchmarksの最新版が公開されています。こちらのベンチマークはテスト用のコードや環境がオープンソースになっており16の言語(C C# Clojure D Erlang Go Groovy Haskell Java JavaScript Lua Perl PHP Python Ruby Scala)と57のフレームワークについて最適な実装が集められてテストされているという点で一般性があります。また実行環境もEC2と実マシンの2種類をそれぞれ実行している点も興味深いです。 気になるテスト結果のうち特に複雑度の高いデータベースから複数件のデータを取得してHTMLページとして出力した場合の結果は下記のとおりです。 堂々のトップに輝いているのはServletで最大で1

    16の言語と57のフレームワークを比較したベンチマークが凄い
  • 良い仕事は仕事を愛することから始まる

    Engine YardのアプリケーションエンジニアのKevin Hollerさんが自身のブログに投稿した記事がHacker Newsで話題になっていました。記事では彼が14歳の時に始めた地元のパブでのアルバイトを通じて学んだ仕事への姿勢について触れています。バイトを始めた当初は平凡な作業の繰り返しの仕事を稼いだお金で何を買うかを考えたり、時計に注意してシフトが終わったらすぐに帰るという姿勢で乗り切っていたようです。一年後には仕事も覚え、仕事に行く事が一番大変という状況だったようです。そんな中で彼が昼休みに見かけたバーテンダーの仕事ぶりが彼の意識を変えます。 ある日曜の午後、店は殆ど空っぽで私はランチべながらバーテンダー達と話していた。バーテンダのうちの1人はバーを整頓するのに忙しそうで、他のバーテンダーは普通の作業をしたりすることが無さそうだった。私は何故彼が整頓に忙しいのかを尋ねると

    良い仕事は仕事を愛することから始まる
  • Facebookが開発したPHPを超高速で実行する仮想マシン HipHop VM

    FacebookがPHPをさらに高速に実行する技術について2012年11月に公開した記事が話題になっています。Facebookはサービスを高速に実行する為にPHPで書かれたスクリプトをC++に変換して実行する技術、HipHop(HPHPc)を開発して利用してきました。CPUの使用量を半分程度に抑えることができるこの技術は大きな注目を集めていました。 一方でHipHopはPHPのソースコードをコンパイルして実行するというステップが必要な事から開発から実行までの手順が増えてしまうという面もありました。この欠点を補うべく、実行時に変換を行なって実行するアプローチを模索していたのがHipHop VM(HHVM)です。この記事によると、このHHVMがついにHPHPcを上回るパフォーマンスを達成したとのことです。 sandboxと呼ばれる開発環境ではインタプリタとして実行可能なHipHop (HPHP

    Facebookが開発したPHPを超高速で実行する仮想マシン HipHop VM
  • C言語より高速なJavaScriptによるバイナリ操作が話題

    JavaScriptなどのスクリプト言語は動作が遅く、最適なパフォーマンスを得るにはC/C++で実装しなければならないという常識に挑んだ先進的な講演が話題になっています。この話題の発端は2012年10月7日から10月8日までベルリンで開催されたJSConf.euでFelix Geisendörfer氏が行った講演です。 彼の講演の題材はnode.jsからMySQLに接続する為のバインディングのパフォーマンスに着目しています。2010年当時、node.jsにはMySQLのバインディングが存在しておらず、増井さん作のnode-mysqlモジュールが開発中の状態でした。このモジュールはJavaScriptでバイナリを解析しておりJavaScriptのみで開発されていました。この状況を受けてFelix氏が新たにnode-mysqlモジュールを新規に開発を始めました。このモジュールもJavaScri

    C言語より高速なJavaScriptによるバイナリ操作が話題
  • 新時代に突入したPHPのフレームワーク戦争

    2012年9月、PHPのフレームワーク戦争は新たな局面に突入した事が明確になってきました。PHPフレームワーク、Symfonyプロジェクトの創始者であるFabien Potencier氏のブログ記事がPHPフレームワーク界で話題です。 オブジェクト指向を格的にサポートしたPHP5とRailsが与えたインスピレーションから始まった2005年頃からはsymfonyやZend Framework、CakePHP、CodeIgnitierなどのフレームワークを生み出しました。その後、名前空間をサポートしたPHP5.3がリリースされるとコードの抜的な構造などを見なおした次世代フレームワークが次々に登場します。冒頭のFabien氏の記事では2012年9月6日にZendFramework 2.0とSymfony2.1が奇しくも同日にリリースされました。Fabien氏はZendFrameworkのリリ

    新時代に突入したPHPのフレームワーク戦争
  • 37signalsはベータサーバーを本番環境のデータベースに接続している

    David Heinemeier Hansson氏(Railsの開発者。以下DHH)が37signalsのブログに公開したRunning beta in productionというエントリによると、同社ではBasecampの開発に使われる6つのベータサーバーがすべて単一の番環境のデータベースを参照して動いているそうです。 DHH氏曰く、「自分がいいアイデアだと思ったものが当にそうなのかを知るには、実際のデータを対象に自分たちが日々使ってみることが必要」とのこと。 Basecampでは新機能や改良の開発、技術的なアップグレードなどを継続的に行なっており、そのために同一の番環境のデータベースを参照する6個の異なるベータサーバーが運用されています。通常、開発中の機能は開発用のデータベースと共に運用するのがセオリーだと思いますが、DHH氏は「実際の重要なデータとともに不満を感じながら使わない

    37signalsはベータサーバーを本番環境のデータベースに接続している
  • Online-to-offline 分野で生き残るのは誰か?

    オンラインスタートアップの今後のトレンドという意味で非常に面白い記事を読んだので紹介します。 Who Will Win the Fast Growing Online-to-Offline Sector? ローカルで行われる取引を web につなげる、というサービスが今日の web 経済で最も成長の早い分野として急浮上している。消費者が(毎日の生活で使う)サービスを見つける/支払う方法を変え、現実に存在する数百億円規模の地方経済に入り込もうという、Online-to-offline 分野のスタートアップの話を聞かない日はない。今日、車を洗う、タクシーを呼ぶ、家事手伝い、宿泊先を探すといったオンラインのマーケットプレイスがある。各スタートアップは自らのやり方で web と現実世界をつなげている。私はこの数年この分野を綿密に眺めてきて、いくつかの長期的な成功を導く要素をあげてみたい。 続けて以

    Online-to-offline 分野で生き残るのは誰か?
  • GitHub スピードの秘訣

    みんな大好き GitHub のスタッフ blog で『Github は如何にして速いままでいられるか』という記事が出ていました。内製のツールなどが screenshot 付きで紹介されています。 How we keep GitHub fast しかしツールの見栄えの良さにちょっとくらくらしますね。Web な startup だとよくありがちな Staff モードの SQL query log や、call graph。Graphite や statsd を使ったグラフを大型モニタに映し出すのがNew York の startup では流行って(いるような気がし)ますが、ここまでビジュアル的によく出来たものは見たことがないです。 Etsy の performance dashboard 結論としてはまとまっていませんが、一言でいえば『メトリックス大事』ということでしょうか。皆さんの会社では、

    GitHub スピードの秘訣
  • Appceleratorの開発者が語るTitaniumとPhoneGapの比較 « A-Listers

    iOSとAndroidのクロスプラットフォームなアプリケーションをする際に使われるTitanium MobileとPhone GapをTitaniumの開発元、Appceleratorの開発者Kevin Whinnery氏が比較した記事が話題になっていました。 Kevin氏は「上空1万フィートから見ればTitaniumとPhone Gapは似ているように見える。どちらもクロスプラットフォームでJavaScriptとWebの技術を要求し、オープンソースライセンスを採用している。しかし似ている所はそれぐらいしかない。どちらも思想や問題を達成する為のアプローチは異なっている」という書き出しで二つのプラットフォームがかなり異なっている事を強調した上でいくつかのポイントを比較しています。 Phone Gapについて 実現する事 HTMLベースのWebアプリケーションをネイティブアプリとして配布、イン

    Appceleratorの開発者が語るTitaniumとPhoneGapの比較 « A-Listers