勉強会資料
伊藤直也氏が語る、モダンなWebテクノロジーに共通する傾向とは?(前編) Chef、Docker、MicroservicesからReact、FRPまで。QCon TOkyo 2015 最新のITと関連技術をエンジニアの視点で掘り下げるイベント「QCon Tokyo 2015 Conference」が4月21日に都内で開催されました。 そのセッションの1つとしてKAIZEN platform Inc.の伊藤直也氏が行ったのが、「モダンWebシステム開発」と題して、最近のWebアプリケーションに関する技術に共通する傾向を探った講演です。 ChefやPuppetなどによるInfrastructre as CodeからImmutable Infrastructureなどのインフラ周りからReactなどのフロントエンドにまで共通する考え方とは何か、示唆に富むその内容をダイジェストで紹介します。 モダ
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
継続的デリバリを導入しようとする前に、いくつかの準備が必要です。真っ先に必要なのは、ビルドサーバに合うソースコード管理システムです。ビルドサーバは継続的統合を実施するサーバにもなります。ひとつひとつのチェックインをビルドできるサーバでなければなりません。一般的に言って、この用途では“既成”のビルドサーバが欲しくなります。チェックインを監視して、自動でビルドをする仕組みを構築するのは、想像以上に大変です。利用しているソースコード管理システムにフックできるトリガがあるとしても、ビルド失敗時の通知機能のような他の機能を実装するには割に合いません。 リソースが限られているとしても、継続的デリバリにとってステージングサーバは重要です。ステージングサーバは本運用環境に可能な限り似せておく必要があります。ここで第一の問題は“予算がいくらあるか”ということです。本運用環境のデータベースサーバがとても高価な
どこでも何回も何十回も言われているが、システムを経営の変化に対応させるにはある程度のシステムの開発を内製化すべきである、という論調が強い。この問題は、古くて新しい問題であり、と同時におそらく、いままでとは違うコンテクストで語られることになるような気がしている。ここ10数年の流れを見れば、内製化の議論はアウトソーシングの流れとそのより戻りの反復運動の繰り返しだといっていても過言ではなかったと思う。近年はむしろ、SI屋さんの全体的な弱体(特に技能として)化とクラウド等によるインフラの導入しやすさと相まって別の背景で語られることが多くなってきている。また、見逃せない背景としては、そもそもの就労可能若年層の減少と、若年層の総体数減少による能力のばらつきの顕在化も強くあげられる。特にシステム開発の供給サイドの問題は、エンドユーザーの内製化の議論においては、今までのコンテクストでは語られることがなかっ
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
Visual Studio Users Community Japan #1 で発表した資料になります。 https://vsuc.connpass.com/event/143114/
機能要件の合意形成技法WG の成果として、「発注者ビューガイドライン」 (2008年7月に公開)を改訂し「機能要件の合意形成ガイド」を公開します。 開発者が設計書を記述することのみではなく、発注者と開発者がシステム像をいかに共有し、行き違いなく合意形成を行うかに注目して、有効と思われる事柄を「コツ」としてまとめました。 「発注者ビューガイドライン」では画面、システム振舞い、データモデルの3つの技術領域、187のコツを掲載していましたが、「機能要件の合意形成ガイド」では、外部インタフェース、バッチ、帳票の3つの技術領域を追加するとともに、発注者視点のコツも充実させ、278のコツを掲載しました。 なお、初めて利用される方は、概要編を読んでいただくことをおすすめします。
このところ海外のIT系の記事で「DevOps」という言葉を見る機会が増えてきました。スペルからすると、開発=Developmentと、運用=Operationを組み合わせた言葉らしい、という程度の認識でしたが、どうやらアジャイル開発やソフトウェアの品質にかかわる新たなムーブメントとして認識しなければならないかも、と感じはじめています。 そこで「DevOps」とは何か? について調べてみました。 DevOpsとは開発と運用が協力し、ビジネスリスクを軽減する まずはWikipediaの「DevOps」の項目から冒頭の部分を読んでみましょう(2011年3月8日現在の記述)。 DevOps is a set of processes, methods and systems for communication, collaboration and integration between depar
メモメモ。他にあれば、ぜひおしえてください。 ソースコード中の改変コメント("// add 2011.02.03 katzchang start"等)は不要です。 元のソースコードのコメントアウトは不要です。必要ないコードはそのまま削除してください。 ifなどのブロック("{ ... }")の追加や削除の場合、ブロック中のソースコードに改変がないとしても、インデントを適切に増減させてください。 Javadoc コメントを記述する場合、定義と矛盾がないようにしてください。メソッドコメントの @param が特に矛盾しやすいようです。setter/getterのように自明であれば、省略しても結構です。 Javadoc以外で、ブロックコメント("/* ... */")は使わないでください。 SCMで適切に管理されていることが前提です。 追記 あぁ、大事なことを忘れていた。 VSSで管理しないでく
えーと、どんな因果か、レビューされる側よりもする側になることが多くなってしまった。 対象となる生産物の欠点を指摘することは、レビューの大事な役割の一つであるとされている。だが、レビュアーとして一番怖いのは、間違った指摘や無意味な指摘をしてしまうことだったりする。そう、レビュアーもまた間違いを犯すんだよ。恐ろしいことに。 そこで有効なのが、"Don't Tell, Ask."「求めよ、命じるな」の原則。 レビュー対象物の「至らなさそうな点」に対して、なぜそこはそうなっているのかについて答えるよう求める。自分がより良いアイデアを持っていれば、それを伝え、どちらが優れているか判断を求める。「ここは、こうしてよ」のような命令(出す側は「アドバイス」と呼ぶ)は出さない。だって、レビュアーの意見の方が優れている保証なんて、何もないんだからね。 そもそもレビューをするのは、そのアドバイスに黙って従う初級
統計や実証を通してソフトウェア工学を研究していく、それが「エンピリカルソフトウェア工学」(Empirical Software Engineering、実証的ソフトウェア工学)です。「第一回エンピリカルソフトウェア工学研究会」が、12月10日に都内で開催されました。 基調講演では、マイクロソフトリサーチで研究をしているDr. Thomas Zimmermann氏が登壇。開発組織の構造がソフトウェアにどう影響するのか、バグ報告書やバグ報告者と修正されるバグの優先順位の関係、そしてエンピリカルソフトウェア工学という「データ指向のソフトウェア工学」を、どのようにソフトウェア開発における意志決定に役立ていくのか、といった内容の講演でした。 開発組織の構造がソフトウェア品質に及ぼす影響は? マイクロソフトリサーチのDr. Thomas Zimmermann氏。 今日はいくつかのテーマについて紹介した
設計の終焉? (原題: Is Design Dead?) マーチン・ファウラー チーフサイエンティスト , ThoughtWorks エクストリーム・プログラミング(XP) をかじってみて、多くの人がこう感じ ただろう。XP は「ソフトウェア設計など消え失せろ」と言っているのではな いか、と。というのも XP では、多くの設計作業が 「料金前払いのデカい設 計("Big Up Front Design"」などとからかわれているばかりか、UML、柔軟な フレームワーク、そしてパターンまでもを含む設計技法が、ぞんざいな扱い を受けているか、完全に無視されているからだ。 実際には、XP にもたくさんの設計作業が含まれている。しかしそれを、既存 の設計プロセスとは違うやり方で行っているのだ。「進化的設計」という考え 方がある。XP はこの考え方を、「進化」を実行可能な設計戦略へとに変換す るプラク
「たがねは買ってやった。なのに、どうしてミケランジェロになれないんだ?」すぐに生産性を高めようと必死の組織では、そんな問いかけが聞こえてくるが、そうした組織にかぎって、能力よりも給料の安さで人材を雇う。ミケランジェロ組織にはかならずと言っていいほど、買ったきり積まれたままのツールの山がある。 ツールが便利なことは言うまでもない。適切な使い手に渡れば、すばらしく生産性を高め、ツールがなければできなかったことを成し遂げられる。しかし、ツールの作り手も言っているはずだが、使いこなすためのスキルがあることが必須条件である。たがねは、ミケランジェロが手にとらなければ、へりの鋭い金属片にすぎない。 「基礎教育」でも書きましたが、スキルを向上させることを中心としてソフトウェア開発を行ってきた場合には、コードの品質を測定したり、バグを発見するような静的解析ツールの導入は、必ずしも必要ではありませんでした。
最近はアーキテクトという役割で客先に常駐し、フレームワークの選定をしたり、事前に共通部品を設計したりする役割を担う仕事を引き受けることが結構あります。そこで運よくお客様のマネージャーがオブジェクト指向開発の経験が十分にある方だと、IDEなどの開発環境やインターネット接続環境を当然のように用意してくれるので最初から仕事がスムーズにできるのですが、そうでないとMS Officeしか入っていないロースペックのノートPCを渡されて、要件定義フェーズの期間中、フレームワークの設計をお願いしますとか、私としてはちょっと首をかしげてしまうような困ったことを言われてしまう場合があります。開発フェーズが始まる半年後まではコーディングは基本的に不要という考え方です。アプリケーションのアーキテクトという役割では少なくともコーディング規約を考えたり、ツールやフレームワークの選定をしたりする必要がありますし、プロジ
「コードの読まれ方が分かった」、工数見積もり精度向上に寄与:奈良先端科学技術大学院大学 森崎修司氏らが発表 「ソースコードの読まれ方の傾向がまた1つ明らかになった。これで派生開発、保守開発の工数見積もりの精度が向上する」――奈良先端科学技術大学院大学 森崎修司助教らの研究グループは、2009年9月~11月にかけて行ったソースコードリーディングのオンライン・ハンズオン、2010年1月、2月に行ったイベント「ソースコードリーディングワークショップ」、ほか3回におけるハンズオンの分析結果を発表した。 総計126人に、保守/派生開発プロジェクトを模した形式で複数のソースコードを読んでもらい、それぞれにかかった時間を計測、分析したところ、「ソースコードの読解時間はソースコードの行数だけで予測することは難しい」「大規模な変更の場合、コードレビューの経験があるとソースコードの読解時間を短縮できる」ことな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く