並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 411件

新着順 人気順

大規模開発の検索結果81 - 120 件 / 411件

  • Facebookが大規模スケーラビリティへの挑戦で学んだこと(前編)~800億枚の写真データとPHPのスケーラビリティ問題

    Facebookが大規模スケーラビリティへの挑戦で学んだこと(前編)~800億枚の写真データとPHPのスケーラビリティ問題 全世界で3億人を超える会員を抱え、世界最大のSNSとなったFacebook。同社の巨大なシステムは、3つのデータセンターにある約3万台のサーバと、PHP、C++、Memcache、MySQLなどのソフトウェア群によって支えられています(同社のデータセンターの巨大さは、記事「3億のユーザーを抱えるFacebookのデータセンター。移動は自転車、希望は100Gbイーサネット 」を参照)。 同社の技術担当バイスプレジデント Jeff Rothschild氏は、Facebookが実現している大規模なスケーラビリティを、いかにしてこれらのソフトウェアで実現しているのか、10月8日に米カリフォルニア大学サンディエゴ校で行ったセミナー「High Performance at Mas

      Facebookが大規模スケーラビリティへの挑戦で学んだこと(前編)~800億枚の写真データとPHPのスケーラビリティ問題
    • Google 工藤拓さん講演「大規模ソフトウェア開発を支えるGoogleのテクノロジー」

      NAISTにてMeCabの作者としても有名な工藤拓さんの講演が行われました。Googleの開発体制とそれを支えるツールのお話です。 学校と拓さんの双方からブログへの掲載許可が得られたので、まとめを公開します。この講義はNAISTのソフトウェア開発管理講義の一環です。 iPhoneカメラしかなかったので、画像が荒くて済みません・・・。 会場は大入り! 工藤拓さん NAIST自然言語処理学講座出身 Googleに入社してから大規模開発やインフラを経験 MeCabを開発 NTTコミュニケーション科学基礎研究所に所属 その後Googleへ 研究より開発寄り Googleでの仕事 日本語のウェブ検索 「もしかして」機能 ダジャレサーチ エイプリルフールネタを1ヶ月かけて実装 何千人もの開発者が単一のソースコードリポジトリの上で開発を行っている 大規模開発をサポートするインフラが不可欠 Mondria

        Google 工藤拓さん講演「大規模ソフトウェア開発を支えるGoogleのテクノロジー」
      • Python 製 Web フレームワークを Flask から FastAPI に変えた話|NAVITIME_Tech

        こんにちは、けんにぃです。ナビタイムジャパンで公共交通の時刻表を使ったサービス開発やリリースフローの改善を担当しています。 今回は Python 製の Web フレームワークとして FastAPI を導入した話をしようと思います。 Python 製の Web フレームワークPython には代表的な Web フレームワークが 2 つあります。 ・Django: フルスタックフレームワーク ・Flask: マイクロフレームワーク Django は大規模開発向け、Flask は小中規模開発向けと言われますが、今回開発したサーバは小規模なサーバだったため、以前は Flask で開発していました。 しかし、どちらのフレームワークを使う場合でも下記のような機能を使おうとするとプラグインやサードパーティの助けを借りる必要があります。 ・OpenAPI ・JSON Schema ・GraphQL ・We

          Python 製 Web フレームワークを Flask から FastAPI に変えた話|NAVITIME_Tech
        • 大規模スクラムの失敗から学んだこと #AgileJapan2015

          レガシーコード改善勉強会 in Yahoo Japan 2014.09.27 プロジェクトに対する方法論構築と、タスクマネジメントについての紹介 後半はMikado Methodの簡易紹介です。

            大規模スクラムの失敗から学んだこと #AgileJapan2015
          • Facebook、memcachedに300TB以上のライブデータを置く大規模運用の内側

            クラウドのように大規模なシステムでは、ソフトウェアの開発と同等以上に、大規模運用の巧拙が、システム全体の成功を大きく左右します。 6月22日から、米サンタクララで行われていたWebサイトのパフォーマンスと運用に関するオライリーのイベント「Velocity 2010」で、FacebookのTechnical Operations teamを担当するTom Cook氏が「A Day in the Life of Facebook Operations」(Facebook運用のある1日)と題したセッションで、Facebookがふだんどのような運用を行っているか、紹介しています。 世界でトップクラスの大規模サイトが、普段どのようなツールを用い、どのような方法で運用しているのか、セッションの内容を紹介しましょう。 6年で4億アクティブユーザー、3カ所のデータセンター Tom Cook氏。Facebo

              Facebook、memcachedに300TB以上のライブデータを置く大規模運用の内側
            • ハタさんのブログ : Javascriptによる大規模開発の覚え書き。高速化編

              前回書いた「Javascriptによる大規模開発の覚え書き」が凄いことになってました。 今回は、省略した「5.高速化せよ」について書きます。 僕にとってjavascriptは非常に高速な言語です。それは何が高速か 開発速度が高速である 開発速度、及びそこに至るまでの修得速度はとても高速です。動的言語を上手く操る開発者はもちろん、開発に不慣れな(言葉が悪いけど)新人達でさえ「動く」モノをサクっと作ってしまえる。 また、プラットフォーム(? というかブラウザ)が広く普及しているので、ググればスグに問題解決もできる。 それにローカルで簡単に作れる。javascript、それは動作環境を含めて高速です。 高速にUI操作ができる(UI操作が非常に簡単である) swingとかでUI操作をするには多くのオブジェクト操作をしなければならないけど、javascript(もといDHTML)は非常に簡単に

              • Facebookが新サービスの基盤にしたのは、MySQLでもCassandraでもなく、HBaseだった

                Facebookが15日に発表した新しいサービス「Facebook Messages」は、チャットやつぶやき、そして電子メールなど、自分宛のテキストやメッセージをすべて1つのインボックスで管理できると発表されました。 同社が15カ月かけて開発してきたこの新サービスのバックエンドデータベースは、これまで同社が大規模運用してきたMySQLでも、同社が開発したNoSQLデータベースのCassandraでもなく、グーグルのBigTableをモデルとしてオープンソースで開発された分散データベース「HBase」でした。 Facebookのソフトウェアエンジニア、Kannan Muthukkaruppan氏がFacebookにポストした記事「The Underlying Technology of Messages」で、その技術的背景が紹介されています。 MySQLとCassandraが落選した理由 H

                  Facebookが新サービスの基盤にしたのは、MySQLでもCassandraでもなく、HBaseだった
                • なぜ西アフリカ諸国は奴隷貿易に加担したか - 歴ログ -世界史専門ブログ-

                  奴隷貿易という究極の焼畑産業 今回はダークなテーマ「奴隷貿易」についてです。 奴隷貿易自体は古代から世界中のあらゆる地域で存在しましたが、それを主産業に据え、強力に推進したのは15世紀以降の西アフリカ諸王国でした。 彼らは近隣の王国に攻め入っては住民を引っ捕らえ、イギリスやスペイン、フランスに売却して武器などを買い取り、それを元にさらに奴隷獲得戦争に邁進していました。 売られた奴隷たちは南北アメリカ大陸に搬送され、プランテーション農園で働かされました。 西アフリカ諸王国は自分の肉を切って食うような行為を繰り返して栄えた挙げ句、結局列強に国を滅ぼされています。 彼らはなぜそのような、「究極の焼畑産業」に没頭したのでしょうか。 1. アフリカの伝統的な奴隷貿易 時代や地域によって異なる奴隷の概念 「奴隷のようにこき使われる」といった表現があるように、我々が「奴隷」という言葉を聞くと、 自分の意

                    なぜ西アフリカ諸国は奴隷貿易に加担したか - 歴ログ -世界史専門ブログ-
                  • 2013年Rubyの話題を一挙に振り返るまとめ | Engine Yard Blog JP

                    Chef、 PHPにつづき、Rubyの今年2013年を今年人気を集めた記事をテーマ別にまとめました。はてなブックマークの数と一緒に振り返っていきます。今年の2月24日にRuby20周年を迎え、ruby-2.0.0がリリースされました。他にもRails4のリリース、RubyKaigiの再開など多くのトピックがありました。 目次 Ruby20周年!そしてruby-2.0.0, ruby-2.1.0のリリース 言語実装への興味、ガベージコレクションほか Rubyのひろがり Rails4のリリースとRailsの成熟 テスト、CI 開発環境、手法、デザイン チュートリアル、Ruby, Railsを始める Ruby 話題の本 作りました! 新しいライブラリ ログ・マネージメント fluentd Tips! コーディング クライアントサイドとバックエンド Rubyを取り巻く環境、組織 TwitterがR

                    • 巨大な(あるいは、汚くて邪悪な)コードの泳ぎ方 - mizchi's blog

                      ロンドンへの飛行機(11時間)で暇だったから書いた文章。 自分でゼロからすべてのコードを書けるときはテストファーストでいいけど、アンドキュメントな実験的なライブラリを利用する際や、巨大なプロジェクトの一部としてコードを書く際は、テストファーストよりもとにかくコードを書きまくって挙動の変化を確かめるほうが有用な時がある。 まあ多分どっかでこういうのはハウツー化してあるんだろうけど、自分ルールが固まってきたので、メモっておく。 目的を設定する トップダウンに読むには、コスパが悪いことが多い。とにかく「アレする」「コレする」という目的を定義して、そのためにその周辺領域からボトムアップに読むことにしよう。 エンドポイントを追う 巨大なプロジェクトに放り込まれた最初の段階では、エンジニアは本当に無力だ。 最初にやることは、自分が処理を挟むべき位置を見つけることだろう。 まずはファイル名や関数名を読ん

                        巨大な(あるいは、汚くて邪悪な)コードの泳ぎ方 - mizchi's blog
                      • ssh上でマウススクロールも使える大規模PHP開発向けvim+tmux環境の構築 - sifue's blog

                        全体で数百万行、1ファイル1万行超のPHPファイルも一秒以内で開き、開発していくことのできる大規模開発向けのvim+tmux環境を紹介しようと思います。この設定この環境で半年ぐらい安定して利用できています。(無論そんな1万行あるファイルや数千行で複雑性循環度500超のメソッド作るなよという話もあるんですが、すでに存在する魔獣とは向き合わなければならないのです...) なので数百万行レベルの大規模開発となると重すぎて使えない設定やプラグインもあります。そのようなものはきちんと外してあります(PHPの関数折りたたみ機能、デフォルトのPHPシンタクスハイライト、neocomplcache.vim、ツリーの構成に時間のかかるproject.vimなど)。 基本的にはターミナルエミュレーターとして、macならばiTerm2、windowsならばTeraTermまたはPuttyを利用することを想定して

                          ssh上でマウススクロールも使える大規模PHP開発向けvim+tmux環境の構築 - sifue's blog
                        • ドメイン駆動設計入門 - Digital Romanticism

                          "Beautiful Develpment"(10/27 DevLOVE)の講演資料と原稿 はじめに 本日(10/27)、DevLOVE様主催で、"Beautiful Develoment"と題されたイベントが開催されました。これは「ドメイン駆動設計("DDD:Domain-Driven Design")」を題材に、入門から実践までを語り尽くすというコンセプトのものです。このイベントにおける講演のトップバッターとして、ドメイン駆動設計の根底にある基本的な考え方についてお話しさせて頂きましたので、講演資料と原稿を公開いたします*1。 スライドはこちら アジェンダは以下の通りです。 導入 オブジェクトとは? モデルとは? ドメイン駆動設計とは? まずは、ドメイン駆動設計のベースとなっている、「オブジェクト指向」や「モデル」について整理した上で、実際にドメイン駆動設計とはどういうものかを見ていき

                            ドメイン駆動設計入門 - Digital Romanticism
                          • キャリア1年未満だった僕が、社内にGitの運用を布教するために読みあさったもの ( +ちょ〜簡単に各Gitの運用方法のメリット・デメリット ) - Qiita

                            キャリア1年未満だった僕が、社内にGitの運用を布教するために読みあさったもの ( +ちょ〜簡単に各Gitの運用方法のメリット・デメリット )Gitgit-flowforkteamGithub-flow いろいろな方々とお話していると、「Gitでバージョン管理をしてみたい!」というような意見を多く聞きます。(Qiitaユーザーは「すでに使ってるよヽ(´ー`)ノ」という方が多いとは思いますが…) 今回は、キャリア1年未満の時にgitの社内での運用についていろいろと制定していた際に、勉強した記事(+α)などを紹介したいと思います。 読んでほしい方 gitをチームでこれから導入しようとしている方 とりあえずgitを使ってみて、突っ走ってしまい、意味の分からないブランチが乱立したりして、運用に困っている方 新入社員の方など、バージョン管理って何なんだろうと思っている方 そもそもGitとは?基本的な

                              キャリア1年未満だった僕が、社内にGitの運用を布教するために読みあさったもの ( +ちょ〜簡単に各Gitの運用方法のメリット・デメリット ) - Qiita
                            • モダンな言語でHTML5を開発しよう! 俯瞰して理解するaltJSの比較 (前篇 – TypeScript, CoffeeScript, Haxe)

                              ※いずれの言語もマルチプラットフォームであり、Windows, Mac OS Xともにどちらでも利用することができます。 比較対象のサンプル サンプルとしてシンプルなスライドショーのWebコンテンツを用意しています。それぞれの言語でどのように記述して実装するのか、また生成されたJavaScriptがどのようなものであるか確認していきましょう。このサンプルでは言語の特性を紹介するために、実用的な要素として「クラス構造の利用」「既存JSライブラリの利用」「ユーザー操作」を含めています。 デモを開く 「Change Photo」ボタンをクリックすると写真が切り替わります。CSS3の3D TransformsをjQueryを用いて制御します(確認の際には、CSS3の3D Transformsが利用できるブラウザをご利用下さい) 概要 TypeScriptはマイクロソフトが開発するオープンソースの言

                                モダンな言語でHTML5を開発しよう! 俯瞰して理解するaltJSの比較 (前篇 – TypeScript, CoffeeScript, Haxe)
                              • 幸せなエンジニアになるための仕事術/まつもとゆきひろ&平鍋健児 - tmtms のメモ

                                幸せ 平鍋: 1. 技術的な困難を達成。 2. お客様に感謝された。 最初は1だったけど最近は2。 まつもと: 理不尽な目に合わないこと。 思うようにツールが動かない→自分でつくる。 OSSは自分で手を入れられる。 平鍋: 自分一人の幸せじゃない。 プロジェクトが終わっても続く人間関係。 人のつながり。信頼。 まつもと: 通勤が3時間。理不尽→地方。 納得行かない変更が顧客から言われたくない 平鍋: エンジニアで不幸せな人へ。仕事は選べる。極端なこと言えば辞めればいい。 ワークライフ・バランス実現の戦略(例:地方に住むこと) 平鍋: 1995.子供を育てられるかを考えたときに自分の中での都会の価値がさがってきた。 田舎に帰ってから、世界のことを考えた。JUDE,アジャイルをやり始めた。 まつもと: 鳥取→つくば→島根 1997. OSSビジネスを始めようと声をかけてもらって島根へ。 理不尽

                                  幸せなエンジニアになるための仕事術/まつもとゆきひろ&平鍋健児 - tmtms のメモ
                                • 継続的インテグレーションを始めるための基礎知識

                                  継続的インテグレーションを始めるための基礎知識:グリーはいかにしてJenkinsを導入したのか(1)(1/2 ページ) 本連載では、グリーのサービス開発において導入している継続的インテグレーション(Continuous Integration、以下、CI)と、CIツールであるJenkinsの導入について3回に分けて説明します。Jenkinsのインストールといった“手順”よりも、CI導入の“モチベーション”や“進め方のポイント”を中心に説明します。 グリーの開発と継続的インテグレーション SNSやソーシャルゲームなどを運営するグリーでは、数百名の技術者が日々さまざまな機能やサービスを開発し、リリースしています。このような規模、リリース頻度での開発を支えるには数多くの工夫や仕組みが必要です。この中でも最も大きな仕組みの1つにCIが挙げられます。 グリーでは、開発にCIを本格的に導入し始めたのは

                                    継続的インテグレーションを始めるための基礎知識
                                  • 「クラウド基盤から作りました」――はてなチーフエンジニアとid:TAKESAKOが聞く「cybozu.com」 - はてなニュース

                                    「サイボウズ Office」「Garoon」などグループウェア製品を開発しているサイボウズが、クラウドサービス「cybozu.com」をリリースしました。日本企業に安心して使ってもらうための盤石のセキュリティ体制や、クラウドならではの使いやすさが特長だそうです。その正体を探るべく、はてなチーフエンジニアの大西が話を聞きました。サイボウズ・ラボの竹迫良範氏も、おなじみのレッドブルを抱えて参戦。記事の終わりにはプレゼントのお知らせもあります。 (※この記事はサイボウズ株式会社提供によるPR記事です。) サイボウズのクラウド基盤サイト 大西 はてなの大西です。今日はサイボウズさんの新しいクラウド製品「cybozu.com」についてお話が聞けるということで、京都からやってきました。さて、竹迫さん、またですね……。 今回もレッドブル 竹迫 サイボウズ・ラボの竹迫です。本日も前回▼同様、レッドブル▼を

                                      「クラウド基盤から作りました」――はてなチーフエンジニアとid:TAKESAKOが聞く「cybozu.com」 - はてなニュース
                                    • テンプレートエンジンのくせに最近のPHPはオブジェクト志向やらDIやらイキり始めた件 - JavaScriptをがんばるブログ

                                      ※2017/05/29現在Repositoryの章までしか聞けていません。聞いている際に浮かんだインスピレーションが揮発しないよう永続化する為に書いた記事です。 php-genba.shin1x1.com まさか日本語でこの内容を聞けるコンテンツがあるとは思わなかったです。 これは英語をマスターすれば Sound of Symfony The Laravel Podcast Ruby on Rails Podcast JavaScript Air devchat.tv などのPodcastからより多くの興奮を得られる事を意味します。 プログラミング経験3年、細かい修正ばかりで設計レベルの経験値が全くない自分ですが、各章について以前から個人的に思っていた事、お三方の知見からインスピレーションを得た内容を書き残します。 1. DI 「依存性の注入(Dependency Injection)」と

                                        テンプレートエンジンのくせに最近のPHPはオブジェクト志向やらDIやらイキり始めた件 - JavaScriptをがんばるブログ
                                      • TypeScript誕生の背景 | TypeScript入門『サバイバルTypeScript』

                                        TypeScriptは、JavaScriptでも大規模なアプリケーションを開発しやすくすることを目的に開発されたプログラミング言語です。 確かにJavaScriptは元々、大規模な開発を想定した設計ではありませんでした。それでも、JavaScript自体が進化して、大規模開発に対応してゆけば良かったはずです。しかし、実際はそううまくは行きませんでした。代わりに、大規模開発の一部はTypeScriptが引き受けることになったのです。 なぜ、そうなったのでしょうか?その答えはJavaScriptの歴史にあります。TypeScriptが必要な発明で、そして、今もなお必要とされている理由が見えてきます。それでは、TypeScript誕生以前の歴史をひも解いていきましょう。 1990年代​JavaScriptの誕生​JavaScript誕生以前は、簡単なフォームのバリデーションをするのも、サーバーサ

                                          TypeScript誕生の背景 | TypeScript入門『サバイバルTypeScript』
                                        • 結局のところ「Minecraft」とは何だったのか? 数々の常識を打ち破ったモンスタータイトルが指し示す,ゲームのこれまでとこれから

                                          結局のところ「Minecraft」とは何だったのか? 数々の常識を打ち破ったモンスタータイトルが指し示す,ゲームのこれまでとこれから ライター:徳岡正肇 PCゲームに興味のある人なら――そして,もしかしたらPCでゲームを遊んでいない人でも――誰でも知っているメジャータイトル,それが「Minecraft」だ。Mojangというちょっと聞き慣れない会社から発売されているこの作品は,PC版,Xbox 360版,モバイル版(iOS/Android)ともに1000万本オーバーの販売数を誇っており,これだけを見ても,なまじなビッグタイトルでは太刀打ちできない。 最初の開発版が公開されたのが2009年,しかも日本でも大きなムーブメントを生み出している作品に対して若干,今さら感も漂うものの,Minecraftの概要を改めて紹介しつつ,「ゲームのこれまでとこれから」を重ねて見ていくことにしよう。 「Mine

                                            結局のところ「Minecraft」とは何だったのか? 数々の常識を打ち破ったモンスタータイトルが指し示す,ゲームのこれまでとこれから
                                          • セガが取り組んだ「ゲーム開発のプロセス改善策」

                                            家庭用ゲーム機の劇的な進化がゲーム開発をより困難にしている? 1983年に任天堂の「ファミリーコンピュータ」が登場し、社会現象を巻き起こしてから約26年。家庭用ゲーム機は飛躍的に進化を遂げ、現在の最新機であるソニーの「プレイステーション 3」(以下、PS3)、マイクロソフトの「Xbox 360」などでは、CGを駆使してまるで実写のようなリアルな映像が楽しめるゲームタイトルが次々と生み出されている。 こうした家庭用ゲーム機の進化に伴い、ゲームソフトの開発を手掛けるメーカーにとっては「より高品質なゲームタイトルを、より短納期に開発する」ことが求められるようになった。そのため、その開発プロジェクトも従来とは比べものにならないくらい規模が大きくなった。これが「開発工数とプログラムコード行数の増大によるバグの大量発生」など、さまざまな問題を引き起こしており、ゲーム業界全体の重大な課題となっている。

                                              セガが取り組んだ「ゲーム開発のプロセス改善策」
                                            • アジャイルと受託開発

                                              先日、永和システムマネジメント社がアジャイルによる受託開発サービスを発表し、話題になっている。多くの人の関心を引いているのは、アジャイル開発手法を取り入れるということだけでなく、その価格の安さだ。一ヶ月あたりの料金は、もっとも安いものでは月々15万円から、もっとも高額なプランでも月々150万円からとなっている。果たしてそんなので儲かるの!?というのが多くの人がいだいている疑問であろう。自分なりに「アジャイルによる受託開発サービス」について分析してみたので語ってみようと思う。なお、本エントリは永和システムマネジメント社が公開されている資料と筆者の推測に基づくものであるので、より詳細で正確な内容は永和システムマネジメント社さんへ問い合せて頂くよう悪しからず了承いただきたい。 採算割れしないのか?筆者の見解では、たぶんしない。何故か?それは一旦開発が終わったらそうそう頻繁にシステムの仕様を変更し

                                                アジャイルと受託開発
                                              • 設計に悩みすぎる前に手を動かしてみる話

                                                私がソフトウェア開発において心がけていることの一つに「設計に悩み始めたらとりあえず手を動かす」というものがあります。今まで深く考えずにそう心がけていましたが、この記事で自分がなぜそうしているのか整理して言語化してみたいと思います。 話のスコープ ここでいう「手を動かす」とは「コードを書く」ことです。設計と聞いて人によって思い浮かべるものが違いますが、ここでは「一人のソフトウェアエンジニアが四半期程度かけて開発する規模の機能の設計」を想定しています。何人ものソフトウェアエンジニアが長期に渡って行うような大規模開発には当てはまらないです。 本題 次のような経験はないでしょうか? 設計を考えながらデザインドキュメントを書いていたら細部の粗が見えてきて無限に悩み続けてしまった。考えなきゃいけないことがどんどん膨らんでいって、いつまでも実装に手を付けられなかった。 これに対して私は「設計に悩み始めた

                                                  設計に悩みすぎる前に手を動かしてみる話
                                                • LINE Serverの開発とリリースプロセス « LINE Engineers' Blog

                                                  皆さんお元気ですか?LINEサーバー開発室でサーバ開発を担当している崔珉秀と申します。 この記事ではLINEのサーバーの開発とリリースプロセスについて述べたいと思います。 LINEの開発者はどんな形で開発しているのか、サービスに変更事項をどのように適用しているのか、お互い協力してより良い開発環境を得るためにどんな努力をしているのかをお伝えする機会になったらいいなと思います。 ここで述べるリリースプロセスは、LINEのサーバ開発の流れとソース管理システムの運用方法、そして本番環境に変更事項を適用するまでの過程です。 LINEのServer Applicationはその役割とシステムの構成によって複数のServer Applicationに分かれて構成されています。 例えばNetwork通信及びProtocolなどを担当するApplication、messagingやsocial graph

                                                    LINE Serverの開発とリリースプロセス « LINE Engineers' Blog
                                                  • 大規模JSでのBackbone.js/CoffeeScript について考えてみた - mizchi log

                                                    これ読んでたらr7kamura君にJSのMVCどうするの的な話きかれてたのを思い出したので、自分がBackboneを使う時のパターンをr7kamura君の記事をベースに書きなおしてみた。 > サバクラ両方で動く JavaScript の大規模開発を行うために ― Gist https://gist.github.com/1362110 > client-side javascript - ✘╹◡╹✘ http://r7kamura.hatenablog.com/entry/2012/10/18/023629 以下の様なコードを書いた。かなり冗長だが、複雑なアプリだとこれぐらいの冗長性は必要になる。 (なお概念を伝えるための解説用コードなのでそのままじゃ動かない) Backbone.Model # 名前空間の初期化 App = {} App.View = {} App.Model = {}

                                                      大規模JSでのBackbone.js/CoffeeScript について考えてみた - mizchi log
                                                    • 「1人アジャイル」から始める、アジャイル開発導入のススメ|Agile Journeyローンチによせて - Agile Journey

                                                      みなさん、こんにちは。 ユーザベースという会社でSaaS事業のCTOを務める林 尚之です。 本日、新しいWebメディア『Agile Journey』がローンチされました。私はこのメディアに編集長として関わりますが、本稿では『Agile Journey』がどんなメディアで、なぜアジャイルをテーマとしたメディアを立ち上げたのかをお伝えしたいと思います。 『Agile Journey』はできるかぎり「実践」にフォーカスしていきたいと考えています。すでに世の中には、アジャイルに関する事柄を解説する本や資料がたくさんあり、「ペアプロってなに?」「TDDってなに?」という問いに対する基本的な解は容易に見つかるでしょう。しかし、「やり方を知る・理解する」と、「それをいかに実践するか」には別の難しさがあります。実際、私も「アジャイルをいかにして、実践するか」に関して日々、頭を悩ませていますし、試行錯誤を繰

                                                        「1人アジャイル」から始める、アジャイル開発導入のススメ|Agile Journeyローンチによせて - Agile Journey
                                                      • PHPカンファレンス2014でHHVM/Hackの話を聞いて感動した - As a Futurist...

                                                        使える言語の幅を広げたいと思ってPHP カンファレンス 2014に参加してきました。徳丸さんの「安全な PHP アプリケーションの作り方 2014」は改めて自分のセキュリティの知識を確かめるのに大変有意義だったのですが、何より感動したのが Facebook の Paul Tarjan による「HHVM + Hack == PHP++」のセッションでした。 すごく簡単に僕が理解した限りで HHVM/Hack を紹介すると、HHVM とは PHP の処理系の一つの実装です。その特徴は JIT コンパイルにより超高速になっていることに加え、圧倒的な魅力は PHP の Extension(C 拡張ライブラリ)の多くが実装されていて PHP のメジャーなフレームワークが問題なく動作するということです。つまりもう実践で戦えるということ。そして、Hack というのは HHVM が処理できるもう一つの言語

                                                          PHPカンファレンス2014でHHVM/Hackの話を聞いて感動した - As a Futurist...
                                                        • 大規模Webアプリケーションにおける複雑性とアーキテクチャ設計に関する一考察 - Qiita

                                                          Webアプリケーション開発についての知見を、自分の経験と知識をベースに整理してみようという試みです。 いわゆるサーバサイドにスコープを絞り、フロントエンドは対象外です。筆者は普段、オブジェクト指向言語で書いているので、本記事でもその前提(Ruby、PHP、Python、Java、Scalaあたりを想定)になっています。 では、本編をどうぞ。 ソフトウェア開発は複雑さとの戦い 『人月の神話』では、ソフトウェアの本質的な困難性について4つの性質をあげている。その中で最初に出てくるのが「複雑性」である。『新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡』なんか読んでもらえると、ソフトウェアの複雑性と戦うために、人類が生み出してきた発明の数々が説明されている。 では、複雑さとは何か?もう少し掘り下げて考えてみよう。 複雑さの正体 Webアプリケーションが複雑になる

                                                            大規模Webアプリケーションにおける複雑性とアーキテクチャ設計に関する一考察 - Qiita
                                                          • チャットワーク開発の裏側 - EC studio 技術ブログ

                                                            大変ご無沙汰な技術ブログ更新となってしまいました。 振り返ってみると、前回の記事がもう約2年前! ブログ記事を楽しみにしていただいていた方には申し訳ない限りです。 この2年間、何をやってたかというと、 「チャットワーク」というサービスの開発に全社を挙げて取り組んでいました。 チャットワークはおかげさまで2011年3月1日のリリース以来、 1年で6万ユーザーを突破し現在も順調に成長を続けています。 そして今年の4月1日に、創業から12年使用し続けてきた 「株式会社EC studio」という社名を「ChatWork株式会社」へと 変更することを発表しました。 (※エイプリルフールに発表しましたが、本当です^^; 変更の実施は6月ごろを予定) それなりに親しんでいただけていた EC studio という社名を 変更するのは勇気のいることでしたが、チャットワークというサービスには それだけの可能性

                                                            • Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか - MonotaRO Tech Blog

                                                              Software Design連載開始 ※ (2021/09/02 08:55) 「Pythonを用いて開発を始めたのが2003年」を「Pythonを用いて開発を始めたのが2002年」に修正 こんにちは。金谷です。 このたび、モノタロウにおけるPython大規模開発に関する取り組みを、技術評論社様で発刊されている Software Design に連載させていただくことになりました。 モノタロウがPythonを用いて開発を始めたのが2002年。2021年の現在もPythonを用いた開発が続けられています。 事業の成長に伴い、関連するシステムやエンジニアの数も増え続けていくなかで、いかに安定的に価値を提供し続けられるのか。 モノタロウにおける取り組みを、開発や運用周りを通してご紹介していきます。 本記事の初出は、 Software Design2021年8月号「Pythonモダン化計画(第1

                                                                Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか - MonotaRO Tech Blog
                                                              • 「UNIXをC++で分散OSに書き直せ」、幻に消えたBill Joyの野望とは - ITジャーナリスト星暁雄の"情報論"ノート

                                                                UNIXの歴史にはある大きな転換点があり、そこには「もう一つの未来」の可能性が開けていました。この転換期に起こった出来事は「UNIX戦争」として知られていますが、その背景に「UNIXをC++で分散OSに書き直す」という野心的な計画があったことは、今ではほとんど語られることはありません。 私は、この一連の出来事の時期に、『日経エレクトロニクス』の記者としてUNIXの動向を追っていました。当時の出来事の概要を、取材者の視点から書き記しておきたいと思います。多くの読者にとって初耳の情報も含まれていると思います。 一連の出来事の発端は1987年に発表された、Sun、AT&T、Microsoftによる統合UNIXの発表です。この発表の前夜がどういう時代だったか、という話がまず必要でしょう。 統合前夜 1980年代後半は、コンピュータの歴史でも重要な時期でした。この時期、32ビット・マイクロプロセッサ

                                                                  「UNIXをC++で分散OSに書き直せ」、幻に消えたBill Joyの野望とは - ITジャーナリスト星暁雄の"情報論"ノート
                                                                • AWS、言語やプロトコルに依存しないインターフェイス定義言語(IDL)「Smithy」をオープンソースで公開

                                                                  AWS、言語やプロトコルに依存しないインターフェイス定義言語(IDL)「Smithy」をオープンソースで公開 クラウド時代のアプリケーションは、複数のソフトウェアがAPIを通じて連携するアーキテクチャが主流になると考えられています。そのため、さまざまなソフトウェアにおいて正確かつ確実にAPIを実装することの重要性が高まっています。 AWSは、このAPIを定義する言語、およびその定義からAPIを実装するコードを生成するツールからなる「Smithy」ベータ版をオープンソースとして公開しました。 SmithyのWebサイトから、その説明を引用しましょう。 Smithy is a protocol-agnostic interface definition language and set of tools for building clients, servers, and documentat

                                                                    AWS、言語やプロトコルに依存しないインターフェイス定義言語(IDL)「Smithy」をオープンソースで公開
                                                                  • 『ルールズ・オブ・プログラミング』を読んだ #iknowtherulesjp - Don't Repeat Yourself

                                                                    Ghost of Tsushimaなどを作った会社の人が書いた本です。ゲーム開発におけるコードを書く際の教訓を整理し、改めて示し直したいい一冊だったと思います。大事なことですが、著者は決して「このルールを絶対使え」と言っているのではなくて、そもそもまず会社の製品の特性上、このようなルールを敷いておくと品質や生産性を高く保てたという前提があり、その前提を元に「ルールを選び取って自分たちのコーディング哲学を構築しよう」と推奨しています。 ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール 作者:Chris Zimmermanオーム社Amazon この手の本では『リーダブルコード』がよく薦められる傾向にあると思います。私にとってもリーダブルコードは確かに駆け出しの頃すごく役に立った記憶はあるのですが(もう10年くらい前に読んだので正直忘れた)、そこから知識がアップデートされ

                                                                      『ルールズ・オブ・プログラミング』を読んだ #iknowtherulesjp - Don't Repeat Yourself
                                                                    • 「納期コミットのオーダーは結果的に納期を遅らせること」を逆手にとる - @i2key のBlog

                                                                      これは Recruit Engineers Advent Calendar 2022 - Adventarの13日のエントリーです。(書いているのは21日です。) 1. 納期コミットのオーダーは結果的に納期を遅らせる 先日、興味深いエントリーを読んだ。 bufferings.hatenablog.com これにつてはほぼ同じようなことを社内のtimesチャネルでも会話しており、スケジュールへの向き合い方についてメタ的理解に昇華させたい。 我々が納期をコミットしなさい、確実に守れる日を教えてと言われたときにやることは、、、 確実に納期を守れるように、余裕をみる。である。 ------------------------------------------------------------ ■:実作業日(問題なければできそうな工数) □:バッファ日(例えば50%の確率で問題おきたときに使う予

                                                                        「納期コミットのオーダーは結果的に納期を遅らせること」を逆手にとる - @i2key のBlog
                                                                      • そろそろ大規模ソフトウェア開発に一言いっておくか。デイリービルドとリグレッションテスト 2010-03-12 - 未来のいつか/hyoshiokの日記

                                                                        会社の勉強会で自分の今までの経験からテストについてお話をした。その資料を公開する。自分が関わった、Oracle8、DEC Rdb、日本語COBOL、そしてSamba3.0国際化プロジェクトでのテストやディリービルドなどについて紹介した。 テストファースト開発など、最近広く知られるようになってきたが、ディリービルドとリグレッションテストの実行という方法論は昔からソフトウェア製品開発の現場では行われていたベストプラクティスである。そのリズムとか雰囲気を伝えたかった。 テスト勉強会よしおか100311 1View more presentations from Hiro Yoshioka. テストがある開発現場ってのは、こんな感じなんだ〜という雰囲気が伝われば幸いだ。 アジャイル開発方法論としてXPの手法とかいろいろ知られているが、このディリービルドとリグレッションテストというプラクティスもその

                                                                          そろそろ大規模ソフトウェア開発に一言いっておくか。デイリービルドとリグレッションテスト 2010-03-12 - 未来のいつか/hyoshiokの日記
                                                                        • とあるソシャゲのHTML/CSS設計話

                                                                          【Frontendアドベントカレンダー19日目】 Xboxに釣られて転職してから2年半…あっという間だった…。 関与したもの: スマホ版ピグ(リニューアルして面影無し) ピグファンタジア(11月末クローズ) 新規ゲーム ←今ここ 今は新規ゲームでコーディングの人としてjoinしてます。 新しいサービスを立ち上げる時に必要なHTMLとCSSの土台作りを全部やるということが、 「HTML/CSS設計」という言葉で装飾されることを知ったのは割と最近です。 マークアップだけで一人据えるのは珍しいと思うので、今やってることなど含めてつらつら書きます。 ここが変だよソシャゲ開発 依頼を受けてサイトを作る場合は次のようなフローだと思います: クライアントと打ち合わせ 仕様が決まる デザイン決まる 値切られる 価格が……決ま…る コーディング クライアントチェック 突然の無理難題に戦慄走る テスト・修正

                                                                            とあるソシャゲのHTML/CSS設計話
                                                                          • 東京ディズニーリゾート「年間パスポート廃止」は何をもたらすのか - 舞浜新聞

                                                                            2021年3月23日、舞浜新聞は誕生から8周年を迎えました。これもひとえに、日頃から愛読してくださる、読者の皆様のおかげだと思っています。本当にありがとうございます。 新型コロナウイルスの流行は拡大しており、東京ディズニーリゾートをめぐる状況は日々変化しています。首都圏に出されていた緊急事態宣言は解除されましたが、入園者数の制限や時短営業は今も継続中。舞浜新聞ではTwitterなどのSNSでも、読者の皆さんにとって有益な情報をお伝えしていきます。 さて、今回のテーマは「年間パスポート」1年間自由に入園できるパークチケットです。コロナ禍によって、東京ディズニーリゾートでは年パスの販売を一時的に休止しています。今回は「年パス廃止」がどんな影響をもたらすのか、これまでの歴史を含めて考えていきたいと思います。 目次 コロナ禍で「年パス廃止」 20年以上前から議論されてきた「年パス廃止論」 年間3,

                                                                              東京ディズニーリゾート「年間パスポート廃止」は何をもたらすのか - 舞浜新聞
                                                                            • コンポーネント指向のUI開発時に起きがちな密結合・複雑化問題をStoreパターンで解決する

                                                                              Vue.jsを用いたコンポーネント指向のフロントエンド開発において弊社が導入したStoreパターンについてご紹介します。

                                                                                コンポーネント指向のUI開発時に起きがちな密結合・複雑化問題をStoreパターンで解決する
                                                                              • ブラックボックスになりがちな開発チームの内部状況を指標を用いて可視化する|mtx2s

                                                                                自社ソフトウェアプロダクトを内製する組織であっても、開発チームがそれをどうやって作り上げているか、開発者ら以外にとってはブラックボックスであり、不可視です。それだけに、開発チームのパフォーマンスや内部状況の良し悪しは、各々の主観や興味によって、不統一な認識を持ってしまうことも多いでしょう。そしてそのような認識のばらつきは、開発する当人たちにとっても実は同じです。 しかし、例えブラックボックスであっても、自動車のダッシュボードのように様々な指標によってその内部が数値化され、可視化されていれば、チームのパフォーマンスに統一的な認識を持たせやすくなります。 本記事では、どのような指標を可視化すべきか、その代表的なものについて取り上げます。 リードタイム(開発、製造)リードタイムは、開発項目ごとの作業期間を計測したもので、短いほど優れていることを示す指標です。計測対象となるプロセス全体を「開発」と

                                                                                  ブラックボックスになりがちな開発チームの内部状況を指標を用いて可視化する|mtx2s
                                                                                • ごろごろ、神戸 - SUUMOタウン

                                                                                  文と写真 平民金子 十数年住んだ東京から神戸に引越して一年がたった。メリケンパーク、ハーバーランド、北野異人館、南京町中華街、三宮、元町、有馬温泉や宝塚歌劇といった、ガイドブックに掲載される華やかなイメージを、引越す前の自分もどこかに持っていたとは思う。けれどそういった新生活にまつわる甘い予感は、神戸暮らしと同時期に始まった子育てのいそがしさによって全て追いやられた。寝て起こされてはオムツ替え、寝て起こされてはオムツ替え。そして子どもの機嫌取り。合間にこなす家事雑事で一日が暮れていき、読書、映画鑑賞、酒場通い、ふらっと旅に出る事、好きだったことがらが一つ一つ、自分から遠ざかって行くのが分かる。 赤ちゃんという10キロ近い「重り」を抱えての暮らしは、引越し前にイメージしていたものとかけ離れ、家と近所の公園の往復だけで精一杯。ヨメさんと子ども、犬一匹。新生活にそなえて買った「るるぶ」を棚の上に

                                                                                    ごろごろ、神戸 - SUUMOタウン