並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 222件

新着順 人気順

コードの検索結果81 - 120 件 / 222件

  • 優秀なエンジニアは「コードが汚いから読めない」なんて言わない【ひろゆき×安野たかひろ】 - エンジニアtype | 転職type

    ひろゆきさんが今話したいエンジニア(あるいはプロダクトの作り手)に聞いてみたかったことを聞いていく本連載。話題のプロダクトを、ひろゆきさんはどうみるのか? 「僕ならこうつくる」というひろゆき案も飛び出すかも!? 「世の中をあっと言わせるプロダクトが作りたい」エンジニアのみなさんにヒントを届けます。 ひろゆきさんが「今、話したい人」と対談する本連載。今回のゲストは、先の東京都知事選に出馬したAIエンジニアの安野たかひろさんです。 日本のAI研究をリードする松尾豊教授の研究室出身で、AIスタートアップ2社の経営者としての顔も持つ安野さんに対する一つ目の質問は

      優秀なエンジニアは「コードが汚いから読めない」なんて言わない【ひろゆき×安野たかひろ】 - エンジニアtype | 転職type
    • 「影響範囲の考慮漏れ」によるソフトウェアトラブルの多発はビジネス継続性に対する危険信号|mtx2s

      リリースするたびに「影響範囲の考慮漏れ」によるトラブルを起こす。こういう症状は、既存のソフトウェアシステムに追加開発を繰り返す組織によく見られるのではないかと感じます。コードやシステムの変更が影響を及ぼす箇所を見逃してしまい、未修正な箇所が残されたまま本番リリースされたために発生するトラブルです。 このようなトラブルが頻発すれば、関係者らは不満を感じます。エンジニアたちの能力に不信感を抱くかもしれません。 しかし、不満の矛先をエンジニアに向けたところで問題が解決することはありません。そもそも原因を見誤っているからです。根本的な原因は、もっと奥深くにあります。 影響範囲の考慮漏れの多発は、ソフトウェアシステムが大きな問題を抱えていることを知らせるサインです。このサインを見逃して表面的な対策ばかりを続けていると、症状が良くなるどころか、かえって悪化し続けることになるでしょう。 問題/原因の3層

        「影響範囲の考慮漏れ」によるソフトウェアトラブルの多発はビジネス継続性に対する危険信号|mtx2s
      • 競プロ出身者・機械学習出身者の問題コード

        https://anond.hatelabo.jp/20240625191650 競プロ出身者だけじゃなく、機械学習出身者も問題コードが多い 印象の問題ではなく実際に下記のようなコードが多い 念のため言っておくと底辺大や文系出身プログラマーも同様の傾向にある 正常系しか意識していない一番多いのはコレで異常系の動作を全く意識していない 入力値に想定外のものが入ることを考えていなかったりI/Oに関わるエラーについても配慮がない 「エラーが出たらとにかくtry-catchしてログ吐いて終わり」 ならまだマシな方で、「握りつぶして処理続行」みたいなことも平気でやる 「ここの処理でエラーログが出てるから対処よろしく」 「対処しました!(握りつぶし)」 とか滅茶苦茶多い セキュリティに関する意識が低い異常系の話と被るけど基本的に性善説でコード書くのでセキュリティの不備がめちゃくちゃ多い API作らせて

          競プロ出身者・機械学習出身者の問題コード
        • 大ヒットゲーム『Balatro』のコードが“力業”だとして共感呼ぶ。コードが汚くても、ゲームが完成してちゃんと動けばそれでいい - AUTOMATON

          ゲームを制作する際に必要となるプログラム。そのコードの記述にあたっては「コーディングルール」などとして、構造の把握のしやすさなどが求められることがある。一方で今回、あるユーザーが『Balatro』のコードの一部を公開。コードにif文が多用されている点などから注目されているものの、「見づらかったり、複雑なコードでもほぼ問題なくゲームを完成させられる」事例として共感も呼んでいるようだ。 コードのわかりやすさ ゲームの制作にあたっては、基本的にはプログラミング言語を用いてソースコードを書くといった、プログラムの記述が必要となる。プログラミング言語としては、「C++」「C#」のほか「Java」「Ruby」など、さまざまな種類の言語が存在している。 またゲーム開発に限らず、複雑なプログラムを作成する際には、効率性や可読性が重視される傾向にある。つまり、ゲーム機やPCにおけるメモリやCPUなどといった

            大ヒットゲーム『Balatro』のコードが“力業”だとして共感呼ぶ。コードが汚くても、ゲームが完成してちゃんと動けばそれでいい - AUTOMATON
          • 2024年版 HTMLで作るフォームバリデーション - ICS MEDIA

            すべてのフォームが要件を満たしている場合のみ、送信できます。 フォームバリデーションのデザイン 上記の例では最低限のHTMLのみ実装されています。しかし、実際のサイトではバリデーションエラーをユーザーにフィードバックする必要があります。よりユーザビリティの高いフォームでは、以下の点を検討する必要があります。 エラー時のスタイル エラーメッセージの出し方 バリデーションエラーの表示タイミング 以下では、それぞれについて深堀りします。 エラー時のスタイル エラーを検知する方法として、CSSには:valid疑似クラスと:invalid疑似クラスがあります。これらの疑似クラスは『CSS疑似クラスを活用した、モダンでインタラクティブなフォームの作り方』でも紹介されている、バリデーションエラーが起きている要素にのみ適用されるクラスです。 しかし、この疑似クラスには欠点があります。required属性を

              2024年版 HTMLで作るフォームバリデーション - ICS MEDIA
            • 話題のClaude「Artifacts」は対話型AIにおける「UX革命」である|梶谷健人 / 新著「生成AI時代を勝ち抜く事業・組織のつくり方」

              ChatGPTのライバルサービスの一つである「Claude」が、彼らのサーバーが一時パンクするくらい話題になっている。 その理由は、運営元のAnthropicが発表した2つのリリースだ。 リリースの1つ目は新しい大規模言語モデル「Claude 3.5 Sonnet」のリリース。そしてもう一つが、今回の話題の中心である「Artifacts」機能のリリースだ。 「Claude 3.5 Sonnet」は、ほぼ全てのベンチマークでOpenAIの最新モデル「GPT-4o」を打ち負かしており、処理スピードは前モデルの「Claude 3 Opus」の2倍で、API費用は1/5程度に下がっている。 シンプルに性能、速度、費用面などの面でトップクラスの大規模言語モデルが登場したのだ。 しかし、今回Claudeが話題になっている理由は「Claude 3.5 Sonnet」というよりも、もうひとつのリリースであ

                話題のClaude「Artifacts」は対話型AIにおける「UX革命」である|梶谷健人 / 新著「生成AI時代を勝ち抜く事業・組織のつくり方」
              • JavaScriptの小技集 - Qiita

                はじめに 初投稿です。 知ってたら便利になる小技が無かったのでまとめました。 「小技が知りたい...だけど検索しても出てこない...!」 そういう時に役立ちます。 比較的古いバージョンのJSでは一部の小技が使えないかもしれません。 随時追加予定です。他に小技をご存じの方はコメント欄にGO。 おことわり この記事は、あくまで"こんなやり方もあるよ"と紹介しているだけなので、何でもかんでもこれらの小技を使うと、かえってコードの可読性を下げる可能性があります。コードサイズと可読性を天秤にかけてどちらが良いかを都度確認しましょう。 記事内の間違った部分の指摘等はこの記事のコメントや編集リクエストでして下さい。 当方コードゴルファーなので、バイト数短縮小技も入れていることをご了承ください(一応該当する節には*をつけています)。 配列 配列の重複した値を削除1 const meta = ["foo",

                  JavaScriptの小技集 - Qiita
                • 『ルールズ・オブ・プログラミング』を読んだ #iknowtherulesjp - Don't Repeat Yourself

                  Ghost of Tsushimaなどを作った会社の人が書いた本です。ゲーム開発におけるコードを書く際の教訓を整理し、改めて示し直したいい一冊だったと思います。大事なことですが、著者は決して「このルールを絶対使え」と言っているのではなくて、そもそもまず会社の製品の特性上、このようなルールを敷いておくと品質や生産性を高く保てたという前提があり、その前提を元に「ルールを選び取って自分たちのコーディング哲学を構築しよう」と推奨しています。 ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール 作者:Chris Zimmermanオーム社Amazon この手の本では『リーダブルコード』がよく薦められる傾向にあると思います。私にとってもリーダブルコードは確かに駆け出しの頃すごく役に立った記憶はあるのですが(もう10年くらい前に読んだので正直忘れた)、そこから知識がアップデートされ

                    『ルールズ・オブ・プログラミング』を読んだ #iknowtherulesjp - Don't Repeat Yourself
                  • GPT-4oをOCRとして使う - Re:ゼロから始めるML生活

                    OpenAIからChatGPT-4oが発表されましたが、皆さんガンガンつかっていますでしょうか? さて、このChatGPT-4oですが、テキスト以外のデータも使用できるようになっているという特徴があります。 普通にテキストでのやり取りをしつつも画像データを扱えるということで、「実はこれいい感じのOCRとして使えるんじゃね?」って思っちゃったわけです。 ということで、今回はChatGPT-4oを使ってOCRを使うとどんなもんなのかやってみたいと思います。 やりたいこと やってみる とりあえずやってみる 請求書 名刺 参考文献 感想 やりたいこと 今回やりたいことはOCRです。早い話が画像ファイルを突っ込んでテキストを読み取りたいって感じです。 ただ、当たり前のようにOCRって言葉を使用していますがOCRって結構奥が深いです。 mediadrive.jp 単純に画像から文字を見つけて対応するテ

                      GPT-4oをOCRとして使う - Re:ゼロから始めるML生活
                    • TypeScriptで知ってコードの安全性が上がったtips集

                      TypeScriptを用いた開発では、その型システムを活かしてランタイムエラーを事前に防いだり、実装漏れを防いだりとコードの安全性の向上を図ることができます。 本記事では、個人的に知ったおかげでコードの安全性が増した!と感じたtipsをまとめました。 ※ なお、linterを用いたコードの安全性向上も非常に有効ですが、この記事では主にTypeScriptの型システムに焦点を当てています。 tips集 配列周りのtips まずは配列を扱う際に役立つ、tipsを紹介します。 配列からUnion型を作成する ↓のように(typeof array)[number]で配列の全要素を持つUnion型を作成できます。 const fruits = ["apple", "banana", "lemon"] as const; type Fruit = (typeof fruits)[number]; //

                        TypeScriptで知ってコードの安全性が上がったtips集
                      • その例外、いつキャッチするの?

                        はじめに 最近、若手のコードレビューをしていて例外の使い方を教える機会があったので、ブログの方にもまとめたいと思います。今回はバッチ編。オンラインだとまた少し違う観点があると思います。また、言語はJavaを前提していますが考え方は例外機構をもつ言語ならあまり変わりません。 TL;DR 例外は原則キャッチしない。バッチは速やかに殺せ 個別箇所でログを出さずに必要な業務情報はExceptionを入れ子にして乗せる 長いバッチのためにはスキップもやむなし 原則、例外はキャッチしない JavaにはErrorとExceptionが存在し、OutOfMemoryErrorとかプログラム上ではどうしようもないものがエラー、ファイルが存在しない(FileNotFoundException)とかプログラム側でハンドリングするもの、と教科書では習うと思います。なのでException系はキャッチするものと、と

                          その例外、いつキャッチするの?
                        • Google Apps Script は、もはやエンジニアが書かない方がいいまである

                          ラブグラフでエンジニアをしています横江 ( @yokoe24 ) です。 ラブグラフでは、エンジニア以外で Google Apps Script (GAS) を書く方も多く、 Slack通知の自動化など、業務の効率化がおこなわれています。 マジですごいと思います! GASをエンジニア以外が書く問題点 一方で、コードを見るとプログラマーからするとムズムズするところもあります。 変数名に snake_case が混ざっている インデントが揃っていない for文の中で getValue() を回している Google Apps Script の getValue() メソッドはコストが高く、何度も実行するとタイムアウトの可能性が高まる == で比較している double quotes " と single quotes ' が混ざっている こういうコードを見ると直したくてウズウズしてしまいます。

                            Google Apps Script は、もはやエンジニアが書かない方がいいまである
                          • HTMLはdiv要素一つだけ、あとはCSSをコピペするだけで100種類以上のリボンを簡単に実装できる -CSS Ribbon Shapes

                            HTMLはdiv要素一つだけ、あとはCSSをコピペするだけで約100種類のリボンを実装できるCSS Ribbon Shapesを紹介します。 リボンは、よく見かけるシンプルなリボンをはじめ、パネルに垂れ下がるようなリボンや複雑な形状のリボンまでたくさんあります。リボンを実装するときには、ここを見ればコピペで簡単に実装できます。

                              HTMLはdiv要素一つだけ、あとはCSSをコピペするだけで100種類以上のリボンを簡単に実装できる -CSS Ribbon Shapes
                            • なぜファイルの末尾に改行を入れたほうが良いのか - Qiita

                              はじめに ファイルの末尾には改行を入れたほうが良いのでしょうか。 「ファイル 末尾 改行 POSIX」等で調べると、規格の観点から改行を入れた方がいいという話が出てくるのですが、今回はgitの仕組みの観点からも改行を入れたほうが良いという話をします。 GitHub上での末尾改行の警告 例えば末尾に改行のないこんなファイルが有るとし、commitしてGitHubにpushすると以下のような表示になります export function hello(name: string) { return `Hello, ${name}!`; }

                                なぜファイルの末尾に改行を入れたほうが良いのか - Qiita
                              • プログラミング支援AIサービスが主要各社から出揃う、各サービスのまとめ。GitHub/AWS/Google/GitLab/JetBrains

                                プログラミング支援AIサービスが主要各社から出揃う、各サービスのまとめ。GitHub/AWS/Google/GitLab/JetBrains AIがプログラミングを支援してくれるサービスが主要各社から出揃いました。 Publickeyではこれまで各社の発表時点でそれぞれのサービスを紹介してきましたが、ここであらためて主要各社のプログラミング支援AIサービスをまとめます。 本記事では、各AIサービスごとの主な機能などをリストアップしています。ただし、実際にはAIに指示などをすれば品質の差異はあれどおそらく何らかの結果は返ってくるであろうこと、この分野は急速に進化していて各社とも積極的な能力向上と機能追加を行っていくであろうことから、現時点で機能差はあったとしてもそれほど顕著な違いとは言えないでしょう。 そして、おそらくは今後各社のコード生成関連のAIの能力はある程度十分な高さまで急速に到達し

                                  プログラミング支援AIサービスが主要各社から出揃う、各サービスのまとめ。GitHub/AWS/Google/GitLab/JetBrains
                                • 新卒向け「テストコード」の研修資料 Sansanが無料公開 Python上でのテスト方法を解説

                                  Sansanは10月25日、テストコードについての研修資料を無料公開した。4月に実施した新卒の技術研修で使った資料の一部で、入社2年目の社員が作成。Pythonのテストフレームワーク「pytest」でのテストコードの書き方や、VSCodeでのテスト方法などを解説している。 同社はテストコードの便利な点として「実行確認しやすい」「リファクタリングや修正後に実行結果や振る舞いが変わっていないことを確認できる」「コードの挙動が理解しやすい」を挙げる。テストコードの重要性を理解し、テストコードを活用できるようになることを目的に研修を行ったとしている。 関連記事 新卒向け「統計学の基礎」100ページ超 SaaS企業が無料で資料公開 ブレインパッドが、新卒研修で使った統計学の学習資料を公開した。統計学の基礎を解説したもので、ページ数は100ページ超。スライド公開サービス「Speakerdeck」から無

                                    新卒向け「テストコード」の研修資料 Sansanが無料公開 Python上でのテスト方法を解説
                                  • DDDの実装にはあまり興味がなくなっている - Mitsuyuki.Shiiba

                                    以前は、DDDでどう実装したらいいかなぁって考えてたんだけど、最近は、そういうことへの興味があまりなくなっている。エンティティや値オブジェクト、集約やリポジトリなど、そのあたりにあまり興味がない。ヘキサゴナルアーキテクチャなども、そんなに考えなくなった。 TypeScriptを使うことが多いので、型でしっかり守るとかカプセル化するとか、そのあたりがどっちでもいっかという気持ちになっていることが影響してるとは思う。TypeScriptでクラスを使おうとはあまり思わないし。BrandedTypeみたいなのを使ってまで型で守ろうとは思わない。 じゃあ何に興味があるんだっけ?って考えてみると、トランザクション境界とユビキタス言語かな。 トランザクション境界 トランザクションの境界を作って、DB(RDBMS)を小さく保ちたいと思っている。DBが大きくなると、すぐに複雑になっていく感じがする。 だから

                                      DDDの実装にはあまり興味がなくなっている - Mitsuyuki.Shiiba
                                    • ChatGPT (o1-preview) にテストを渡してコードを実装させるとどうなるか試した

                                      はじめに 前にも別のモデルでやってる ただ o1-preview は、やり取りを重ねるよりも一発で終わらせるほうがいいらしいので、最終的なテスト全体を渡すようにした。 情報の提示方法が異なると当然結果も変わるので、 gpt-4o でも同様なことを試した。 材料 プロンプトは以下。 基本的に最初にやったときと同じ。ペアプロではないのでその部分の調整をしている - 私がテストコードを提示するのでそのテストケースをパスする最小限の実装をしてください - Vue.js のバージョン 3 と Typescript で実装を行ってください - コードのみを示してくださいコードの解説などは必要ありません - スタイリングは必要ありません - テストケースに失敗したらその内容をチャットで送信するので最小限のコードの修正をしてください - テストのコードには vitest を利用しています jest と互換

                                        ChatGPT (o1-preview) にテストを渡してコードを実装させるとどうなるか試した
                                      • プログラミングの原則:enumの比較はすべてバグ - Uzabase for Engineers

                                        こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 この記事は NewsPicks アドベントカレンダー 2023 の3日目の記事です。 昨日は@J_Nakagawa(隼佑 中川)さんによる『LambdaレスポンスストリーミングとAWS-SDKを使ってSlackに進捗バーを表示させる』でした! 世の中には再現が難しく一見してバグがありそうに思えないコードもありますが、一方でプロダクションコードの中にはひと目見てバグが有りそうなコードもまた多いものです。いくつかの特定のパターンをとる文字列(環境名など)やenum(以下どちらもenumと表現します)に関する条件分岐もその一つです。プルリクを見てこのようなパターンがあれば、バグの疑いが強くなります。周囲を見渡すと、大抵すでにバグっているか潜在バグを含むコードが見つかります。すべてバグというのは言い過ぎにせよ、わかりやすさと変

                                          プログラミングの原則:enumの比較はすべてバグ - Uzabase for Engineers
                                        • きれいなコードは互いに似通っているが、クソコードはどこもその趣が異なっている - きしだのHatena

                                          先日のJJUG CCC 2023 Fallの懇親会でクソコードを研究しているという学生がいたのだけど、クソコードの研究は難しいという話をした。 人工的にクソコードを再現しても、あの野生のクソコードのクソさには全く足りないわけで。 トルストイが言うように「すべてきれいなコードは互いに似通っているが、クソコードはそれぞれにクソの趣を異にしているものである」なので、なかなか「これがクソコード」のように類型化するのも難しい。 典型的なクソコードを書いてみても、なんだかきれいなクソコードができてしまう。 クソコードはネットに出回らないので、資料の収集もまた難しい。ネットにないということは、ネットの情報に基づいている「AI」もホンモノのクソコードには触れていないことになる。 クソコード収集サイトをつくっても、実際のクソコードは業務固有処理も含まれるので、掲載できる形に整理していくと本来のクソさが薄れて

                                            きれいなコードは互いに似通っているが、クソコードはどこもその趣が異なっている - きしだのHatena
                                          • テスト駆動開発のはじめの一歩|t_wadaさんに聞く1人で始める自動テストのコツと考え方 - Agile Journey

                                            アジャイル型の開発が導入されていない現場であっても、そして一人であっても、実践可能なアジャイルに関するプラクティスは存在します。 例えば、自動テストや、テストファースト、テスト駆動開発(TDD:Test Driven Development)です。ユニットテストフレームワークを使ってテストコードを書いて開発しながらテストを実行する「自動テスト」、実装の前にそのテストコードを書く「テストファースト」、テストと実装を繰り返しながらインクリメンタルに設計・開発を行うのが「TDD」。これらプラクティスのなかで、はじめの一歩となるのが自動テストですが、1人で実践するには、どこからはじめるか、どうテストを組み立てればよいのか、あるいは自分のテスト方法は適切なのか、不安を持つこともあるでしょう。 そこで本稿では、さまざまなチームや組織へのテスト手法の導入を支援し、精力的に講演や執筆などを行ってきたこの分

                                              テスト駆動開発のはじめの一歩|t_wadaさんに聞く1人で始める自動テストのコツと考え方 - Agile Journey
                                            • Vue.js

                                              優先度B: 強く推奨 ​これらのルールは、ほとんどのプロジェクトで可読性や開発者の使い勝手を向上させることが分かっています。これらのルールに違反した場合でも、あなたのコードは動作しますが、違反はごく少数で十分に正当な理由がなければいけません。 コンポーネントのファイル ​ファイルを結合してくれるビルドシステムがあるときは、各コンポーネントはそれぞれ別のファイルにするべきです。 そうすれば、コンポーネントを編集したり、使い方を確認したりするときに、より素早く見つけることができるようになります。

                                                Vue.js
                                              • 文章の折り返し指定のCSS最新版 - ICS MEDIA

                                                文章の折り返しはウェブ制作において意外と難しいものです。URLが文章に含まれている場合、URLがレイアウトを突き抜けてしまった、という経験をみなさんはお持ちではないでしょうか? この記事では、国内のウェブ制作において「開発者が考えることが少なくてよくなる」安全なCSS指定を紹介します。 結論から説明すると、以下の指定を提案します。 body { overflow-wrap: anywhere; /* 収まらない場合に折り返す */ word-break: normal; /* 単語の分割はデフォルトに依存 */ line-break: strict; /* 禁則処理を厳格に適用 */ } この記事では上記の指定にいたった理由と、折り返しの理解について必要なoverflow-wrapとword-breakプロパティを中心に解説します。 overflow-wrap overflow-wrapは

                                                  文章の折り返し指定のCSS最新版 - ICS MEDIA
                                                • 「怠惰であれ!」――“ガチ三流”エンジニアを生まれ変わらせた“誰でもできる生産性爆上げのスキル” | 文春オンライン

                                                  ◆ ◆ ◆ 周りからは「才能ないからやめたほうがいい」と言われていた ――牛尾さんは、世界中で使われている、マイクロソフトのクラウドサービスAzure Functions の開発チームで活躍されていますが、noteなどでよくご自身のことを「3流エンジニア」と謙遜されていますね。 牛尾 いや、ホントに僕はガチ3流です(笑)。もともと日本の大手SIerにいたときは、プログラマとして通用しなかったですからね。コードを書いてソフトウエアをつくるさい、スピードとクオリティが問われます。早く書けて、メンテがしやすく、バグが少ないのが理想ですが、僕はとにかく要領が悪かった。 ――本当ですか!? 牛尾 一番やりたい仕事はプログラマだったのに才能が乏しかったから、僕のキャリアは長らく、PM(プロダクトマネージャー)や、アジャイルというソフトウェア開発法のコンサルタント、あとはIT技術を人にわかりやすく伝える

                                                    「怠惰であれ!」――“ガチ三流”エンジニアを生まれ変わらせた“誰でもできる生産性爆上げのスキル” | 文春オンライン
                                                  • エンジニアからマネージャになったときにあるだろうなぁってことを想像して遊ぶ - Mitsuyuki.Shiiba

                                                    ソフトウェアエンジニアの話ね。想像して遊んでるだけね。 スキルは高い まず、マネージャになってほしいって言われる時点で「仕事を任せられる」というエンジニアなんだろうな。それは、つまりコードを書くことに加えて、プロダクトをなんとかしてリリースする力と責任感をもっていて、それが会社にとってプラスになっている。 だから、チームを任せて同じようなエンジニアを育てて欲しいと期待されている。自分自身も、自分のスキルをもっと会社の役に立てるぞー!とやる気になっている。 任せたい そういう人がマネージャになって、あるだろうなぁと思うのは「どう任せたらいいんだろう?」という悩み。 自分が手を動かせばプロジェクトがなんとかなるのは分かっている。でも、自分はマネージャの仕事があるし、そこは自分の役割ではないし、実際のところ手を動かす時間なんてない。それはメンバーにやってもらわないといけない。 ただ、だいたいの場

                                                      エンジニアからマネージャになったときにあるだろうなぁってことを想像して遊ぶ - Mitsuyuki.Shiiba
                                                    • チーム・組織デザインの良し悪しはプロダクト開発フローの効率を左右する|mtx2s

                                                      依頼、調整、合意、承認、etc. こういったコミュニケーションがチーム境界を越えて頻発すると、ソフトウェアプロダクト開発のフローは遅々として進まなくなります。いずれも、機能追加や機能改善を進める上でのクリティカルパスを引き伸ばす要因を生み出すからです。 機能追加や機能改善といったひとつひとつの開発は、アイデアを生み出し、それを価値に変えるまでのフローです。フローが進む過程で、組織内の様々な人の手で、様々なタスクが実行されます。その全てを1つのチームで完結することは、プロダクトの規模が大きくなるほど困難になり、より多くの人々が関わるようになります。そこに、チーム境界を越えた「依頼、調整、合意、承認」といったコミュニケーションが発生するのです。 開発フローのクリティカルパスを悪化させるこのようなコミュニケーションの頻度をどれだけ減らせるか。組織設計、チーム設計で最も注視すべき観点の1つは、そこ

                                                        チーム・組織デザインの良し悪しはプロダクト開発フローの効率を左右する|mtx2s
                                                      • これは便利! HTMLはdiv要素一つ、あとはCSSをコピペするだけで100種類のツールチップを簡単に実装できる -CSS Tooltips & Speech Bubbles

                                                        HTMLはdiv要素一つだけ、あとはCSSをコピペするだけで約100種類のールチップとスピーチバブルを実装できるCSS Tooltips & Speech Bubblesを紹介します。 このツールチップって実装すると、けっこう面倒ですよね。ベタ塗りのツールチップをはじめ、グラデーションの枠、しっぽの位置、しっぽの形状など、さまざまなデザインが、ここを見ればコピペで簡単に実装できます。 CSS Tooltips & Speech Bubbles CSS Tooltips & Speech Bubblesを作成したのは以前紹介したCSS Loaders(紹介記事)やCSS Ribbon Shapes(紹介記事)と同じ作者で、前回はCSSで実装されたローダーとリボンでしたが、今回は100種類のツールチップとスピーチバブルです。

                                                          これは便利! HTMLはdiv要素一つ、あとはCSSをコピペするだけで100種類のツールチップを簡単に実装できる -CSS Tooltips & Speech Bubbles
                                                        • ミノ駆動さんに「なぜ負債解消にDDD?」と聞いたら、ソフトウェア開発の本質に気づかされた

                                                          ミノ駆動さんに「なぜ負債解消にDDD?」と聞いたら、ソフトウェア開発の本質に気づかされた 2024年1月15日 株式会社スタメン ミノ駆動(仙塲大也) 電子機器メーカーや大手精密機器メーカー、クラウドワークスを経て、2021年4月にREADYFORに入社。アーキテクチャの変更容易性や機能性を促進する設計構造を目指し、リファクタリングやドメインモデリングを主軸としたシステム設計に従事する。現在は、組織改善のためのエンゲージメントプラットフォーム「TUNAG」を擁するスタメンに在籍。ITエンジニア本大賞2023技術書部門大賞を受賞した『良いコード/悪いコードで学ぶ設計入門』著者としても知られる。 X(@MinoDriven) note Qiita 株式会社スタメン・テックブログでの執筆記事 ドメイン駆動設計(以下、DDD)に注目が集まりだしてしばらく経ちますが、いまだに捉えづらさを感じている人

                                                            ミノ駆動さんに「なぜ負債解消にDDD?」と聞いたら、ソフトウェア開発の本質に気づかされた
                                                          • JavaScript なしで動作するモダンなコードの書き方

                                                            Next.js、Remix、SvelteKit といった近年のフレームワークは、JavaScript がなくても動作することを一つの価値として提供しています。 例えばSvelteKit のフォームではプログレッシブエンハンスメントとして、JavaScript が利用できる環境ではリッチなユーザー体…

                                                              JavaScript なしで動作するモダンなコードの書き方
                                                            • 良いコードってどんなコードですか?という質問を受けたら何と答えるか - snoozer05's blog

                                                              技術顧問先で、一生懸命コードに向き合っているプログラマーになりたての方から、次のような質問をもらいました。 最初に面談した時、1年後にいいコードが書ける、上手に書けることを目標にしましたが、 先日スクール時代の同期(それぞれRubyの会社で働いている)と話したところ、会社ごとにレビューの仕方やコードに関する基準がさまざまなようで、良いコードとはなんなのか疑問に感じました。「いいコード」とは、みたいな部分で島田さんの考え方をお聞きできたら嬉しいです。 この質問にぼくは次のような回答をしたのですが、「この質問が来たら他の人はどんな回答するんだろうな」に興味があるので、ここにしたためておきます。もしよかったら「若者にこれを聞かれたら自分ならこう答える」をコメントなどで残していってもらえたら嬉しいです。 とても大事な疑問を見つけられたんだなあと思います。 「良さとは何か」ということに向き合う必要の

                                                                良いコードってどんなコードですか?という質問を受けたら何と答えるか - snoozer05's blog
                                                              • テストピラミッド万歳 | POSTD

                                                                クイックサマリー:「テストピラミッド」は、自動テストをUI、サービス、ユニット単位に整理することで、開発に自動テストを組み込む方法を示すために作成されました。2012年に定義されて以降、このモデルは次第に使われなくなってきたように思いますが、本当に廃れてしまったのでしょうか。この記事では、最新のテスト戦略を紹介するとともに、今日のソフトウェア開発におけるテストピラミッドの関連性を検討します。 筆者の同僚であるジャン・フィリップ・ピエトルチェクが、かつてコードを書く開発者の責任について、次のように述べました。 none「我々の仕事の成果を最終的に使用する人々は、(中略)我々がただ最善を尽くすだけでなく、実際に機能するものを作ることを期待しているのです。」 — ジャン・フィリップ・ピエトルチェク 彼の言葉は、私たちが書くコードをそれに依存する人々の観点からとらえている点で非常に印象に残りました

                                                                  テストピラミッド万歳 | POSTD
                                                                • JavaScriptビルドツールの整理 各ツールの機能と依存関係

                                                                  フロントエンドのビルドツールが色々ありすぎて、何がどうなっているのかがわかりづらいため、 各ツールができること、特徴 ツール間がどのように依存しあっているか を一気に調べて整理した。(情報は2023/10時点) 概要 ツールの依存関係整理 上層: dev server付きのバンドラ/ビルドツール。アプリ開発者が直接configなどを書いて取り扱うのはここが多いと思われる。(Next.jsに関しては、ビルド機能に着目した場合) 下層: やや基盤的なdev serverなしのツール群。 矢印は、明示的な依存関係を表す。実際には、明示的な依存関係がなくても、下層のツール群は上層のバンドラ(やRollup)に対してプラグインを提供していることが多い。 各ツールのできること整理 ツールごとに、大まかな機能区分で、できることとできないことをまとめた。 各機能区分の定義は次セクションを参照。 ツールごと

                                                                    JavaScriptビルドツールの整理 各ツールの機能と依存関係
                                                                  • 古いリセットCSSからはもう卒業! モダンブラウザに最適化された新しいリセットCSS -A (more) Modern CSS Reset

                                                                    モダンブラウザをターゲットにしたWeb制作では、リセットCSS自体が必要ないかもしれません。とは言っても、設定しておきたいスタイルや一部のブラウザ用に設定しておきたいスタイルがあります。 現在のWeb制作に合わせて制作されたリセットCSSを紹介します。なぜそうするのか、なぜそれを使用しないのか、CSSの知見やテクニックも満載です! A (more) Modern CSS Reset by Andy Bell 他のリセットCSSが気になる人は、こちらも注目です。 A (more) Modern CSS Resetの前のバージョンも解説しています。 2023年、現在の環境に適したリセットCSSのまとめ 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに モダンブラウザに適切なデフォルトのリセットCSS 各リセットCSSの解説

                                                                      古いリセットCSSからはもう卒業! モダンブラウザに最適化された新しいリセットCSS -A (more) Modern CSS Reset
                                                                    • Japanese Version - 100 Go Mistakes and How to Avoid Them

                                                                      Go Mistakes Book Details Go言語でありがちな間違い このページは『100 Go Mistakes』の内容をまとめたものです。一方で、コミュニティに開かれたページでもあります。「ありがちな間違い」が新たに追加されるべきだとお考えでしたら community mistake issue を作成してください。 Jobs Is your company hiring? Sponsor the Japanese version of this repository and let a significant audience of Go developers (~1k unique visitors per week) know about your opportunities in this section. 注意 現在、大幅に多くのコンテンツを追加して強化している新しい

                                                                        Japanese Version - 100 Go Mistakes and How to Avoid Them
                                                                      • 並列処理がとても苦手なPythonはプロセスを分けよう コードを書く時に意識したい2つのTipsと2つの落とし穴

                                                                        Go、Python、Kotlin、Rust、TypeScript の5つの言語について「並列処理、並行処理の手法」というテーマに絞り解説する「並列処理をGo/Rust/Kotlin/Python/JSで解説!思想の違いを体感しよう」。Python編では橘氏が登壇。Pythonで並列処理を行う際の設計方針と、実装上の癖について話します。 西川氏の自己紹介 西川大亮氏(以下、西川):ここからはPython編の「ちょっとしたデータ分析の並列化」というタイトルで、西川から話します。 GOに勤める西川です。今やっているのは、タクシーやハイヤーの営業支援。「お客さんを乗っけていない時間、どこを走ったらいいの?」とか「どういうところで待っていたら注文来やすいの?」というところのナビをする、「お客様探索ナビ」というサービスのいろいろなことをしています。小さなサービスなのでいろいろやっている感じですね。 P

                                                                          並列処理がとても苦手なPythonはプロセスを分けよう コードを書く時に意識したい2つのTipsと2つの落とし穴
                                                                        • ソースコード管理の進化:Excel管理からGitHubまで、エンジニアの戦いを振り返る! - Qiita

                                                                          ソースコード管理の進化:Excel管理からGitHubまで、エンジニアの戦いを振り返る! プロローグ 先日、弊社のとある案件内での会話です。 熟練エンジニア(以降「熟練」と表記):GitHubのプルリクが来てたからコードレビューしておいたよ。 若手エンジニア(以降「若手」と表記):ありがとうございます。助かります。 熟練:他の人のコードにも指摘した内容がキミのコードにもあったので指摘しておいた。他の人のプルリクは見ていないの? 若手:いや、他の人のプルリクは見てないですね。。 必要ですかね・・? 熟練:必要だよ。昔はそういうのやりたくてもできなかったんだから! 若手:(はじまった、熟練さんの昔語り・・。長いんだよなぁ。。)なるほど!そうなんですね。他の人のコード読んで勉強します! はじめに 皆さん、こんにちは。エンジニア歴約20年目の立脇です。今日は、エンジニアにとって切っても切り離せない

                                                                            ソースコード管理の進化:Excel管理からGitHubまで、エンジニアの戦いを振り返る! - Qiita
                                                                          • プログラミング支援AIサービスまとめ。GitHub Copilot、AWS CodeWhispererなど11種類(2024年3月版)

                                                                            GitHub CopilotやAWS CodeWhispererをはじめとする、コードエディタに統合できる11種類のプログラミング支援AIをまとめた。 GitHub Copilotに代表されるコードエディタに統合されたプログラミング支援AIサービスは、まだ登場して間もないにも関わらず、多くのプログラマの生産性向上にとって欠かせない機能になりつつあります。 と同時に、プログラミング支援AIサービスはGitHub Copilot以外にもさまざまなクラウドベンダ、ツールベンダ、スタートアップなどが参入し、多様な製品が新たに投入され続けている変化の激しい分野でもあります。 ここではその中から、現時点での主要なサービスやソフトウェアを11種類取り上げ、まとめました。導入や選択の参考にしていただければと思います。 価格別の主な機能 (Copilot Individual / 月額10ドル/年間100ド

                                                                              プログラミング支援AIサービスまとめ。GitHub Copilot、AWS CodeWhispererなど11種類(2024年3月版)
                                                                            • 「コードに早まってDRY原則を適用しないこと」とGoogleが呼びかけ

                                                                              Googleに存在するコードを読みやすく保守しやすい形に保つ取り組みを行うグループ「Code Health」が、「DRYを早まって適用しないこと」と題した記事を公開しました。 Google Testing Blog: Don't DRY Your Code Prematurely https://testing.googleblog.com/2024/05/dont-dry-your-code-prematurely.html DRYは「Don't Repeat Yourself」の略称で、コードを重複させないことを重視する考え方です。重複するコードが存在していると、特定の機能を変更しようとした時に同じ機能を持つ部分を全て探して同時に変更する必要があり、見落としやミスが発生する危険性が高まります。一方、コードの重複を防げていれば一カ所だけを変更すればOKというわけ。 一見DRYを厳しく適用

                                                                                「コードに早まってDRY原則を適用しないこと」とGoogleが呼びかけ
                                                                              • console.log() の代わりにdevtoolsのLogpointsを使う - Qiita

                                                                                Logpointsを使おう Webフロントエンドの開発をする際、デバッグ目的で「特定の処理が実行された」ということを確認するために console.log() を使うことは多いと思います。しかし、Google Chrome や Microsoft Edge で利用可能な Logpoints を利用することで、 console.log() を使わずともコンソールにメッセージを出力することが可能です。 なぜLogpointsを使うの? Logpoints を使うのには以下のメリットがあります。 デバッグや動作確認のためにコードを変更する必要が無い console.log() を誤ってcommitに含めてしまう心配が無い console.log() を入れた後に再ビルドやホットリロードを待つ必要が無い どうやってLogpointsを使うの? logpoints は以下のように使用します。 Chr

                                                                                  console.log() の代わりにdevtoolsのLogpointsを使う - Qiita
                                                                                • HTML・CSSで実装するかわいいフキダシのアイデア - ICS MEDIA

                                                                                  見出しなどのテキストを目立たせたいときに便利なフキダシ(吹き出し)。 この記事では、HTMLとCSSだけで簡単に実装できる、シンプルなデザインのフキダシをご紹介します。 雑誌やポスターなどで見かける可愛いあしらいをウェブサイトにも取り入れたいと思ったことが、今回のテーマを選んだきっかけです。 とくにフキダシは、少ないコードで表現でき、見出しなどのテキストに華やかな印象を与えられます。 ウェブサイトを制作する際に、ぜひ取り入れてみてください。 また、この記事のほとんどの作例で、CSSの疑似要素『::before』と『::after』を利用しています。 疑似要素を使うと、不要なHTMLタグを増やさずにCSSで装飾できます。 ::before = 選択した要素の最初の子要素として疑似要素を生成 ::after = 選択した要素の最後の子要素として疑似要素を生成 これらは、要素に装飾的な内容を追加

                                                                                    HTML・CSSで実装するかわいいフキダシのアイデア - ICS MEDIA