タグ

programmingに関するraydiveのブックマーク (143)

  • 良いコード/悪いコードで学ぶ設計入門の感想と注意点

    「良いコード/悪いコードで学ぶ設計入門」というがとても売れているようです。私の所属している開発チームでも、何人か購入した人がいたので、私も購入して一通り読んでみました。 結果として、いくつかの考えが整理され、私としてはこのによって考えが深まり、を読んで考えた事自体は有意義であったと思いました。ただし一方で、あまり知識がない状態で(自分の中での判断軸が無い状態で)このを読むと、色々と誤解が生まれるのではないか?という事を感じました。 一つの技術書がこれだけ売れるという事はそんなに多くはない事だと思うので、つまり、 その内容が改善されるとその効果は相対的に大きい という事になります。そこで、私がを読んでいて思ったことや、このの内容で正しいこと、現在も賛否両論とされること、事実として認識が間違っているであろうこと、こので触れられていないが設計において大事なこと、などについてまとめて

    良いコード/悪いコードで学ぶ設計入門の感想と注意点
    raydive
    raydive 2022/08/06
    Value Objectの原義とDomain Primitiveの話は興味深いものの、この本がエヴァンス本やIDDD本のVOを踏まえてというところもあると、Secure by designの話と時間軸的には並行で進んでることは考慮しておいた方がいい。
  • Value Objectについて整理しよう - Software Transactional Memo

    Value Objectとは何であるか? マーチン・ファウラーのPatterns of Enterprise Application Architecture(PofEAA)やエヴァンス・エリックのDomain Driven Design: Tackling Complexity in the Heart of Software(DDD)が原典であるが、PofEAAではこう切り出している。 When programming, I often find it's useful to represent things as a compound. プログラミング時は物をcompound(合成物)として表現すると便利なことがしばしばある。 例えば2次元空間上での座標のように複数のメンバ(属性)を持つ物は便利である、と。しかしそれらを比較する方法は一意ではない、そこで Objects that a

    Value Objectについて整理しよう - Software Transactional Memo
    raydive
    raydive 2022/05/15
    これはこれで過激なこと言いたいだけのように見えてなんだかなぁとは思う。/全部が全部オブジェクトに包む必要はないのは確かだけど
  • Zigソフトウェア財団とZenプログラミング言語に関する声明 ⚡ Zig Programming Language

    Original English version available below. We are thankful to 株式会社HYPERIA and all the members of the Zig community that helped us with the Japanese translation. Zigソフトウェア財団とZenプログラミング言語に関する声明Zigソフトウェア財団は、Zigの開発者アンドリュー・ケリーによって創設された501(c)(3)非営利組織です。財団はZigプログラミング言語開発のサポートと優れたグローバルコミュニティの育成を目的としています。 対してZenはコネクトフリー社によって保守されているZigのクローズドソースフォークです。コネクトフリー社は最近Zenコンパイラのためのライセンスモデルを発表し、ソフトウェア開発者は自分で作成したコードの

  • 創造的なエンジニアリングにはザッソウが必要だ - 先達の方々と岩田さんからの学び - Lean Baseball

    エンジニアリング」って書いちゃいましたが, クリエイティブな仕事全般に活きる話かなと.*1 このエントリーでは, 創造的な活動にはザッソウは大切すぎるぐらい大切(語彙力) でも, 個人の戦闘力も磨くの大事.「独学プログラマー」にいいこと書いてるので必読やぞ 岩田さんをはじめ, 先達の方々もザッソウされてる という件についてあれこれ言いたいと思います(これがそのままTL;DRです). ザッソウは大切です, あと毛ガニも なお,毛ガニは関係ありません.*2 おしながき おしながき 創造的なエンジニアリングにはザッソウがよく効く 「ハマる」エンジニアリングは「ザッソウ」の出番が連続する 職場でもコミュニティでも「ザッソウ」を なお,「ザッソウ」だけじゃアカン! - 独学も大切 岩田さんのクリエイティブから学ぶ 創造的なエンジニアリングにはザッソウがよく効く ザッソウ 結果を出すチームの習慣 ホ

    創造的なエンジニアリングにはザッソウが必要だ - 先達の方々と岩田さんからの学び - Lean Baseball
    raydive
    raydive 2019/09/27
    こういうことができてる時点で心理的安全性があるんじゃなかろうか
  • Clean Architectureは全てのプログラマにお奨めしたい良著|erukiti

    Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んだので、まとめてみます。コメントやツッコミなどのフィードバックがあればうれしいです。 続編としてクリーンアーキテクチャを読むためのポイントという記事を書きました。併せてご覧ください。 なぜ良著?著者のロバート・C・マーチン(著書読んだことあるかも?)は、50年前から現代に至るまで、様々なアーキテクチャを見て、第一線級として開発し続けてきた経験を元に、どのアーキテクチャでもクリーンにしようとするなら、基部分は変わらないと言ってて、それらが美味くまとまっただからです。 いってみればコンピュータ工学について抑えるべきポイントを解説したであり、The Clean Architectureそのものについてはほとんど割かれていません。それくらい、基として知るべき事が書かれたなのです。 最近のアーキテクチャを追いか

    Clean Architectureは全てのプログラマにお奨めしたい良著|erukiti
    raydive
    raydive 2019/05/30
    あの図がコンセプトであることはきっちり押さえておいたほうがいいよなぁと読んでて思った。本にもそう書いてあるし。後回しの話すき。
  • テスト駆動開発とマイクロサービスのせいで短命に終わったスマホゲームの話

    「悪い方が良い」原則をご存じだろうか? プログラミング言語「Common Lisp」の開発に携わったことでも知られるソフトウエア技術者リチャード・ガブリエル(Richard Gabriel)氏が1990年に発表した有名なエッセイ「The Rise of ``Worse is Better''」で主張したソフトウエア開発の考え方だ。 このエッセイでガブリエル氏は、美しく完全に設計・実装されるより、単純で雑に設計・実装されたソフトウエアの方が良いと説く。彼は前者を「正しいやり方」「MIT/スタンフォード式」、後者を「悪い方がよい原則」「ニュージャージー式」と呼び、ニュージャージー式がいかに優れているか様々な事例を挙げて説明する。 これは一見とても奇妙に聞こえる。 ソフトウエア開発では通常「美しい設計」や「美しいコード」が尊まれる。「車輪の再発明はするな」とか、「階層構造に分けて、要素をいつでも

    テスト駆動開発とマイクロサービスのせいで短命に終わったスマホゲームの話
    raydive
    raydive 2019/05/15
    読んだけどTDDのせいでもマイクロサービスのせいでもなく、その会社の開発文化とか設計があかんかったお話だった。
  • 低レイヤを知りたい人のための Cコンパイラ作成入門

    はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム このには一冊のに盛り込むにはやや欲張りな内容を詰め込みました。書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発します。当面の目標はセルフホスト、すなわち自作コンパイラでそれ自身のソースコードをコンパイルできるようにすることです。 このでは、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。 コンパイラは、構文解析、中間パス、コード生成といった複数のステージに概念的に分割することができます。よくある教科書的アプローチでは、それぞれのトピックについて章を立てて解説を行うことになりますが、そのよう

  • BucketList App: Getting the Data (part 1) | appendTo

    By filling out this form and clicking submit, you acknowledge our privacy policy.

    BucketList App: Getting the Data (part 1) | appendTo
  • GitHub - oden/lango: シンデレラガールズ Advent Calendar 2017 - 熊本系プログラミング言語 蘭語

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    GitHub - oden/lango: シンデレラガールズ Advent Calendar 2017 - 熊本系プログラミング言語 蘭語
  • Treasure 2017 の研修資料は Go を学ぶのに最高だった - kakakakakku blog

    Go 関連のを読んだり,サンプルコードを写経するだけではなく,もっと実践的に勉強したいなと思って調べていたら,VOYAGE GROUP の Treasure 2017 と言うインターンシップの研修資料GitHub に公開されていることを知って,さっそく挑戦してみた.数日間取り組んでみて,とにかく素晴らしかったので,紹介したいと思う.suzuken 先生,素晴らしすぎます! Go入門 GitHub - voyagegroup/talks 学べるテーマ Go研修資料とは言え,幅広いテーマで Go を学ぶことができる点が素晴らしかった.ザッと挙げるとすると以下のようになる.テーマを見るだけで,もうワクワクしてくるのではないだろうか? アルゴリズム実装とテストコード フィボナッチ数 スタック CLI net/http curl 実装 スクレイピング実装 コンカレンシー goroutine

    Treasure 2017 の研修資料は Go を学ぶのに最高だった - kakakakakku blog
  • Wandboxを支える技術(2017年版) - Qiita

    Wandbox は、オンラインでコンパイルや実行が試せるサービスで、主に私(@melponn) と @kikairoya で作っています。 以前 Wandboxを支える技術 というのを書いていたのですが、そこからかなり変わっているため、改めて今の中身がどうなってるかについて書いていきます。 Wandbox は、Wandbox 体と、各種コンパイラをビルドするための Wandbox Builder に分かれています。 ソースコードは wandbox と wandbox-builder にあります。 2019/9/26 追記: Wandbox のビルドを CMake に移行した話 を書きました 犬小屋と牛舎 Wandboxはバックエンドとフロントエンドで分かれていて、フロントエンド側が 犬小屋(kennel) 、バックエンド側が 牛舎(cattleshed) という名前になっています。 犬小

    Wandboxを支える技術(2017年版) - Qiita
    raydive
    raydive 2017/05/20
    うーん、基本的な技術選定の仕方が誤っていただけであって、特定の言語disってもしゃーないんじゃないかなぁって思いました。
  • 非公式PDF版SICP・新訳 - アスペ日記

    計算機プログラムの構造と解釈、通称SICPを一から翻訳し直しました。 ファイル: SICP非公式日語版 翻訳改訂版 リポジトリ: https://github.com/hiroshi-manabe/sicp-pdf また、今回の翻訳をするにあたって考えたことを別記事にまとめました。 腐った翻訳に対する態度について SICPはMITの有名なプログラミングの教科書です。詳しくはminghai氏の記事をご参照ください。 この翻訳改訂版は、minghai氏の非公式日語版(以降、minghai氏版)のあまりにも惨憺たる翻訳を見かねて、原著から翻訳をし直したものです。この翻訳を進めるにあたっては、minghai氏版の訳を置き換えていくというやり方で進めていきました。しかし、差分を取ればわかっていただけると思いますが、minghai氏版のテキストは痕跡をとどめていないはずです。この方式を採ったのは、

    非公式PDF版SICP・新訳 - アスペ日記
  • Visual Studio Community 2013 A Full-Featured IDE - FREE Start coding the app of your dreams for Windows, Android, and iOS.

    Visual Studio Community A fully-featured, extensible, free IDE for creating modern applications for Android, iOS, Windows, as well as web applications and cloud services.

    Visual Studio Community 2013 A Full-Featured IDE - FREE Start coding the app of your dreams for Windows, Android, and iOS.
    raydive
    raydive 2014/11/13
    これは、どういうことなんじゃろか。VSがフリーでつかえる?
  • テスト駆動開発(TDD)はもう終わっているのか? Part 1 | POSTD

    後編を公開しました(2014/10/8) これは、テスト駆動開発(TDD)とTDDがソフトウェア設計に与える影響についてKent Beck、David Heinemeier Hansson、および著者の3人で行った一連のディスカッションの議事録です。 ディスカッションに至った経緯 あるセンセーショナルな発言とブログ記事が発端となり、お互いの見解と経験について理解を深める目的で、話し合いが持たれました。 この会話のきっかけとなったのは、 DavidがRailsConfで行った基調演説です。 彼はRailsコミュニティでTDDおよびユニットテストへの不満を表明しました。 程なくして、彼はいくつかのブログ記事を公開しましたが、そのうちの最初の記事で “TDDは終わった” と宣言したのです。 それから2~3日後、Davidのその後の記事について私がタイプミスの修正を送ったところ、 Davidは彼の

    テスト駆動開発(TDD)はもう終わっているのか? Part 1 | POSTD
  • Dependency Update as a Service - Tachikoma.io

    lang: en | ja

    Dependency Update as a Service - Tachikoma.io
  • 「RubyKaigi 2014」に参加してきた(2日目) - ただのにっき(2014-09-19)

    ■ 「RubyKaigi 2014」に参加してきた(2日目) 初日につづいて2日目。開発環境を昨日リリースされたruby 2.2.0-preview1にアップデートしてから出発。今日は最初にMatzのキーノートなのでちゃんと朝から。というか、船堀までたどりつかない列車があるとか、罠にもほどがあるぞ都営新宿線。 ここしばらくRubyの新機能に関するプレゼンをしてこなかったMatzが、ついに「3.0」の話を始めたということで、まぁ興奮しますわな。で、いくつかネタをあげた上でピックアップしたのが静的型。ネット上では見かけない日はないというくらいに定番の「静的 vs 動的」、個人的にはもううんざりで、それって結局は「人間ががんばって型情報を書く」vs「人間ががんばってテストを書く」というどっちも人間ががんばるモデルなのが気にわない*1。せっかくコンピュータ使ってんだから機械にがんばらせろよ、と思

    「RubyKaigi 2014」に参加してきた(2日目) - ただのにっき(2014-09-19)
    raydive
    raydive 2014/09/22
    rubyももちょの破壊力には勝てなかったか
  • ActiveRecord4でこんなSQLクエリどう書くの? Squeel編 | Webシステム開発/教育ソリューションのタイムインターメディア

    ActiveRecord4でこんなSQLクエリどう書くの? Squeel編 #activerecord#Arel#rails#ruby#Squeel 2013年 11月 04日 nishio ActiveRecord4でこんなSQLクエリどう書くの? Merge編 では、関連先のscopeを使い回すことができるmergeを紹介しました。 ActiveRecord4でこんなSQLクエリどう書くの? Arel編 では、安全にmergeができるscopeをArelを使って組み立てる例を紹介しました。 前回紹介したArelですが、複雑なクエリを組み立てようと思うとarel_tableという記述がいたる所に登場してしまい、処理がごちゃごちゃしてしまいました。 このごちゃごちゃ感を回避するために利用するのが、ActiveRecordの拡張であるsqueelです。 今回は、Arelを使った処理をsque

    ActiveRecord4でこんなSQLクエリどう書くの? Squeel編 | Webシステム開発/教育ソリューションのタイムインターメディア
  • ScalaでFutureとEitherを組み合わせたときに綺麗に書く方法 - xuwei-k's blog

    組み合わせるとはつまりアレのことを書くのですが、一応それほど前提知識無くても理解できるように書いてみます。さて、なぜいきなりEitherとFutureか?というと play2とか使ってると、Futureがよく出てくる Futureをそこら中でAwaitしたらFuture使う意味がないので、Future[A]をmapやflatMapなどでどんどん連鎖させて、メソッドの型にFutureが大量に出現! Futureは非同期に行われる処理であり、そこで例外発生したら、その中に例外を含むしかない(単純に例外投げるわけにはいかないというか不可能) Scala標準ライブラリのFutureは、Throwable型で例外を保持できるようになってる 逆にいうと、Throwableでしか保持できない 例外の種類が多くなってきて、プログラムが複雑になった場合、Throwableではなくもっと限定された独自のエラー

    ScalaでFutureとEitherを組み合わせたときに綺麗に書く方法 - xuwei-k's blog
  • 例えば「写経」という言葉を避けてみる。 - 西尾泰和のはてなダイアリー

    サイボウズ式「続・エンジニアの学び方」の第5回が公開されました。この回では、小崎さんが「どうしてコードを読もうと思ったのか」と、コードを読むために新しい言語を学ばなければいけない場合に「どうやって学ぶか」を聞きました。 ところで、小崎さんは自分の学び方を「写経」と読んでいて、僕もこの用語は自然に理解できるのですが、公開後のTwitterの反応を見ていると「写経と呼ぶことが嫌」もしくは「仏教での写経の印象で、内容を勘違いしている」という事例がいくつも見つかりました。 プログラミングの学習法としての「写経」という言葉は色々な書籍で使用されています。例えば「100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊」の70ページでは「まず写経することから始めた」というエピソードが紹介されています。また「改訂新版 コンピュータの名著・古典100冊」の99ページでは「技術書の内容にそって深い

    例えば「写経」という言葉を避けてみる。 - 西尾泰和のはてなダイアリー
  • [CEDEC 2014]「ゲーム世界を動かすサイコロの正体 〜 往年のナムコタイトルから学ぶ乱数の進化と応用」 - 4Gamer.net

    [CEDEC 2014]ナムコ作品で見る乱数の歴史。「ゲーム世界を動かすサイコロの正体 〜 往年のナムコタイトルから学ぶ乱数の進化と応用」レポート ライター:箭進一 神奈川のパシフィコ横浜で行われた,ゲーム開発者向けイベントCEDEC 2014の最終日である2014年9月4日,「ゲーム世界を動かすサイコロの正体 〜 往年のナムコタイトルから学ぶ乱数の進化と応用」という講演が行われた。 登壇したバンダイナムコスタジオ HE技術部 加来量一氏 この講演のユニークな点は,旧ナムコの作品を「乱数」という視点から振り返るということだ。バンダイナムコスタジオ HE技術部のプログラマーである加来量一氏は,旧ナムコの初期作品50を解析し,それぞれの時代でどのような乱数が使われていたかを特定した。そこから見えてくる乱数技術改良の歴史を見ていくというのが,講義の主旨なのである。 1980年代のナムコアーケ

    [CEDEC 2014]「ゲーム世界を動かすサイコロの正体 〜 往年のナムコタイトルから学ぶ乱数の進化と応用」 - 4Gamer.net