タグ

developmentとprogrammingに関するdochanのブックマーク (50)

  • 会社員の立場と実力は運が7割、選択が1割、残りは努力 - 感謝のプログラミング

    悪い意味での典型的なSIエンジニアの口癖は、 「なんで○○なの?」 だ。 なんでそうなるのかを興味があるのではなく、否定するためになぜなぜ聞いてくるのだ。 説明できなければ、「×」。 こういう人とは建設的な議論にならない。 そういう人と話していても、話は広がらない。 雰囲気が悪くなるし、とりあえず否定しようと構えている人とやる仕事に良いアイデアは降ってこない。そのうち案も出なくなる。 それが続くと、無難なことしか言わない非イノベーティブなSIエンジニアの出来上がりだ。 一方で、(悪い意味での)典型的SIエンジニアには、 「これはこうだから、こうした方がいいんじゃない?」 という人は少ない。 対案を出すだけの技術的な素養はないからだ。 技術的な裏付けはなくても否定はできる。 プロ野球の観戦者や国の政策を否定するオバサンと同じで、 否定するのは実はすごく簡単なのだ。 そもそもどのような場合も完

    会社員の立場と実力は運が7割、選択が1割、残りは努力 - 感謝のプログラミング
  • 派遣PG時代の思い出

    @vjroba 某N社で「メソッドを作ると処理が上下に飛んで可読性が落ちるので、出来る限り一つにまとめてください」と言われたことがある。僕は300行で挫折したが、1万行メソッドを書ききった強者がいた。クラスを作るには申請書が必要だった。

    派遣PG時代の思い出
  • 幸せなエンジニアになるための仕事術/まつもとゆきひろ&平鍋健児 - tmtms のメモ

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

    幸せなエンジニアになるための仕事術/まつもとゆきひろ&平鍋健児 - tmtms のメモ
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • 5年後に後悔しないJavaプログラムの書き方 - L'eclat des jours(2009-07-02)

    _ 5年後に後悔しないJavaプログラムの書き方 ここ数日、死ぬほど後悔しまくっているので、あらためて(というのは、数年前にも一度後悔しまくって、そのときの知見はあらかた処方箋とかコーディングの掟に書いているからだが)後悔しないための書き方をいくつか紹介する。 とにかく、ファクトリメソッドパターンを使うこと。 これは当に重要。しかも簡単でありながら効果は絶大。 だめな例。 public class FooBar { private Connection conn; ... protected void setup() { ... conn = DriverManager.getConnection(url); ... } urlを指定することや、DriverManagerの実装を交換すれば良いだろうと想定していても(というか、Connectionならそういう方法もあり得るが、そうはいかな

  • なぜTDDとペアプログラミングで生産量が増えるのか

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    なぜTDDとペアプログラミングで生産量が増えるのか
  • 実開発で分かったGoogle App Engine for Javaの“すごさ”

    ゴールデンウィークに特に予定のなかった筆者は,「ちまたで噂のGoogle App Engine for Java(GAE/J)とFlexでスケジュール共有ツールでも作ってみよう」と思い立ちました。およそ5日間かけて開発を進めたのち,2009年5月6日に「ご都合.com(画面1)」を公開しました。その後,はてなブックマークやニュースサイトなどでご紹介いただいたおかげで,公開後6日で約2000人の方にご利用いただいています。 そこで稿では,この「ご都合.com」の開発で実際に筆者が得た経験を通じて,GAE/JによるWebアプリケーション開発の実際とそのポテンシャルについて紹介します。 米Googleが2008年4月に発表したGoogle App Engine(画面2)は,「自分が開発したWebアプリケーションをGoogleのデータセンターで運用できるクラウドコンピューティング・サービス」です

    実開発で分かったGoogle App Engine for Javaの“すごさ”
  • 【翻訳】How to be a program manager - Joel on Software - GoTheDistance

    たまたま見かけたのですが、とても示唆に富む記事だったので頑張って和訳してみました。延べ2週間近くかかった・・・。 ITを武器にする企業は、ベンダーやユーザーに関わらず「program manager」と呼べる人たちが必要だと思っています。37Signalsの「Getting Real」に近しいことをJoel自身も語ってくれていますし、今後僕らがどのようなキャリアを積んでいけばいいのか、技術力を梃子にしていく組織を作るのにはどうしたらいいのか、そういうヒントが込められています。 Joelの英語は、同じような意味の言葉を複数の言葉を使い分けて言っていたり、ぐるっと回り込んでから要点を記述することが多いので、正確な意味を伝え切れていないかもしれませんが、大きく意味が外れないように留意したつもりです。 原文はHow to be a program manager - Joel on Softwar

    【翻訳】How to be a program manager - Joel on Software - GoTheDistance
  • プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ

    プログラミングを始めてから今日に至るまで、 様々なタイプのプログラマーと開発を共にしてきたが、 驚くべき速度で高い品質のソフトウェアを作り上げるプログラマーには、 一つ共通の特徴があるように思える。 それは、「はまる」時間が極端に短い、ということである。 風のプログラマー」を指向しており、開発速度を重要視している。 例えば平成14年未踏ソフトウェア創造事業「PICSY」では、 発表直前に知人でプロジェクトリーダーの鈴木健にレスキュー隊として呼ばれて 2,3日でGUI全般と、クライアント/サーバー通信部分の設計と実装を終わらせたのだが、 このときなどは、大体の要件を口頭で聞いた後は、 ほぼまったく手が止まらずコードを書き続ける感じで開発をしていた。 「はまる」時間の長さは開発速度に直結するわけだが、 プログラマーが「はまる」場合にはある程度の傾向があると思うので、 今日は「はまる」プログラマ

    プログラマーの開発速度は「はまる」時間の長さで決まる : 小野和俊のブログ
  • 分散バージョン管理Git/Mercurial/Bazaar徹底比較

    分散バージョン管理Git/Mercurial/Bazaar徹底比較:ユカイ、ツーカイ、カイハツ環境!(3)(1/5 ページ) Subversionとは一味違う「分散バージョン管理」とは? 最近、Linuxをはじめ、Ruby on RailsMySQL、OpenSolarisなどのオープンソースプロダクトが次々と分散バージョン管理システムを導入し始め、「Git」「Mercurial」「Bazaar」といった、分散バージョン管理システムが注目を浴びています。 稿では、バージョン管理ツールのデファクトスタンダードであるSubversion(以下、SVN)と分散バージョン管理システムを比較しながら、メジャーな分散バージョン管理システムであるGit、Mercurial、Bazaarについて紹介していきます。 集中型と分散型 最初に、集中管理方式(または、集中型)のバージョン管理システムと分散管理

    分散バージョン管理Git/Mercurial/Bazaar徹底比較
  • TortoiseSVN ユーザガイド

    このドメインについて問い合わせる bluegate.org 2022 著作権. 不許複製 プライバシーポリシー

  • バージョン管理に便利なSubversiveプラグイン (1/3) - @IT

    そもそもSubversionとは何か? Subversionとは、バージョン管理システムとして広く利用されているCVSの管理スタイルを踏襲しつつその欠点を解決したバージョン管理システムです。Google Trendsによると、日ではSubversionの検索数がCVSをすでに上回っており(2007年3月現在)、関心が高まってきています。 実際、筆者の周りでもSubversionを利用しているプロジェクトが増えてきています。稿では、SubversionをEclipseから利用するプラグインSubversiveとプロジェクト管理システム「Trac」との連携を中心とした利用ノウハウを提供します。 Subversionのメリット チェンジセットによるリビジョン管理 バージョン管理システムにおいて、ローカルで編集した内容をリポジトリへ反映するために行う作業を、コミットといいます。 CVSはファイ

    バージョン管理に便利なSubversiveプラグイン (1/3) - @IT
  • 新人プログラマーがプロのプログラマーとして独り立ちするための7つの条件 - ハックルベリーに会いに行く

    ぼくは以前にIT関連の仕事をしたことがあって、ぼく自身はプログラムを組めるわけではないのだけれど、何人かのプログラマーさんと一緒にお仕事をさせて頂く機会があった。その中で生まれて初めてプログラマーという職業の方と交流させて頂いたのだけれど、彼らはなかなかにユニークで特異な個性の持ち主たちであった。もちろんプログラマーと一口に言っても色々なタイプがいて、必ずしもひとくくりにできるわけではないのだが、共通していたのは好奇心が旺盛で新しい物好きだということだった。そして少々気難しい面がありつつも、基的にはポジティブで、明日に向かって色々なことを前向きに、精力的に取り組んでいる人が多かった。 そんな中で、特に親しくお話しさせて頂いたTさんというプログラマーがいて、この方もなかなかに個性的で、ご自分の意見や主張というものをはっきりと持っており、ITのみならず世の中に対しても一家言お持ちであった。そ

  • 株式会社マジカジャパンの羽生章洋が書いてるブログ:ソフトウェアとシステム - livedoor Blog(ブログ)

    私どもの仕事はSI(システムインテグレータ)です。システムを作るのが仕事です。その一環としてソフトウェアを作っています。 最近はSI業界も自動車業界との比較が引き合いに出されることが多いのでそれに乗っかってみると、良いエンジンや良いシャーシなどを作るというのと、良い自動車を作るというのをごちゃ混ぜにしている感を受けるのです。 もちろん良い自動車を作るに際して、良いエンジンは必要です。ですがそれぞれの良い部品群を漫然と集めさえすれば良い自動車になるのかというと、それは全く別の話です。そもそもどういう自動車にするのかという方針・企画・ポリシー・フィロソフィのようなものが必要です。 # エンジンだけでも十分ひとつのシステムではありますが、 # それはRDBMSだけでもひとつのシステムであるという話になってしまって # 拡散するので、最終成果物としてのシステムということで話を進めます。 同様に、業

  • プロダクティブ・プログラマ

    TOPICS Programming , Business/Essay 発行年月日 2009年04月 PRINT LENGTH 284 ISBN 978-4-87311-402-6 原書 The Productive Programmer FORMAT PDF 生産性の高い人はそうでない人に比べ、同じ時間でより多くの仕事をし、より多くの成果を上げることができます。書は、ソフトウェア開発におけるプログラマの生産性についての書籍です。プログラマ個人が、どのような意識を持ち、どのようなツールを使えば、単位時間当たりの仕事量を増やすことができるかについて示します。書は2部からなり、「I部 技法編」では、作業を自動化するためのツールや集中を維持する方法など、開発に必要な作業の生産性を向上するテクニックとツールを解説します。「II部 実践編」では、テスト駆動開発や、メタプログラミングなど、生産性を

    プロダクティブ・プログラマ
  • 常に地に足をつけて仕事をするということ

    こちら(北米)で仕事をする場合、一番の褒め言葉は「あいつはAccountableだ」という言葉。辞書には、Accountableには「責任のある」などの訳語が乗っているが、仕事の場面で使う場合は「安心して仕事をまかせておける」という意味。 プログラミングにしろ他の仕事にしろ、何をしていてもさまざまな「予想外の問題」が生じるもの。そういう問題への対処も含めた上で、「あの人に仕事をまかせておけば安心」と思ってもらうには、さまざまなところに予防線を張り、常に「地に足をつけた」状態で、着実に仕事を進めて行くことが何よりも大切。

  • 漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法

    ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基中の基であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_

    漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法
  • わたしが知らないスゴ本は、きっとあなたが読んでいる: 名著!「デッドライン」

    長くなりすぎたこのエントリのレジュメ …というか、見出しの一覧。これ見てご興味ある方はお読み下さいませ。 マネジメントの4つの質 マネジメントおける簡潔で痛切なエッセンス(一部) 設計とデバッグに関する恐ろしい事実 残業と生産性とプレッシャーに関する恐ろしい事実 生産性の測定について 管理者の怒りについて 会議を効率よく行うための、たったひとつの冴えたやりかた 大事なことが、ずばり書いてある。背中を押したのは「ソフトウェア開発の名著を読む」なんだけど、確かに名著だ。初読は物語を楽しみ、再読、再々読で血肉にすべきだな。 延ばし延ばしにしてた一冊を読み始めて「どうして今まで読まなかったんだあぁぁっ」と叫びだすような逸品がある。書がまさにそう。デマルコは「ピープルウェア」がピカイチと決め付けてた自分が恥ずかしい。 「ピープル」がプログラマ・チームリーダーの視点で書いているが、「デッドライン」

    わたしが知らないスゴ本は、きっとあなたが読んでいる: 名著!「デッドライン」
  • Subversionを見直せ - プログラマの思索

    SW構成管理の概念の中心は、バージョン管理。 バージョン管理こそが我々SW開発に従事する者にとって、背骨であり血液に当たる最重要なインフラ。 デスマーチに陥るプロジェクトは、バージョン管理に何かしらの欠点や弱点がある。 おそらく殆どのSW開発では、Subversionをバージョン管理に使っているが、Subversionは実は数多くの機能を持ち、従来のプロジェクト管理を根的に変える可能性を秘めている。 もう一度、Subversionの機能を見直してみた。 【1】ムービー企画「Subversionによるバージョン管理入門」 WEB+DB PRESS Vol.39誌面連動ムービー|gihyo.jp … 技術評論社 最近のバージョン管理は、trunkとbranchの2系統のバージョン管理戦略を持つ傾向がある。 メインラインモデルと呼ばれる。 メインラインモデルの手法を使って、番運用中の保守br

    Subversionを見直せ - プログラマの思索
  • 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場

    「変数のスコープは狭いほど良い」と妄信する 変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある*1。 実際、「あちこちから頻繁にアクセスするようなオブジェクトやメソッド」は、スコープをぐっと広くしてしまった方が(場合によってはグローバル変数やグローバル関数にしてしまった方が)、いちいちパラメータ渡しのバケツリレーをせずに、オブジェクトや機能を使うことができ、プログラムの可読性も保守性もずっと向上することがけっこうある。 たとえば、プログラムのいろいろな箇所から比較的頻繁にアクセスする必要があるようなオブジェクトや機能がバインド(格納)された変数やメソッドのスコープをクラスやメソッド内のローカルにして、それを使うときは、いちいち各クラスやメソッドにパラメータ渡しのチェ

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場