タグ

関連タグで絞り込む (467)

タグの絞り込みを解除

programmingに関するatsushifxのブックマーク (253)

  • プログラミングの条件式で、>= や <= の比較演算子がロジックに含まれる時にロジックのテストで「値が等しいケース」を書かない人には、重要な設計を任せられない話

    悉生 游漩 @StewEucen The creator of x-ninja a new JavaScript front-end framework. 「悉生 游漩」「Stew Eucen」の読み方は「しちゅう ゆうせん」です。「ゆうせん」と呼んでね。 Please call me "Eucen" :) x-ninja.org 悉生 游漩 @StewEucen プログラミングの条件式で、>= や <= の比較演算子がロジックに含まれる時。 其のロジックのテストに「値が等しいケース」を書かない人には、重要な設計を任せてはあきませぬ。 (・ω・)<おわかりか 2024-06-27 16:54:42

    プログラミングの条件式で、>= や <= の比較演算子がロジックに含まれる時にロジックのテストで「値が等しいケース」を書かない人には、重要な設計を任せられない話
    atsushifx
    atsushifx 2024/06/28
    境界値なんてテストの基本。任せられないではなく、きちんとテストについて教育しているかどうかをチェックすべき
  • 網羅的なPRDやDesign Docを書かなくなった - kosui

    2024/06/12 16:16 結論を追記 2024/06/12 20:29 より記事の内容を分かりやすく理解頂くため、タイトルを「PRDやDesign Docを書かなくなった」から変更 2024/06/13 20:39 結論にフロー情報・ストック情報に関する意見を追記 結論 この記事では、「様々な観点を考慮して網羅的にドキュメントを書いて、それを関係者にレビューしてもらう」のではなく、関係者と同期的に対話しながら、観点や選択肢やそのトレードオフを洗い出すことで、少ない手数でより良い答えが見つけられると主張する。 ただし、対話のために必要なドキュメントは事前に書いておくべきだし、対話した結果はドキュメントに残すことが望ましい。そして、そのドキュメントのフォーマットはPRDやDesign Doc以外でも良い。例えば、ADRはアーキテクチャに関する議論の過程と結果を述べる上で必要十分なフォー

    網羅的なPRDやDesign Docを書かなくなった - kosui
    atsushifx
    atsushifx 2024/06/12
    アジャイルでのドキュメント不要と一緒かな。大事なのは、チームが認識を共有することであってドキュメントはその補助に過ぎない。だからこそ、議論の結果をドキュメントとして残す価値はある
  • コードレビューのコメントすべてに対応する必要があるか - 日々常々

    いろんな現場でちょいちょい話題になるので「前にツイートしたなぁ」と見てみたらすっごい長かった。 コメントあると「対応しなければならない」ってなるの。あれが諸悪の根源だと思ってる。— irof (@irof) 2020年9月17日 諸悪の根源? とりあえず全文転記。誤変換とかもそのまま。 コメントあると「対応しなければならない」ってなるの。あれが諸悪の根源だと思ってる。 目に見えてる問題を潰したくなるのはごく当たり前の感情だと思うけど、目に見えてるもの全て潰したからと言って完璧にはならないことは理解する必要がある。言えるのは「目に見えるものはない」というだけで……そしてコメント対応とかだと、「見た目」のメタファすら使えなくなる。 「コメント対応」のような問題の潰し方をすると必ず歪になる。これは自分の目で見つけたものなら曲がりなりにも「自分の目」の精度は高くないものの一定の見方ではあるのに対し

    コードレビューのコメントすべてに対応する必要があるか - 日々常々
    atsushifx
    atsushifx 2024/06/12
    プルリクなどでコメントされた場合にすべてに対応する必要はなくて、重要度などに応じて対応すればどうか決めれば良いという話。あえて付け加えるなら、コードの意図をコードコメントとして残しておけばいいかな
  • YAGNIと拡張性のあいだ - 電通総研 テックブログ

    こんにちは!Xイノベーション部プロダクトイノベーションセンターの米久保 剛です。 弊社のテックブログ上では今回が初めての記事執筆となります。アーキテクチャ設計やアプリケーション設計の話を中心に、不定期に情報発信していきたいと考えています。 YAGNI原則 YAGNI原則をご存知でしょうか。 エクストリーム・プログラミング(XP)の重要な原則の一つであるこの原則は、You Ain't Gonna Need Itのアクロニム(頭字語)から命名されています。日語にすると「どうせ要らないって」というニュアンスでしょうか。推測に基づいて余計な機能を作り込んだところで将来実際に使われる可能性は低く、時間と労力を無駄にするばかりかコードの複雑化などのリスクさえあります。ですから、現時点でわかっている要件をちょうど満たすだけの機能を実装すべきであるとYAGNI原則は主張します。 YAGNI原則は機能(

    YAGNIと拡張性のあいだ - 電通総研 テックブログ
    atsushifx
    atsushifx 2024/05/27
    YAGNIとリファクタリングの違いについて。YAGNIIを守るためにこそ、後々の変更しやすさにつながるリファクタリングをすべしということ。本来のリファクタリングは外からの振る舞いは変わらないから
  • Coding Dojo

    Welcome to the Coding Dojo website The purpose of this website is to gather resources, sessions and stories from users around the world that the Coding Dojo website should provide to its user community. You can check the Wish List and add ideas of what a Coding Dojo global website should provides. You can join our online community on matrix. About Coding Dojos To start off, a directory of who we a

  • プロパティベーステストをやってみよう - Qiita

    こんにちは。NTTテクノクロスの際田です。普段は社内の開発プロセス効率化、テスト自動化周りの支援に携わっています。 最近、ラムダノート株式会社の『実践プロパティベーステスト -PropErとErlang/Elixirではじめよう-』というを読んで、プロパティベーステストという手法を知りました。 せっかく読んだしやってみよう、と思ったのですが、このの例はErlang/Elixirという通好み(?)な言語なので、お仕事でも使えそうな言語でできないかと考えました。調べたところ、fast-checkというJavaScript/TypeScriptのライブラリがあるようなので、こちらを使ってプロパティベーステストをやってみたいと思います。 プロパティベーステストとは プロパティベーステストとは、自動テストの手法の一つで、「システムのあるべき挙動を満たす条件」をプロパティと呼び、その条件を満たすで

    プロパティベーステストをやってみよう - Qiita
    atsushifx
    atsushifx 2023/12/16
    プロパティベーステスト(入力値をランダムに生成して実行するテスト)のJavaScriptによる実践例
  • http://twitter.com/miura1729/status/1705545126108659933

  • リーダブルなコードについての私見<制御フロー編> - YOUTRUST Tech Blog

    こんにちは、YOUTRUSTのやまでぃ(YOUTRUST/X)です。 今回は何書くの? 下記の項目について私見を述べます。 条件式の引数の並び順 早期リターン ネストの深さ 後置if 参考. 「読みやすいコード」についてチームで議論しました 前提 私見です。 弊社においては、意見が分かれるようなスタイルについては、必ずしも統一してはいません。 題材として、リーダブルコードを参考にしています。 重要なそもそも話ですが、細かいコーディングスタイルについてあれこれ気にするよりも、ちゃんと責務に応じて適切にクラスやメソッドのサイズをコンパクトに収めることを考えることの方が優先度高いと思っています。 コードがコンパクトになっているのであれば、どんなスタイルで書かれていても大した負荷なく読むことができます。 「細かいコーディングルール」 < 「クラスやメソッドのサイズ」 です。 (クラスの責務分割に関

    リーダブルなコードについての私見<制御フロー編> - YOUTRUST Tech Blog
    atsushifx
    atsushifx 2023/08/29
    私見が全部、自分と反対だ。自分の場合。私見のツッコミの部分は、全部、その上の債務分割や構造の整理が悪いからと考えてるからだろう。
  • The AWK Programming Language, Second Edition

    Updated Mon Feb 5 10:22:02 EST 2024 Available in paperback and e-book formats. Order at Amazon and other fine booksellers. Introduction This page holds material related to the second edition of The AWK Programming Language. The first edition was written by Al Aho, Brian Kernighan and Peter Weinberger in 1988. Awk has evolved since then, there are multiple implementations, and of course the computi

  • TypeScript エラー処理パターン - Object.create(null)

    M 年前にも N 年後にも人類は同じ話をしている. まとめ エラーの発生方法は throw と return に大別できる throw には簡潔さ, return には明瞭さと型安全性といった特徴がある どちらの方法がより適しているかはプログラムの規模, エラーの種類, ハンドリングの方法などが判断の材料になる 実際にどちらの方法を使うかは上の判断材料と, フレームワークやプロジェクトのコーディング規約なども合わせて複合的に決めるのがよい エラー発生方法の分類 まず前提として, 関数から呼び出し元にエラーを伝える方法は以下の 2 つに大別できます. 逆にこの記事ではこれ以上の具体的な方法についての議論はしません. throw エラーを throw して呼び出し元に伝える方法です. 例えば以下のようなものが当てはまります. throw new Error("...") Promise.rej

    TypeScript エラー処理パターン - Object.create(null)
  • Bazel とお別れして make を使いはじめた話

    こんにちは。MIXI 開発部 SREグループの riddle です。 自分の所属するプロダクトでは、ビルドツールとして Bazel を利用していたのですが、いろいろあって make に変えたので「Bazel をなぜ導入してなぜやめたのか?」 を紹介します。 <目次> Bazel とはどこに Bazel を使ってたのか?なぜ Bazel をやめたのか? 3-1. Bazel の運用コストが高かった 3-2. Bazel の速度問題 3-3. Bazel ではできないことがあるmake に移動したわけまとめBazel とは Bazel は Google が開発したビルドツールで、JavaC++GoAndroid、iOS、その他多くの言語とプラットフォームを使用してビルドとテストができます。 ローカルやリモートのキャッシュをうまく用い、アプリケーションのビルドやコンテナイメージの生成、テ

    Bazel とお別れして make を使いはじめた話
    atsushifx
    atsushifx 2022/10/24
    枯れたツールゆえの優位性
  • テキストエディタで使われがちなデータ構造 Piece Table の概要と実装 - A Memorandum

    テキストエディタのデータ構造 Gap method Piece Table method Piece Table の構造 Piece Table の実装 Piece Table のメソッド まとめ テキストエディタのデータ構造 テキストエディタで採用されているデータ構造にはいろいろあります。 こちらの論文 Data Structures for Text Sequences では各種データ構造について比較検討されています。 多くは、Gap method や Piece table method をベースにしたものが多いのではないでしょうか(図で言う最下部の中心の丸印に当たります)。最近では Rope なども有名ですね。 Gap method Gap method では、現在のカーソル位置で、テキストバッファを2つに分割し Gap を間に挟み、カーソル位置に対する編集(テキスト追加/削除)を

    テキストエディタで使われがちなデータ構造 Piece Table の概要と実装 - A Memorandum
  • この本はプログラミング言語Rustの教材です

    注意: 最新版のドキュメントをご覧ください。この第1版ドキュメントは古くなっており、最新情報が反映されていません。リンク先のドキュメントが現在の Rust の最新のドキュメントです。 プログラミング言語Rust ようこそ!このはプログラミング言語Rustの教材です。Rustは安全性、速度、並行性の3つのゴールにフォーカスしたシステムプログラミング言語です。 ガーベジコレクタなしにこれらのゴールを実現していて、他の言語への埋め込み、要求された空間や時間内での動作、 デバイスドライバやオペレーティングシステムのような低レベルなコードなど他の言語が苦手とする多数のユースケースを得意とします。 全てのデータ競合を排除しつつも実行時オーバーヘッドのないコンパイル時の安全性検査を多数持ち、これらの領域をターゲットに置く既存の言語を改善します。 Rustは高級言語のような抽象化も含めた「ゼロコスト抽象

    atsushifx
    atsushifx 2022/07/07
    プログラミング言語rustの入門用プログラミング課題集
  • https://twitter.com/pospome/status/1543119869100826624

    https://twitter.com/pospome/status/1543119869100826624
    atsushifx
    atsushifx 2022/07/03
    GoFのデザインパターンからのピックアップ。実コードで適切にのハードルが高い
  • M.Hiroi's Home Page / Scheme Progamming

    WHAT'S NEW 2021/10/23 入門編 に 複素数 を追加 CONTENTS お気楽 Scheme プログラミング入門 入門編 応用編 思考ルーチン編 パズルの解法 micro Scheme 編 言語処理系編 オブジェクト指向編 Yet Another Scheme Problems Scheme Junk Scripts 参考文献と URL 権利・免責事項など お気楽 Scheme プログラミング入門 CONTENTS 2020/08/23 はじめに ●入門編 2020/08/23 Scheme の基礎知識 [1] Scheme はリストが主人公、リストの構造、関数の実行、シンボルと文字列、式の計算、複雑な式を計算する、関数とプログラミング、関数定義、変数とは?、まとめ、問題 2020/08/23 Scheme の基礎知識 [2] 変数への代入、局所変数と大域変数、評価しちゃ

  • もうひとつの Scheme 入門

    勾配の緩やかな初心者向け Scheme 入門ページです。 コンピュータは使ったことがあるが、プログラミング経験があまりない人を想定しています。 Scheme の解説はすでに山ほど優れたものがありますが、あえて解説記事を書いてみました。 Scheme のような抽象的な話題は波長が合えばすんなりと理解できますが、あわないと全く理解できません。 他の解説を読んで今ひとつよく理解できなかった人は試しに読んでみてください。 この記事の目標はコンピュータ科学の教科書の決定版である SICP を読める程度の Scheme の知識を提供することです。 目次: 処理系のインストール Scheme を電卓代わりに使う リストを作ろう 関数を定義しよう 分岐 局所変数 繰り返し 高階関数 入出力 代入 文字、文字列 シンボル型 連想リスト、ハッシュ表 ベクトルと構造体 構文の定義 (マクロ) 継続 遅延評価 非

  • OCaml Programming: Correct + Efficient + Beautiful — OCaml Programming: Correct + Efficient + Beautiful

    Preface About This Book Installing OCaml Introduction 1. Better Programming Through OCaml 1.1. The Past of OCaml 1.2. The Present of OCaml 1.3. Look to Your Future 1.4. A Brief History of CS 3110 1.5. Summary 2. The Basics of OCaml 2.1. The OCaml Toplevel 2.2. Compiling OCaml Programs 2.3. Expressions 2.4. Functions 2.5. Documentation 2.6. Printing 2.7. Debugging 2.8. Summary 2.9. Exercises OCaml

  • Rustの良質な学習リソースをまとめる - BioErrorLog Tech Blog

    Rustの勉強に良さげな学習リソースをまとめます。 はじめに Rust学習リソースまとめ The Rust Programming Language Tour of Rust Rust by Example The Rust Reference The Cargo Book Crate docs Rust API Guidelines Rust Design Patterns The Rustonomicon Secure Rust Guidelines Command line apps in Rust おわりに 参考 はじめに こんにちは、@bioerrorlogです。 最近、Rustを触り始めました。 多様な領域で盛り上がりを見せているRustですが、私は最近ハマっているブロックチェーンのエコシステムでRustが使われることが直接の理由となり、Rustに入門しました。 Rustは学習

    Rustの良質な学習リソースをまとめる - BioErrorLog Tech Blog
    atsushifx
    atsushifx 2022/06/24
    Rust言語学習用
  • Tabnine updates AI-based code-writing assistant for developers

  • 『達人プログラマー 第2版』/ Pragmatic Programmer 2nd Ed.

    #devsumi 2022 https://event.shoeisha.jp/devsumi/20220217/session/3650/ 「ITエンジニア大賞2022」に『達人プログラマー 第2版』が選出されたそうで、ご縁があって著者でも翻訳者でも編集者でもないのにプレゼン大会でピッチすることになりました 😇 Further Reading: * goto.bookclub: https://gotopia.tech/bookclub/episodes/pragmatic-programmer-in-2020 * 『達人プログラマー 第2版』(PDF版)https://tatsu-zine.com/books/the-pragmatic-programmer-2ed * 角谷信太郎 × 和田卓人 ピアソン技術書のゼロ年代と俺たち ―"OO厨"史観のふりかえりと、技術書翻訳のこれから

    『達人プログラマー 第2版』/ Pragmatic Programmer 2nd Ed.
    atsushifx
    atsushifx 2022/02/18
    個人的には、「革新的ソフトウェア企業の作り方」「ソフトウェア開発者採用ガイド」や「マーベリック・カンパニー」の電子書籍版が欲しい