タグ

developmentに関するrydotのブックマーク (315)

  • 優れた開発者の習慣:Apple系ソフト開発者以外にもオススメのWWDC2019で発表されたセッション和訳 - Qiita

    初投稿です。 先日、WWDC2019に行ってきたのですが、そこである素晴らしいセッションに出会いました。 "Great Developer Habits" (優れた開発者の習慣) by Josh Tidsbury SwiftUIでもなければ、iOS13の新機能でもない。 一見するとあまり花のないセッションタイトルでしたが、内容はとても素晴らしいものでした。 忘れ去られるにはもったいないセッションでしたので、トピックを要約・和訳させていただきました。 Apple系の開発者に依存しない内容がほとんどです。 ぜひ、自分の開発体制を見直したりする一助としていただければと思います。 この記事の元セッション セッションのビデオ(約35分) 導入 私たちのチーム(Technology Evangelism)は真に素晴らしいアプリをデベロッパーの人たちに作ってもらうために存在している。 今日紹介するTip

    優れた開発者の習慣:Apple系ソフト開発者以外にもオススメのWWDC2019で発表されたセッション和訳 - Qiita
  • ツールは解決策ではない | POSTD

    最近、『The Atlantic』に掲載された非常に重苦しい 記事 「The Coming Software Apocalypse」(きたるソフトウェア大惨事)を読み終えました。同記事は最初のうちは、人に傷害を与えたり、人の命を奪ったりした恐ろしいソフトウェアバグについて述べており、いい内容です。しかし、途中から急に残念な展開になっているのです。 同記事の著者はソフトウェア業界の多くの思想的リーダーにインタビューをしましたが、 Light Table 、 モデル駆動工学 、 TLA+ といった新しい技術を生み出したリーダーだけを選んでいます。 私はこうしたツールに何ら反対しているわけではありません。Light Tableプロジェクトに資金提供さえしました。優れたソフトウェアツールは優れたソフトウェアを書きやすくすると思います。しかし、ツールは「大惨事」に対する解決策ではありません。 著者は

    ツールは解決策ではない | POSTD
  • オーバーエンジニアリングの正体とその向き合い方 | POSTD

    (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) 問題は細部(あるいはその欠如)にあり。 議論とは、ソフトウェア開発の基的な構成要素であり、スケーラビリティを向上させるためには避けられない摩擦であると言えます。議論を通して私たちは出来上がるものの品質に影響を与え得るような問題を早い段階で浮かび上がらせることができるのです。その1つがオーバーエンジニアリングの問題です。 ウィキペディアによると、オーバーエンジニアリングとは下記のとおりです。 十分な 安全率 や十分な機能の確保のためか、あるいはデザイン上の誤りのどちらかの理由から、アプリケーションが必要とする以上に強固で複雑なプロダクトがデザインされてしまうこと。 また、ウィキペディアには、オーバーエンジニアリングが好ましい場合として、さらに、このようなことも書いてあります。 ある特定の基準の下で安全

    オーバーエンジニアリングの正体とその向き合い方 | POSTD
  • 役立つコードレビュー 8つのヒント | POSTD

    役立つコードレビュー(CR)のコツは、学校では習いません。アルゴリズム、データ構造、プログラム言語の基礎は習っても、確実に役に立つフィードバックを返す方法をじっくりと教えてくれる人はいないでしょう。 コードレビューは優れたソフトウェアを作り出すには欠かせないプロセスです。レビューを通したコードは、そうでないコードよりも 質が高く、バグが少ない 傾向があります。健全なコードレビュー文化には、副次的な利点もあります。たとえば、 バス因子 を押しとどめる、新メンバーのトレーニングに最適なツールになる、など。また、コードレビューは優れた知識共有の手段でもあります。 前提 まずは、この記事のポイントの前提を提示する必要があるでしょう。それは以下のとおりです。 信頼のおける環境で作業をしている。あるいは、あなたとチームは、あなたの信頼性を高めることを目指して作業している。 コードではないシナリオでフィ

    役立つコードレビュー 8つのヒント | POSTD
  • ソフトウェア設計が重要である理由 | POSTD

    新しいプロジェクト始まると、開発者はいきなりプログラミングに飛びつく傾向があります。それもいいでしょう。結局、それが仕事なのですから。でも、時には飛びつく前にブレーキをかけて、ソフトウェア設計から手を付けるのもいい考えかもしれません。 “ホワイトボードを使う長袖のホワイトシャツの男性”(出典: Trent Erwin / Unsplash ) ソフトウェア設計にはいろいろな方法があります。UMLなどのモデリング言語のソフトウェアを利用することもできるし、 テキストを書いて 画像を使うこともでき、あるいはホワイトボードに描くこともできます。ここで大切なのは、ソフトウェアの開発中に設計を保存して再考できることです。設計は多少なりとも改善していかなければなりません。ですから、いつも最初からホワイトボードに描きたいというわけではないのならばデジタルデータで、設計を行うのも良さそうです。データの保存

    ソフトウェア設計が重要である理由 | POSTD
  • 牛乳卵問題に学ぶ、`要望` と `要件定義` と `設計` と `実装` の違い - Qiita

    はじめに 有名なプログラマージョーク プログラマの夫に「買い物にいって牛乳を1つ買ってきて。卵があったら6つお願い」と言ったら、夫は牛乳を6パック買ってきた。 プログラマーを笑う自虐ジョークとして使われがちですが、 良い題材なのでこれを元に要望 と 要件定義 と 設計 と 実装 の違いを纏めてみましょう。 下記、それぞれのフェーズの原理原則論を記載します。 各フェーズの原理原則 1. 要望 顧客()の要望 を書き出す:顧客の仕事 買い物に行って牛乳を1つ買ってきて、卵があったら6つお願い。 2. 要件定義1(ダイジェスト) 顧客の要望から曖昧な点を除いて復唱する:PM仕事 上記だとプログラマーの夫は牛乳を6買ってきました。夫はに、要望をより具体的な形で復唱する必要があります。 ここでは、卵を6つ買ってくるという事を確認することで事故を防ぐことができます。 牛乳を1買ってくる 卵が

    牛乳卵問題に学ぶ、`要望` と `要件定義` と `設計` と `実装` の違い - Qiita
  • 派生開発推進協議会(AFFORDD)

    2021年 [06/17] 派生開発カンファレンス2021のプログラムページに講演中のQ&Aを公開しました。new!! [06/17] 派生開発カンファレンス2021開催報告を公開いたしました。new!! [06/08] 派生開発カンファレンス2021の講演動画をYoutubeのAFFORDDチャンネルに登録しました [06/08] 派生開発カンファレンス2021のプログラムページに講演資料を公開しました。 [05/18] 派生開発カンファレンス2021に意見交換会の実施を追加しました。 [04/12] 派生開発カンファレンス2021の参加受付を開始しました。 [03/04] 派生開発カンファレンス2021のスポンサー募集を掲載しました。 [01/17] 派生開発カンファレンス2021の発表募集を掲載しました。 [01/17] ET2020 AFFORDDセッション 開催報告を公開いたしま

  • モノリシックなバージョン管理の利点 | POSTD

    以下は、私がよく交わす会話の一例です。 人物A:FacebookやGoogleは、巨大なモノリシックリポジトリ(モノレポ)を使っているんだってよ。 私:みたいだね。あれは当に便利だと思う。 人物A:僕に言わせれば最悪の愚行さ。全てのコードを単一のリポジトリに入れるのがヒドイ考えだと、FacebookやGoogleはなぜ思わないんだろうか。 私:FacebookやGoogleエンジニアたちも小さなリポジトリには精通しているだろうけど( 濱野純(Junio Hamano) 氏はGoogle勤務だし)、単一の大きなリポジトリの方が、きっと”ある理由”で好みなんだよ。 人物A:なるほどね。僕としては、まだちょっと違和感はあるけど、モノレポが使われる理由は分かったような気がするよ。 “ある理由”はかなり長いので、同じ会話を何度も繰り返さなくていいように、ここに書き留めておこうと思います。 シンプ

    モノリシックなバージョン管理の利点 | POSTD
  • 属人化を避ける - Qiita

    属人化の理由 個人の問題 手抜きやバグを隠す たとえば、仕様書外の動作を実装し、それをプロジェクトで利用する 解雇されないための保険的行動 チームの問題 マニュアルを作る文化の欠如 他人のタスクに対する無関心 他人の監査なしにプロジェクトを更新可能 どうやって属人化を避けるのか 間違った対策 ○○さん以外にもマニュアルなしで操作できる人間を育成 育成した人が全滅すればやっぱり同じ状況 全員がすべてのプロジェクトに精通するとかはムリ 正しい対策 モジュールごとに仕様書を用意 間違って使うことが難しい仕様とする 即ち、仕様書を読まなくてもある程度正確に使える お互いにコードレビューさせる 具体的にはどうすれば良い? テスト・仕様書・利用例 テストは仕様書のベースとなる 仕様書を見れば、深い動作がわかるようになる 仕様書を読まなくても、利用例を見れば使える 全員がテストできる環境を作る 前提条件

    属人化を避ける - Qiita
  • テスト自動化研究会 - テスト自動化の8原則

    1. 手動テストはなくならない 2. 手動でおこなって効果のないテストを自動化しても無駄である 3. 自動テストは書いたことしかテストしない 4. テスト自動化の効用はコスト削減だけではない 5. 自動テストシステムの開発は継続的におこなうものである 6. 自動化検討はプロジェクト初期から 7. 自動テストで新種のバグが見つかることは稀である 8. テスト結果分析という新たなタスクが生まれる これらの原則は、どのようなドメイン、プロセス、ツールの現場におけるテスト自動化であっても共通して言える、テスト自動化に取り組む前に留意しておくべきことがら=原則を、テスト自動化研究会のメンバーによる議論のうえ、絞り込んだものです。これからテスト自動化に取り組まれる方、現在取り組まれている方、これから見直しをされたい方にご参考いただければ幸いです。 解説 1. 手動テストはなくならない ユーザビリティテ

    テスト自動化研究会 - テスト自動化の8原則
  • あなたの開発、Hype(誇大宣伝) Driven Development になっていませんか? - Qiita

    去年ですがmediumで話題になっていた記事にHype(誇大宣伝) Driven Development(HDD)というものがあります。 国内でもこれで失敗している例をよくみかけますし、とても共感したので紹介できればと思います。 翻訳ではなく、自分なりに噛み砕いて個人的な考えなども入れています。 概要 HDDとは一言でいえば、技術選定という重要なプロセスを他人任せにしてはならないという啓蒙です。 誰かが良いと言っているという理由で技術選定をしてはいけません。 例えば以下を理由に技術選定するのは Hype Driven Development(HDD)です。 ・すごく偉い人がおすすめしていた ・カンファレンスですばらしい技術だと紹介されていた ・新しい技術だ ・人気が急上昇している ・超有名企業のA社が導入した その技術は自分たちのどんな問題を解決してくれるのか。 開発の規模に、自分たちのス

    あなたの開発、Hype(誇大宣伝) Driven Development になっていませんか? - Qiita
  • 若手エンジニアを不幸にしないための開発の「べからず」集 - Qiita

    若手エンジニアを不幸にしないための開発の「べからず」集を書いてみました。 「若手エンジニアを不幸にしないため」とは書いていますが、若手に限った内容ではありません。 いろんな開発の「べからず」のために不幸になるのは、とりわけ若手が多いということを意識したためだと思ったからです。 ・若手には、方針の決定権がない。 ・若手は、組織の中で道具のように扱われてしまう場合がある。 ・(今の)若手は、将来も働き続けるための力を付けるための組織内での教育が、(昔ほど)なされなくなってきている。 ・コスト意識が乏しいので必要性が乏しいことについてまで残業前提の仕事のスケジュールを組織がたてることが多い。(その分野の理論を知っていれば自明のことを実験で証明することを要求されるのは苦痛である。) 設計指針の「べからず」 何ができれば十分かを明確にしない 開発目標は、何ができれば十分なのかを明確にしないまま、追加

    若手エンジニアを不幸にしないための開発の「べからず」集 - Qiita
  • 本当に怖いC++erとC++という糞言語 - 神様なんて信じない僕らのために

    かつて、ゲームプログラミングはアセンブリが主流で、8bitCPUは掛け算や割り算すらないものでした。割り算がないCPUっていつの時代だよ、っていう人たちもおりますが、ゲームボーイアドバンスに搭載されているARM7TDMIは除算の命令を持っていません。(故に除算を書くと死ぬほど遅いので、乗算で代用したりする) また、浮動小数に対する演算ユニットを持っていないハードウェアもあります。ニンテンドーDSに搭載されているARM946E-Sですら、浮動小数演算ユニットはありません。(CPUの機能としてはオプションで存在する)そのために固定小数点といった技術もあるわけですが、古くさい話です。 これらはCとC++の機能を駆使していかにパフォーマンスを出すかを余儀なくされた時代です。 さておき、最近はスマートフォンでのゲーム開発も進化しており、C++iPhoneAndroidの両方で動くということもあ

    本当に怖いC++erとC++という糞言語 - 神様なんて信じない僕らのために
  • Project Facilitation

    Developers Summit 2022の登壇スライドです。 https://event.shoeisha.jp/devsumi/20220217/session/3647/ 俺のプロダクト開発用語辞典 https://www.youtube.com/channel/UCnUdhofhFN2RotPou4a55_w オーバーエンジニアリングとは? https://www.youtube.com/watch?v=6XQOSj7rutI オーバーエンジニアリングとは(ブログ版) https://i2key.hateblo.jp/entry/2021/12/25/101957

    Project Facilitation
  • 【ネタバレ注意!!】「FFXV」サウンドのコアテクノロジー「MAGI」の全貌が公開 チョコボからイフリートまで! 素晴らしきインタラクティブミュージックの世界

    【ネタバレ注意!!】「FFXV」サウンドのコアテクノロジー「MAGI」の全貌が公開 チョコボからイフリートまで! 素晴らしきインタラクティブミュージックの世界
  • CEDEC2014 「ライブラリを作ってはいけない ~それでも作りたいあなたへのアドバイス~」

    社内ライブラリを8年間に渡って作り、サポートし続けてきた講演者が、1~2年で完成するだろうという当初の想定とは裏腹に、なかなか進まない作業、得られないサポート、バグの押し付け合い、それら数々の修羅場から得られた、技術面およびサポート面でのノウハウをお伝えします。 http://cedec.cesa.or.jp/2014/session/ENG/8073.html ※2014/9/4にCEDEC2014@パシフィコ横浜で行った講演です。Read less

    CEDEC2014 「ライブラリを作ってはいけない ~それでも作りたいあなたへのアドバイス~」
  • システム開発をラーメンの注文に見立てたツイートが話題に!「納得」「うちの業界でも…」と悲痛な声が…

    ケルビン@斜壊人 @legendkelbin ラーメン屋で「醤油ラーメン」と注文した後に「半ライスつけて。餃子つけて。やっぱ塩で。ネギ多め。やっぱ炒飯で。メンマつけて。やっぱ味噌で。もやしつけて。海苔要らない」位の追加注文した客が、最初の醤油ラーメン代だけ払って帰るのを呆然と見るのがシステム開発です。

    システム開発をラーメンの注文に見立てたツイートが話題に!「納得」「うちの業界でも…」と悲痛な声が…
  • 業務でWebサービス開発をする際に気をつけたいこと(新卒向け) - Qiita

    趣味でも業務でも日々Webサービスを開発しているzaruです。こんにちは。ついにアドベントカレンダーも最終日です。まだサンタとしての仕事が残っています。さて今回は仕事としてWebサービスを開発するときに気をつけたいポイントを紹介します。まぁ仕事に限った話じゃないですが…参考になれば幸いです。特に新卒プログラマあたりに読んでもらえればと思います😀 なお僕の業務上インフラ周りはAWSが多いです。 RASISという指標 RASISという指標があります。コンピュータシステムの評価指標5つの頭文字を取ったものです。 Reliability(信頼性) Availability(可用性) Serviceability(保守性) Integrity(保全性) Security(機密性) 今回はこの5つの指標に沿ってポイントを紹介していきます。RASIS自体については色々なところで解説されていると思うので

    業務でWebサービス開発をする際に気をつけたいこと(新卒向け) - Qiita
  • イケイケなベンチャーの開発チームが、大企業的な開発チームになってしまう5つの兆候 - Qiita

    はじめに この記事は CrowdWorks Advent Calendar 2016 18日目の記事です。1 やすにしと申します。世間一般的に言う、ジャーマネ的なことをやらせていただいております。組織というのはナマモノでして、常に変化し、課題の種のようなものを見過ごすと、後々大変なことになることが多くあります。とはいえ、うまくいっても空気のように当たり前となりますし、うまくいかないと批判の的になるというなんとも世知辛い役割ですね。 我々も、5人ほどのエンジニアだった組織が、9ヶ月ほどで30人を超え、大きな変化を迎えました。人数が多くなるということは、課題が変容し複雑になるということ。当然ながらその複雑な課題に対して対処するわけですが、そこで多くの会社は「マネジメント」をしようとします。ただ、そのマネジメントもやり方を間違えると、活力や改善や変革をする芽を奪ってしまい、一気に硬直化し、数人だ

    イケイケなベンチャーの開発チームが、大企業的な開発チームになってしまう5つの兆候 - Qiita
  • QAエンジニアを通じて�弊社の開発環境がより良くなる日� 〜 OpenSTF 編 〜

    QAエンジニアを通じて�弊社の開発環境がより良くなる日�〜 OpenSTF 編 〜 グリー株式会社 QA&LQAチーム エンジニア 佐藤将高 ※「第10回若手Webエンジニア交流会 #wakateweb」での発表資料です。 http://wakateweb.connpass.com/event/20386/Read less

    QAエンジニアを通じて�弊社の開発環境がより良くなる日� 〜 OpenSTF 編 〜