タグ

ブックマーク / gihyo.jp (58)

  • 第2回 プロダクトアンチパターン | gihyo.jp

    プロダクトの難しさ プロダクトを作るのは当に難しい。ユーザーが抱える問題を解決しようとしているのだから当然だ。ひょっとしたらあなたは人類史で初めてその問題に取り組んでいるかもしれない。プログラミングも難しいが、「⁠難しさ」の種類が違うように思う。プログラミングの難しさはソースコードを介して他者と共有可能であり、ソースコードは機械語を解するコンピュータとエンジニア向けに書かれたものなのであいまいさが少ない。一方でプロダクトが解こうとする問題はあいまいで多岐にわたる。「⁠タクシーを見つけるのが難しい」から「一緒にお昼ごはんをべる仲間がいない」まで、1つとして同じものはない。同じ問題を解いている人に出会えることは少ないだろう。 プログラミングにはデザインパターンというものがある。「⁠この形はどこかで見たことあるぞ」「⁠この種のコードはObserverパターンを使えばきれいに依存を分離できる」

    第2回 プロダクトアンチパターン | gihyo.jp
  • オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方

    2016年9月2日紙版発売 2016年9月2日電子版発売 Sandi Metz 著,髙山泰基 訳 B5変形判/304ページ 定価3,608円(体3,280円+税10%) ISBN 978-4-7741-8361-9 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 オブジェクト指向設計の名著として名高い“Practical Object-Oriented Design in Ruby”,待望の翻訳版!使いこなせるようになるととても便利なオブジェクト指向ですが,「なんとなく」の理解で使っていると,大きな罠にかかってしまいます。書は,保守性を上げて運用コストを下げるア

    オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
  • 第7回 UberエンジニアがブログでPostgreSQLにダメ出し、PostgreSQLコミッター石井達夫氏に反論を聞く | gihyo.jp

    IT Cutting Edge ─世界を変えるテクノロジの最前線 第7回UberエンジニアがブログでPostgreSQLにダメ出し、PostgreSQLコミッター石井達夫氏に反論を聞く デジタルディスラプションを象徴する企業として、いまこの瞬間も破竹の勢いで成長を続け、交通サービスの世界を大胆に塗り替えているUber。未上場ながらすでに企業価値は6兆円を超えているとも言われており、世界最大のユニコーン企業として、その動向はつねに注目されつづけています。 クラウドやビッグデータ分析、オープンソースなど、最先端のITをフル活用し、ごく短期間で劇的にビジネスを拡大させたUberに対しては、やはり技術者からの強い関心があつまります。現在、1200名を超えると言われるUberのエンジニアたちは何をどんな環境で使い、どう動かしているのか ―Uberのエンジニアリングチームが公開している技術ブログ「Ub

    第7回 UberエンジニアがブログでPostgreSQLにダメ出し、PostgreSQLコミッター石井達夫氏に反論を聞く | gihyo.jp
  • 第1回 Hubotとは何か | gihyo.jp

    連載では、GitHub社が開発したチャットbot開発・実行フレームワークである「Hubot」を使用して、チャットツールにオリジナルのbotを住まわせ、開発フローに組み込むことで開発を楽にする方法について解説していきます。 botとはなにか 開発の現場で、開発チーム内のコミュニケーションのためにIRCなどのチャットツールを導入することは、よく見る光景だと思います。そんなチャットツールに常駐してチャット経由でコマンドを待ち受けて実行したり、決められた条件に従ってチャットに発言してチャットの参加者に通知したりするようなプログラムのことをbotと呼びます。 Skype、HipChatやChatWorkなどコミュニケーションツールが多様化した現代においても、それぞれのチャットツールに対応したbotが開発されており、botを開発するためのフレームワークも様々な形で提供されています。botを導入するこ

    第1回 Hubotとは何か | gihyo.jp
    ji_ku
    ji_ku 2016/06/13
  • 2016年のAPI動向 | gihyo.jp

    みなさま、あけましておめでとうございます。zigorouです。昨年までソーシャルWebというキーワードでよういちろうさんが執筆されていた新春企画(昨年の記事)の後継として、APIに関する分野での技術動向やビジネス動向などを大胆に予想していくことになりました。今後おつきあいいただくかと思いますが、よろしくお願いいたします。 HTTP/1.1の再整備 2015年の一つの大きなニュースとしてはHTTP/1.1が再定義され、さらにHTTP/2が登場したことでしょう。これらの仕様群はHttpbis Status Pagesで一覧を見ることができます。 HTTP/2については後述することにしてまずはHTTP/1.1を考えてみると、HTTP/1.1の再整備によって、曖昧だった仕様の定義が厳密になり実装間での差分が小さくなっていくことが予想できます。 例えば、RFC7231 Hypertext Trans

    2016年のAPI動向 | gihyo.jp
    ji_ku
    ji_ku 2016/01/04
  • ゲームプログラマのためのコーディング技術

    2015年6月2日紙版発売 2015年6月2日電子版発売 大圖衛玄 著 A5判/256ページ 定価2,728円(体2,480円+税10%) ISBN 978-4-7741-7413-6 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle 楽天kobo honto 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 多くの機能を持つゲームのプログラムは,巨大で複雑になりがちです。また,コードの保守,機能追加などの工程には複数のプログラマが関わることになります。そのため,ゲームのプログラムには「わかりやすいコード」と「効率よく機能を追加できる設計」が求められます。これはゲームに限らず,職業プログラマとして必要なコーディング技術です。書ではC++のサンプルコード

    ゲームプログラマのためのコーディング技術
    ji_ku
    ji_ku 2015/05/26
  • 第1回 Ember.jsの世界 | gihyo.jp

    はじめまして。佐藤竜之介(@tricknotes)と申します。連載では、ユニークな特徴を持つJavaScriptフレームワークであるEmber.jsの仕組みと、実践での活用方法について解説させていただきます。 なぜEmber.jsか ここ数年、ネイティブアプリケーションのような使い勝手を備えたWebサービスが増えています。筆者が利用しているサービスを例に挙げるとGmail, Pivotal Tracker, Idobataなどがあります。これらはどれも画面遷移がなく一枚の画面上であらゆる操作を行うため、「⁠Webサイト」というよりは「アプリケーション」と表現する方が適切でしょう。このようなアプリケーションはシングルページアプリケーション(SPA)と呼ばれ、従来の画面遷移中心だったWebアプリケーションと区別されることがあります。 ただ、SPAの開発には特有の難しさがあります。それはデータ

    第1回 Ember.jsの世界 | gihyo.jp
  • 第5回 そろそろサーバを弄りたい | gihyo.jp

    過去の日記を読み返していて、あることに気づいた。 今日までに、俺がAWSでやってきたこと。 オンプレ時代であれば、サーバをラッキングして、電源を入れ、ネットワーク機器をケーブルでつないだ事くらいしかやっていない。サーバに至っては、電源を入れて、SSHで接続して、pingを打っただけ。 クラウドという環境に初めて触れて、すごいことをしている気分だったのに、改めて考えてみると、すごく単純作業しかしていないことに気づいてしまった。でも、今までであれば、必ずデータセンターに行って作業していた事が、手元ですぐに完結するというのはすごい。それは俺がすごいんじゃなくて、AWSがすごい。 とはいえ、俺も何もしていないわけではなくて、ネットワークを作ったり、サーバを立ち上げたりするのをいかに早くできるかというのを反復練習していたわけで、今となってはネットワークを構築して、サーバを起動するくらいなら30分もあ

    第5回 そろそろサーバを弄りたい | gihyo.jp
  • インフラ屋のAWSはじめた日記─GUIを捨てよ:連載|gihyo.jp … 技術評論社

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    インフラ屋のAWSはじめた日記─GUIを捨てよ:連載|gihyo.jp … 技術評論社
  • GitHubが僕たちを、仕事の現場を変えた!──「GitHub Kaigi」レポート | gihyo.jp

    2014年6月1日(日⁠)⁠、東京・渋谷マークシティにおいて、GitHubユーザグループ主催によるイベント「GitHub Kaigi」が開催されました。500人の定員に対し800人を超える参加申し込みのあったこのイベントには、日におけるGitHub活用の第一人者たちはもちろん、米GitHub社から招いた開発者たちも登壇し、いずれ劣らぬ濃いセッションが繰り広げられました。ここではその様子を紹介します。 GitHub実践入門 ─⁠─ Pull Requestによる開発の変革 トップバッターとして登壇したのは、WEB+DB PRESS plusシリーズ『GitHub実践入門 ─⁠─ Pull Requestによる開発の変革』の著者である大塚弘記氏です。 『GitHub実践入門』の著者、大塚弘記氏 同氏はまず、「⁠GitHubを利用した開発の世界を知る」「⁠GitHubを(利用|活用)する違いを

    GitHubが僕たちを、仕事の現場を変えた!──「GitHub Kaigi」レポート | gihyo.jp
    ji_ku
    ji_ku 2015/03/18
  • Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp
    ji_ku
    ji_ku 2013/07/05
  • 第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp

    モバイルファクトリーの松野です。 今回から数回にわたって、Perl におけるテスト手法についてリレー形式で詳細に解説していきたいとおもいます。 今回は初回ですので、ざっくりと概論になります。 Perlの世界におけるテストの重要性 Perlの世界においてはテスト(test)は大変重要視されています。 その特徴がよく表れているのがCPAN Testersではないでしょうか。 CPAN Testers Perlといえば何はなくともCPANなわけですが、CPANでモジュールを探していると、図1のように、「⁠CPAN Testers」という項目があることに気付きます。 図1 CPAN Testers 世界中のPerl Mongersが、自分のマシンでテストを動かして、その結果をCPANに送っているのです。これにより、様々なOS/CPU/versionのPerlでテストがされています。貴方も気軽にCP

    第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp
  • 第4回 クックパッド技術部部長 井原正博氏に訊く(後編)―エンジニアの力をもっと活かしたい | gihyo.jp

    「ちょっと無理じゃね?」レベルの目標を立てる 前回に引き続き、クックパッド技術部長の井原正博さんにお話を伺います。前回は、採用段階で「強い個」を集めることへの並々ならぬこだわりを伺いましたが、その「強い個」がきちんと成果を出している状態にするために、どのような取り組みをされているのでしょうか。 クックパッド技術部長の井原正博氏 日々改善を図ったり、新しいものを吸収するといったことは、放っておいても勝手にやっていくし、定期的に場を設けて何かを勉強するといったこともないそう。しかし、半年に1回の目標設定では、個々人が普段の思考の枠組みから解放された頭で目標を考えられるよう、こんな仕掛けが。 井原さん「期の頭には、目標を1個だけ立てるんですね。半年間にやることはいろいろあると思うんですけど、そんなものは皆やるに決まっているので、目標に入れる意味がない。ここで立てる目標は、“⁠おぉ、それはちょっと

    第4回 クックパッド技術部部長 井原正博氏に訊く(後編)―エンジニアの力をもっと活かしたい | gihyo.jp
  • 第3回 クックパッド技術部部長 井原正博氏に訊く(前編)―「強い個」を採用することへのこだわり | gihyo.jp

    僕の仕事は「優秀なエンジニアを採用すること」 いまや月間4.9億PV、1,400万人のユーザを擁するレシピコミュニティーサイト『クックパッド⁠』⁠。同サービスを運営するクックパッド株式会社は、日有数のテクノロジー・カンパニーとしても知られています。今回は、同社で技術部部長を務める井原正博さんを訪ね、お話を伺いました。 現在社員数は100名弱、そのうち35名ほどのエンジニアが在籍しています。その技術部門の部長を務める井原さんの役割は、 (クックパッドでいうところの)優秀なエンジニアを採用すること 優秀であるはずのエンジニアがきちんと成果を出している状態にすること の2点であると言います。 井原さんが「どういうものを作ろう」とか「ああいうことをやろう」といった指示を出すことはほぼないそう。そうしたことはスタッフ個々が当然自分の仕事としてやっている環境のようです。それも、井原さんが担うところの

    第3回 クックパッド技術部部長 井原正博氏に訊く(前編)―「強い個」を採用することへのこだわり | gihyo.jp
  • 第25回 MongoDB最前線! 効果的なシャーディングとバックアップ | gihyo.jp

    「MongoDB」は、スキーマレスであることやスケールアウトが容易なこと、さらにレプリケーションのしくみが用意されているといった特徴から急速に人気を集めている、オープンソースのドキュメント指向データベースです。第21回で、MongoDBの基的なしくみや開発時における注意点などをサイバーエージェント技術者に解説していただきました。今回は後編ということで、運用時におけるポイントについて伺っていきます。 Ameba PicoやピグライフでMongoDBを実運用 サイバーエージェントにおいて、MongoDBはすでにいくつかのプロジェクトで活用されていますが、その1つにアメリカ向けのアメーバピグであるAmeba Picoが挙げられます。松下雅和氏は2011年1月に入社し、このAmeba Picoの運用にアサインされたことでMongoDBを使うことになったと話します。 「前職ではMongoDBを使

  • PHP Matsuri 2011 セッション・ワークショップレポート | gihyo.jp

    10月15、16日の2日間にわたり、大阪市港区のホテルコスモスクエア国際交流センターにおいて、PHP Matsuri 2011 in Osakaが開催されました。2回に渡り、イベントをレポートしていきます。まずは1日目に行われたセッション・ワークショップを中心に、イベントの模様をレポートします。 PHP Matsuri 2011 PHP Matsuriは、年に一度1泊2日で行われるPHPエンジニアの祭典です。昨年は東京で開催され、約70名のエンジニアが参加し熱い2日間を過ごしました。 第2回開催である今年は、PHPを中心にWEB系エンジニア約90名が参加し、24時間オープンしているイベント会場でゲストによるセッション、ワークショップなどが行われました。メインのイベントとなるハッカソンは夜通し行われ、2日目に開催されたLT大会では、41名もの方がハッカソンにおける成果を発表するなど、非常に

    PHP Matsuri 2011 セッション・ワークショップレポート | gihyo.jp
    ji_ku
    ji_ku 2011/10/27
  • 第8回 Perlによる大規模システム開発・設計のツボ(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはmixiの広木大地さんで、テーマは「大規模システム開発・設計のツボ」です。 仕事やOSS(Open Source Software)プロジェクトPerlを用いた多人数開発をするにあたって気をつけるべきことや、品質を維持するためのノウハウを、国内最大級のPerlシステムであるmixiの事例をベースに紹介します。コーディング上の命名に関する考え方から、大規模アーキテクチャの設計や品質の数値化まで、ミクロからマクロに至るポリシーやテクニックを駆け足で解説します。 なお、今回の内容は(⁠株⁠)ミクシィの2010年度の新卒エンジニア技術教育メニューからの抜粋になります。これからPerl をはじめとするLL(Lightweight Language、軽量言語)を仕事で使うというフレッシュエンジニアのみなさんにも、ぜひご一

    第8回 Perlによる大規模システム開発・設計のツボ(1) | gihyo.jp
    ji_ku
    ji_ku 2011/08/07
  • ニコニコ生放送に見る Redis 活用ノウハウ 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    ニコニコ生放送に見る Redis 活用ノウハウ 記事一覧 | gihyo.jp
    ji_ku
    ji_ku 2011/06/15
  • 第2回 Redisの導入と基本機能 | gihyo.jp

    今回は実際にRedisをインストールしてみるところから、コマンドラインクライアントを使った基的な操作方法、そして実際のアプリケーション開発時に重宝するDB選択やタイムアウトなどのRedis特有の仕様について説明します。 インストール ダウンロード 連載執筆時点の最新stableである、2.0.4をダウンロードします。 $ wget http://redis.googlecode.com/files/redis-2.0.4.tar.gz コンパイル RedisはANSI Cで書かれ、外部の依存ライブラリの必要ないシンプルな実装になっているため、コンパイルは以下のステップで完了します。 $ tar xzf redis-2.0.4.tar.gz $ cd redis-2.0.4 $ make 「redis-server」や「redis-cli」が生成されたのを確認してください。 設定の変更

    第2回 Redisの導入と基本機能 | gihyo.jp
    ji_ku
    ji_ku 2011/06/15
  • 第4回 Redisを用いたアプリケーション開発(2) | gihyo.jp

    前回紹介したRedisのLIST型に続き、今回はSET型とSORTED SET型について、その構造とWebアプリケーション開発への応用を紹介します。 SET型の構造 RedisのSET型は、重複のない文字列要素の集合を保持するデータ型です。Javaのコレクションフレームワークをご存知の方には、「⁠HashSet」のようなもの、と想像していただくと分かりやすいかと思います。 LIST型のPUSHやPOPと同様、SET型への追加/削除の時間計算量はO(1)となり、理論上はサイズに関係なく一定時間で操作できることになります。実際、ニコニコ生放送のシステムでは、要素数にして数万規模のSET型に対して、分間数千~数万回の追加操作を行っています。 一見、SET型のデータ構造は単純すぎて、アプリケーションで活用する機会が想像しにくいかもれません。RedisにはHash型という連想配列のように使えるデータ

    第4回 Redisを用いたアプリケーション開発(2) | gihyo.jp
    ji_ku
    ji_ku 2011/06/13