InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example

はじめに 2014年8月11日の晩に放送されたソニックガーデンのweb勉強会、SonicGardn Studyでは「いつまでクソコードを書き続けるの? 〜出来るプログラマだけが知っているコードレビュー7つの秘訣〜」というタイトルで、弊社ソニックガーデンの西見さん(@mah_lab)が講演してくれました。 デキるプログラマだけが知っているコードレビュー7つの秘訣 from Masahiro Nishimi いつまでクソコードを書き続けるの? 〜出来るプログラマだけが知っているコードレビュー7つの秘訣〜 - YouTube この放送の中でも触れられていたように、ソニックガーデンではコードレビューを大事にしています。 ただ、勉強会のスライドの中では具体的なコード例や指摘の例がほとんど出てこなかったので、「実際どんな感じなの?」という疑問を持った方もいたんじゃないかと思います。 そこで今回は「入社
サイボウズ・ラボの西尾 泰和さんが「エンジニアの学び方」について探求していく連載の第2回(毎週火曜日に掲載、これまでの連載一覧)。「WEB+DB PRESS Vol.80」(2014年4月24日発売)に執筆した「エンジニアの学び方──効率的に知識を得て,成果に結び付ける」の続編です。(編集部) 文:西尾 泰和 イラスト:歌工房 この連載では「エンジニアの学び方」をテーマにインタビューを行い、どういう「学び方」をしているのか探求していきたいと思っています。第1弾は、富士通のエンジニアとしてLinuxカーネルの開発に参加されている小崎資広さんです。 Linuxカーネルは、ソースファイルだけで3万5000個以上、行数にして1500万行を超える、巨大ソフトウェアです。小崎さんが、どうやってこの巨大なソースコードと戦っているかは、きっと「エンジニアの学び方」の参考になるはずです。
先日Rubyビジネス推進評議会主催の第3回Rubyビジネスフォーラムが大阪で開催されました。 Ruby言語開発者、まつもとゆきひろさんが、『インターネットが変えるソフトウェアとビジネス。Rubyを例として』と題した基調講演を行いまいした。 その内容を紹介します。 計算機としてのコンピューター IBMの初代社長トーマス・ジョン・ワトソンの有名な言葉に、「コンピューターは全世界で5台くらいしか売れないと思う」と言ったとされています。 その数字は当時の計算技師の人数とENIACの計算性能から導かれた数でした。 ところが、今ではその数百万倍の処理能力をもつコンピューターが何億台もあります。 去年だけでPC出荷台数は3億台。スマートフォンとタブレットはそれを超える出荷がされています。 コンピューターは計算機としてのみ使われているわけではありません。 インターネットとの接続 今日、大阪まで松江から飛行
エクスキューズとか 正直な話をすると、Webフレームワーク自体に関する興味は以前に比べて失われてきているので、最新のSinatraの細かいコミットまでは追っていない。 だが、2年強ほど Sinatra/Padrino 界隈を追いかけてきて得た知見と言うか考えについてまとめるのは一定の価値がある、少なくとも自分に取っての価値は非常に大きいと思うのでここに書いていきたい。 副次的には、ミスコンセプトによってSinatraを利用して、結果必要の無いイメージの悪化を招く事態を一件でも減らせればと思う。 Sinatraはmicroframework、あるいは「フレームワークではない」 公式の説明にある通りである。 具体的にどういうことかと言うと、Sinatra単体ではウェブサービスに必要な要件を満たさないかもしれないと言う話である。Sinatraが持っていないものについては、Sinatra以外の場所
FROM base # rubyインストールに必要なパッケージを用意 RUN apt-get update RUN apt-get install -y --force-yes build-essential curl git zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev # rbenv, ruby-buildをインストール RUN git clone https://github.com/sstephenson/rbenv.git /root/.rbenv RUN git clone https://github.com/sstephenson/ruby-build.git /root/.rbenv/plugins/ruby-build RUN ./root/.rbenv/plugins
今日、ITニュースにコメントし合える掲示板サービス「89channel」をリリースしました。 Hack Channelと読みます。 ただのシャレです(´・ω・`) この開発についてまとめてみました。 89channelとは 89channelは、今話題のITニュースにコメントで議論できる掲示板サービスです。 Hacker Newsの日本版を目指してつくりました。 サービスの使い方についてはAboutをご覧ください。 Hacker Newsはユーザが記事をsubmitできますが、今回最初からこの機能をつけるとスパムの温床になるかなと危惧しました。 なので、現状は既存リソースから記事を定期取得するようしています。 今回、開発期間はrails newから10日間でのリリースでした。 開発環境 今回はRailsでサービスをつくりたかったので、Railsを採用しました。 Gemfileは記事のおわり
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 結論: Javascriptの乱用をやめるのが一番。 はじめに書いておきますがしょうもない話です。 結論、開発者としてはどのような方向性でやるべきか、を書いています。 JS多い時代でのフレームワークの根本的な問題云々のことは書いてません。 さて、現状、モバイルにおいて、Javascriptでまともに動くものを作ることは難しいです。 Twitterから引き抜いた超優秀なWebエンジニアを多数抱えるMediumですら、未だにモバイルで多数のバグを抱えています。 超優秀なエンジニアを世界一抱えているであろうGoogleのGmailですら、モバ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 技術的負債をなくすには http://apps.wiki.fc2.com/wiki/%E6%8A%80%E8%A1%93%E7%9A%84%E8%B2%A0%E5%82%B5%E3%82%92%E3%81%AA%E3%81%8F%E3%81%99%E3%81%AB%E3%81%AF C# Objctive-cだけ使う VisualStudio Xcodeだけ使う VisualStudio Xcodeを機能をフル活用する WindowsServerを使う 一定のシェアを獲得したDBを使う デザパタを覚える コミュニケーションはOffice
development: # ひとつめはいつもどおり adapter: mysql2 encoding: utf8 database: database1 username: hoge password: hogehoge host: database1.url port: 3306 pool: 5 timeout: 5000 test: # 略 production: # 略 # ふたつめ database2: adapter: mysql2 encoding: utf8 database: database2 username: fuga password: fugafuga host: database2.url port: 3306 pool: 5 timeout: 5000
エンタープライズ領域での採用も増えてきたRuby on Railsを使ってWebアプリケーションを作るための入門連載。最新版の4に対応しています。 開発現場でちゃんと使えるRails 4入門(12): Railsアプリの設計をMVCごとに見直しリファクタリングして連載総まとめ エンタープライズ領域での採用も増えてきたRuby on Railsを使ってWebアプリケーションを作るための入門連載。最新版の4に対応しています。今回は、サンプルプロジェクトをMVCごとにRailsアプリの設計を見直してリファクタリングすることで、これまでの連載のおさらいをします。(2015/1/8) 開発現場でちゃんと使えるRails 4入門(11): 「設定より規約」のRailsで必要なセッティングの基礎知識と国際化/多言語対応 エンタープライズ領域での採用も増えてきたRuby on Railsを使ってWebアプ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? これからプログラミングを始めてみたい人に向けて、Webブラウザだけですぐに使えるRuby/Railsのクラウド開発環境 (Nitrous.io) を紹介します。 Rails環境構築の壁 プログラミングを始めるためには、開発環境を構築する必要があります。RubyとRailsの開発環境の構築方法はRails Girls インストール・レシピが参考になりますが、いくつかのソフトウェアをインストールする必要がありました。 Ruby本体 Rails データベース (SQLite) エディタ (Sublime Text, TeraPad) ターミナ
エンジニア組織を強くするための本を出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 この記事について この記事は、新人向けの研修内容を再編集してお送りします。 この記事の内
実戦的なコードの書き方は、どのようにして身に付くものなのでしょうか? 文法を覚えること? それともオブジェクト指向言語であれば、オブジェクト指向自体を学ぶこと? 見方を変えて、関数型のエッセンスを学ぶこと? アンチパターン プログラミングを学ぼうとするときに、プログラミング言語自体を完璧に学ぼうとするのは、無駄ではないのですがそんなに効率的ではない気がしています。 Ruby技術者認定試験【Gold】模擬問題 例えば上記の問題集をきっちり解けるようになると、Ruby自体の振る舞いについては、はっきり分かるようになりますよね。ただ、仕様を聞いて「これを作ろう!」と思ったときに、やり方に困るのではないでしょうか。 「Rubyでプログラミングできるようになりたい」という要望は、「Rubyというプログラミング言語を学びたい」のではなく、「Rubyという生産性が高いと言われている言語を使ってプログラミ
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0064 号 バックナンバー Rubyist Magazine 0064 号 Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist
読みにくい日記です。 一応今の会社はRubyやRailsの会社ってことで通ってると思うんだけど、自分はほとんどRails触ったことなかったので、何かと色々やる必要が出てくる。 今はJavaScriptのフロントのタスクがあんまりなくてRailsやった方がいい感じで、じゃあ勉強がてらやるかって突っ込んだらちょっとウゥムって感じになった。 問題 勉強側に振ってしまいすぎたのもあるんだけど、かなり生産性低かった自覚がある。結局1週間やって出せたのがやりかけのPullRequest一件で、しかもwork in progress で残りお願いします… みたいな感じになってしまった。 で、今回新しいことをやるにあたって問題になったのは、次の点だと思った。 新しい登場人物の多さによる認知負荷の高さ パフォーマンス要件の厳しさ 最初からプロダクション前提の品質要求 ペアプロしてくれる人の確保 実は今の会社
プログラムは、なるべく何もしなくても良い感じに動いてくれるのが理想的だけど、実際には何らかのかたちでユーザの設定を必要とすることがある。 Rails を使うときは config/application.rb でタイムゾーンを指定したり、DB へ接続するための情報を config/database.yml に指定する。 Bundler の挙動を変えたければ bundle config で設定を変更する。 Gem をインストールするときに毎回指定したいオプションがあれば、~/.gemrc に追記する。 もし自分の関わるプロダクトに「設定」のAPIが必要になったとき、何を判断の基準にして設計すればいいだろう。 ちょっと近所を見渡すだけでも、「設定」のやり方には色々ありそうだ。 設定という視点から、Rubyist にとって身近なプロダクトたちを資料として眺めてみた。 (NOTE: ちょっと悩みなが
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く