タグ

開発に関するcubed-lのブックマーク (114)

  • プログラマとして30年以上の経験から得た教訓 | POSTD

    私は、プログラマとして30年以上仕事をしてきた中で、学んだことがあります。そのいくつかを以下にご紹介します。もっと挙げることもできますよ。 実物を見せないと、顧客の希望は分からない。 このことは最初の仕事で学びました。顧客は、実物を見るまでは、何が当に必要なのかがよく分かりません。言葉で長々と説明するよりも、機能検証のためのプロトタイプを提示する方が確実に役立ちます。 十分な時間があれば、あらゆるセキュリティは破られる。 現代社会において、セキュリティを保つことは信じられないほどの難題となっています。プログラマは常に完璧を求められますが、ハッカーは1回でもハッキングができれば成功なのです。 セキュリティが破られた場合、事前にその状況に備えた対策を講じているかどうかで結果が変わってくる。 最終的にセキュリティが破られることを想定する場合、その時に起こることに備えて対策を立てておく必要があり

    プログラマとして30年以上の経験から得た教訓 | POSTD
  • コードレビューガイドライン #loupestudy

    株式会社LOUPEの社内勉強会です。 http://lo-upe.hatenablog.com/entry/loupestudy-codereview (参考) 眼鏡なしのコードレビュー http://postd.cc/code-review-without-your-glasses/ (PR) エンジニア募集中です http://lo-upe.com

    コードレビューガイドライン #loupestudy
  • SIE プレスリリース | ソニー・インタラクティブエンタテインメント

    2022年6月27日 役員人事のお知らせ 2022年6月1日 人事・組織変更のお知らせ 2022年4月1日 人事・組織変更のお知らせ 2022年3月30日 【5月16日更新】ソニー・インタラクティブエンタテインメント 2022年6月より 定額制ゲームサービス「PlayStation Plus」を大幅リニューアル ~PlayStation Nowとサービス内容を統合し、数百のタイトルを提供~ 2022年3月22日 ソニー・インタラクティブエンタテインメント、カナダ拠点のゲーム開発スタジオ Haven Entertainment Studios社を買収へ ~プレイステーション®プラットフォーム向けに新たなスタイルの 大型マルチプレイタイトルを制作~ 2022年3月1日 人事のお知らせ 2022年2月24日 PS5向け次世代VRシステム「PlayStation VR2」 および「PlaySta

    SIE プレスリリース | ソニー・インタラクティブエンタテインメント
  • Facebook, Twitter, Instagram等がどうやってIDを生成しているのか まとめ - Qiita

    まえがき データにIDを持たせたいとき、単純な方法としては、DBの提供するauto incrementを使う場合やUUIDを利用することがある。それぞれの方法の利点欠点は以下の通り。 データベースのauto incrementを使う場合 利点: 特別な実装が必要ない 欠点: DBを1台で運用するとデータベースがパフォーマンス・障害のボトルネックになる DBを二台にするとIDのユニークさや順序の保証が困難 UUID(v4)※1を利用する場合 利点: 分散環境で各々がIDを生成しても衝突しない IDを公開したくない場合に、推測されにくいIDを生成できる 欠点: 128ビット必要、DBのインデクシングやプログラミング言語で扱うときに不利なことがある IDから時間の情報が失われる、例えば2つのIDを比べてどちらが古い投稿か判断できない 世界の大企業がどうしてるか 調べてみると多くの企業がブログなど

    Facebook, Twitter, Instagram等がどうやってIDを生成しているのか まとめ - Qiita
  • いまだにユニットテストって受け入れられないんだろうな - 個人的なまとめ

    色んな所で「テスト(ここではユニットテスト)を書かないのは小学生までだよねー」とか、もっと汚い言葉で言われたりするけど、いまだにうちのチームでは自分だけしか書かない現状が悩ましい。 Jenkinsさんが激おこになっても誰も何も反応しない。 もちろん、全部が書けるとも思ってないので、自分が不安なところとか、変更が多く入りそうなところとかを中心に書くようにしてる。一種の精神安定剤みたいなもん。 あるとき、一緒に働いてるエンジニアさん(ここではAさんとしておこう)に「ここ難しそうだから、テスト書いたほうがいいですよ」って話をしたら、「じゃぁ、工数かかっちゃいますね」って言われて結局書いてなかったな。 そうだよ。ユニットテスト書いたら工数かかるよ。それは純然たる事実。でも、再利用できないチェックシートを作ってやるよりもいいと思うんだけどね。しかもこの前に見せてもらったこのチェックシートも運用レベル

    いまだにユニットテストって受け入れられないんだろうな - 個人的なまとめ
  • YAPC::Asia Tokyo 2013: 「本当にあったレガシーな話」と最近のlivedoorBlogの改修 : D-7 <altijd in beweging>

    はい、というわけで自分のトークです: 昨年12月頃から関わってるlivedoorBlogのコードを触っていた時の憤りをスライドにぶつけてみました。 追記:スライドに「ログにマーカーをつける」というのは、(コード読んでないけど)多分こちらのエントリにあるLog::Minimal::Indentとだいたい同じ感じのヤツです ところでWeb上で見かける感想の中でこんなのがありました: 今年個人的に一番衝撃的だったのはやっぱ、livedoor blogのPlack化です。技術的な側面もさることながら、ああいう近視眼的には何のメリットもないし、逆にデメリットの方が大きそうな案件にリソースを割くジャッジができる会社としての姿勢が当に凄いなと。 実はビジネス的にも意味はあるんだなー。 なかなか書くことができなかったんだけど、その内容というのがこちらと→ ブログのお引っ越し機能を大幅に強化しました! (

    YAPC::Asia Tokyo 2013: 「本当にあったレガシーな話」と最近のlivedoorBlogの改修 : D-7 <altijd in beweging>
    cubed-l
    cubed-l 2013/09/24
    エンジニアってすげぇと思える素敵なエントリ
  • Jenkins で静的解析のグラフを作るとコードを読まなくてもソフトウェアの品質が分かって面白い - おともだちティータイム

    細かく書きたいけど、とりあえずメモだけ。 ステップ数が増ている なんらかの開発が行なわれている ステップ数が減っている リファクタリングが行なわれている? 単に仕様落ちしたコードが削除された可能性もある テストカバレッジが下がる テストが書かれていない ... ステップ数が増えている場合 テストが減っている ... ステップ数が変わらない場合 FindBugs 、 PMD 、 Android Lint の警告数が増えている 品質の低下、レビューが正しく行なわれていない CPD 警告数が増えている 品質の低下、レビューが正しく行なわれていない そろそろリファクタリングしたほうがいい Checkstyle 警告数が増えている 品質の低下、レビューが正しく行なわれていない Jenkins で継続的にビルドしたり、テストを行なうのは言うまでもなく大切だけど、こういった静的解析の数値をグラフ化してい

    Jenkins で静的解析のグラフを作るとコードを読まなくてもソフトウェアの品質が分かって面白い - おともだちティータイム
  • 山本一郎氏が語るソーシャルゲーム開発の「炎上案件」を食い止める方法

    東京で4月15~16日という日程で、Unite Japanという米Unity Technologies主催のカンファレンスが開催中だ。ゲーム開発は属人性を伴っているものであることを痛感させられたセッションがある。イレギュラーズアンドパートナーズの山一郎氏が、ゲームエンジンのUnityが普及したがために起きている「炎上案件」にどのように対処するべきかを語った講演だ。同社は、トラブルを抱えたソーシャルゲーム開発プロジェクトの「炎上案件」が発生している場合の処理作業を業務の一つとして行っている。 Unityゲームエンジンとして、日では前年対比で500%という驚異的な売上を出し、世界でアメリカに続く、第2位のライセンス契約が結ばれているまでの大成功の状態にある。一方で、「Unityだから、安い、早い、簡単に開発できる」という思い込みも広がっている。優れたゲームエンジンを使えば、優れたゲーム

    山本一郎氏が語るソーシャルゲーム開発の「炎上案件」を食い止める方法
  • JenkinsでCIすればiOSアプリのビルドは、もう面倒くさくない

    続いて、開発するアプリの登録を行います。アプリの登録では【1】アプリ名や識別名などの登録、【2】プロビジョニングプロファイルを作成しダウンロード、インストールします。 これらの準備が終わったら、App Storeへ公開するためのアプリ開発、パッケージング、アップロードといった流れになります。 「Jenkins Xcode Integration Plugin」でビルドを自動化 このアプリ公開までの作業のうち、いくつかをJenkinsによって自動化することで継続的にアプリを公開できるようになります。通常、アプリのビルドやパッケージングはXcodeから行うことになりますが、Jenkinsから実行する場合にはXcodeのコマンドラインツールである「xcodebuild」などを使って処理を行います。 Jenkinsジョブからシェルを起動してxcodebuildなどのコマンドを直接実行するか、「Je

    JenkinsでCIすればiOSアプリのビルドは、もう面倒くさくない
  • 1. Perl環境の設定 : Practical Modern Perl (仮)

    注:稿はまだ書きかけです!書きかけです!まだ一般に知らしめようとする前にブクマされました!w 間違いの指摘やコメント等は lestrrat @twitter にください! Perl環境の設定方法はここ数年で大きく進化し、変わってきました。ここではアプリケーションのデプロイも見据えた、モダンなperl環境の整え方を紹介していきます。具体的にはperl体や外部モジュールのインストール方法を解説したのち、Perlを使ったアプリケーションを管理・運用していく際に依存関係等はアプリケーション毎に管理できるようにしてグローバル環境に可能な限り干渉しない方法を紹介します。 目次 1.1 Perl体のインストール 1.2 依存モジュールの管理・インストール 1.3 Cartonによるアプリケーションの実行環境の構築 tl;dr 稿を読む前にポイントだけ知りたい!という方向けのまとめです: OSに同

    1. Perl環境の設定 : Practical Modern Perl (仮)
  • みずほ銀行のマルチベンダー化について解説する - novtan別館

    はてブではすでにボロクソ言われてますね。フラグ立ちまくりと。ちょっとこれは解説せねばなるまいか… 以下はすべてとある人からの伝聞です。伝聞なんだってば。 みずほ銀行が次期システムの開発をマルチベンダー体制で進めることが日経コンピュータの取材で判明した。富士通、日立製作所、日IBM、NTTデータの4社に分割発注する。 [スクープ]みずほの次期システムはマルチベンダー、4社に分割発注 | 日経 xTECH(クロステック) 周知の話だけすると、現行システムにおいては 勘定系(ホスト)…富士通 営業店端末システム…富士通 インターネットチャネル(ダイレクトバンキング)…IBM 情報系システム…IBM 周辺系(中継系)…IBM 外部接続系…日立 コーポレート銀行勘定系…日立 等々、すでにここに出てきているベンダーがマルチベンダーの状態で仕事をしている。また、ここ重要なところだと思うけれども、ベンダ

    みずほ銀行のマルチベンダー化について解説する - novtan別館
  • [スクープ]みずほの次期システムはマルチベンダー、4社に分割発注

    みずほ銀行が次期システムの開発をマルチベンダー体制で進めることが日経コンピュータの取材で判明した。富士通、日立製作所、日IBM、NTTデータの4社に分割発注する。ハードウエアの調達とアプリケーションの開発を分離し、さらに預金や融資といった機能ごとに開発委託先を変える。大手4社に発注を分散させることで、総額4000億円を超えるとみられる大規模プロジェクトにおける技術者確保などに万全を期す。 委託内容と発注先との関係は次のとおりだ(図)。勘定系システムの中核をなす「流動性預金」のアプリケーション開発は、富士通に委託する。富士通はみずほ銀が現在使っている勘定系システム「STEPS」の開発元である。 流動性預金のアプリケーションの動作プラットフォームには、日IBM製メインフレームを使う。みずほ銀は「CIF(カスタマー・インフォメーション・ファイル)」や「処理フロー制御」など、各アプリケーション

    [スクープ]みずほの次期システムはマルチベンダー、4社に分割発注
  • ソフトウェア開発プロセス残酷物語 - give IT a try

    昔々、あるところにジェイソンという、大変真面目な開発者がおりました。 彼がとある会社の情報システム部にやってきたとき、彼は社内システムのクオリティのひどさに衝撃を受けました。 情報システム部といっても、その会社では外注はせず、社内の開発メンバーがシステムを作っていました。 ジェイソンがそこで最初に担当したシステムは、見事なまでのスパゲッティコードでバグだらけ、データ設計も素人レベルでパフォーマンスも最悪、エラー処理もずさん、おまけにまともなドキュメントもなく、ちょっとした障害を調査したり、小さな改造を実施したりするのにも、大変な苦痛を伴うという、それはそれは大変なシロモノでした。 このシステムは元々エセーグルという、ちょっと変わった名前の開発者によって作られていました。 しかし彼はすでに別の開発チームに異動していて、こちらの質問には答えてくれますが、もはや人が直接手を動かすことはありませ

    cubed-l
    cubed-l 2012/08/27
    ジェイソンさんの失敗談ってだけだよね?
  • ソーシャルゲームスケールアウトの歴史

    Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法

    ソーシャルゲームスケールアウトの歴史
  • @yohei さんの品質についての考え

    YAMAMOTO Yohei @yohei まず、テストって言葉は広いからうまくどの「テスト」について話しているのかを切り分けないと混乱しますね。特に開発者テストといわゆる品質保証的なテストとが混乱すると悲劇。そういう意味でTDDって言葉は功罪あったと思う 2011-12-21 06:12:44 YAMAMOTO Yohei @yohei 僕がブックマークでコメントしたプロセスを強化する方向が楽だからというのは、何か問題が起きたときの対策として、その原因を突き止めてそれが再発しないことをプロセスに落としこむの方が楽だからという意味です 2011-12-21 06:15:31 YAMAMOTO Yohei @yohei もちろんプロセスの強化が必要な場合もある。でもそれってものすごく基的なプロセスが間違っていたとか、ひどいミスが多発した場合に必要なことであって、プロセスの強化だけで何か解決

    @yohei さんの品質についての考え
  • 単体テスト/結合テストなんて存在しない

    テストプロセスを再定義する時代が来た。 単体テスト、結合テスト、システムテストといったテストレベルがテスト設計において寄与しているメリットはあるのか? また、それらが結局はプロジェクトのマイルストーンをひくための単なる慣習的な単語であり、実作業に悪影響を与えているのではないか。 という疑問をもったうさみみことkyon_mmの話にソフトウェアテストクラスタの方がつきあってくださいました。 kyon_mmは現在、ソフトウェアテストを勉強しはじめたばかりの人です。 続きを読む

    単体テスト/結合テストなんて存在しない
  • 派遣PG時代の思い出

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

    派遣PG時代の思い出
  • Web Applicationを綺麗に設計するためのMVACという考え方 - $shibayu36->blog;

    【2016/03/04追記】以前まとめたこのMVACという名前の設計は既に古くなっており、今はこのようなアーキテクチャで設計していません。 こんにちは。最近ははてなでMVACというアーキテクチャに則って開発をしているのですが、ようやく意味を理解できてきました。そこで今回は「Web Applicationを綺麗に設計するためのMVACという考え方」について、サンプルを交えながら説明していこうと思います。かなり長くなってしまったので、時間があるときにでもどうぞ。 MVACって? データソースやロジックを扱う「Model」、表示・出力を管理する「View」、複数のModelとControllerをつなぐApplication、ユーザのリクエストなどを受け取りViewやApplicationを制御する「Controller」の4つの要素を組み合わせてシステムを実装する方式。MVCをさらに抽象化した

  • Eclipseプラグイン開発の感想

    2010年後半に、拙作のHTTPデバッグ用ソフトウェアであるDoorman@JUMPERZ.NETをEclipseプラグインに移植した(詳しくはこちら)。これは筆者にとって初めてのEclipseプラグイン開発であった。そのとき感じたことを簡単にこのエントリにまとめてみたい。 Doorman@JUMPERZ.NETというソフトウェアは、2007年に筆者が拙著「ウェブアプリケーションセキュリティ」執筆の際に作成したものである。ローカルマシンで動作するGUIのHTTPプロキシサーバであり、ウェブブラウザとウェブサーバの間に位置し、そこを通り過ぎるHTTPリクエストとレスポンスをユーザが自由に見たり書き換えたりすることで、ウェブ開発の際のデバッガとして使用することができる。筆者はウェブアプリケーション開発者でもあるので、自分自身の開発の際などにも便利に使っている。 2007年のリリース時、このソフ

  • 「ソフトウェアテストとは、ツールではなく、頭で行うもの」 JaSST '11 Tokyoでリー・コープランド氏が基調講演 − @IT

    「ソフトウェアテストとは、ツールではなく、頭で行うもの」:JaSST '11 Tokyoでリー・コープランド氏が基調講演 ASTER (ソフトウェアテスト技術振興協会)が1月25日、26日に開催しているソフトウェアテストシンポジウム「JaSST '11 Tokyo」(Japan Symposium On Software Testing)で、世界的に有名なソフトウェア技術者、リー・コープランド氏が基調講演を行った。氏は、“イノベーション”と評価すべき、開発やテスト分野における複数の手法・事象を紹介する中で、「テストにベストプラクティスはない」と指摘、「各社が状況に応じて、あらゆる手法を使いながら“自社に最適”な取り組みを行う」ことの重要性を示唆した。 テストとは、ツールではなく、テスターの頭で行うもの コープランド氏はSoftware Quality Engineering社に所属し、幾多

    「ソフトウェアテストとは、ツールではなく、頭で行うもの」 JaSST '11 Tokyoでリー・コープランド氏が基調講演 − @IT