タグ

2022年3月21日のブックマーク (23件)

  • クリーンアーキテクチャ完全に理解した

    clean_architecture.md 2020/5/31追記: 自分用のメモに書いていたつもりだったのですが、たくさんのスターを頂けてとても嬉しいです。 と同時に、書きかけで中途半端な状態のドキュメントをご覧いただくことになっており、大変心苦しく思っています。 このドキュメントを完成させるために、今後以下のような更新を予定しています。 TODO部分を埋める 書籍を基にした理論・原則パートと、実装例パートを分割 現在は4層のレイヤそれぞれごとに原則の確認→実装時の課題リスト→実装例という構成ですが、同じリポジトリへの言及箇所がバラバラになってしまう問題がありました。更新後は、実装時の課題リストを全て洗い出した後にまとめて実装を確認する構成とする予定です。 2021/1/22追記: パートの分割と、クリーンアーキテクチャという概念の定義について追記を行いました。大部分の実装例パートを中心

    クリーンアーキテクチャ完全に理解した
  • ゲーム開発 に所謂なアプリケーション設計パターンをおいそれと適用するのは難しい - @hadashiA

    アドベントカレンダーでもなんでもない記事 0日目です。 Unityで長らくゲーム開発をやっているけれど、Web界隈などで色々と発達しているアプリケーション設計パターンをおいそれと持ち込めば良いわけではないと感じているので、それについて考えてみようと思う。 ここでいう設計パターンていうのは、たとえばUIとかをつくるフレームワークの競争で発達してきた MVC派生 や ReactとかのElmアーキテクチャに影響を受けたものたち、はたまた、Webサーバ(HTTPサーバ) を書くときに 「良し」とされている 、DDD的な考え方の上での、抽象レイヤと実装レイヤの分け方を教条化するクリーンアーキテキクチャとかなんかそういうの。 追記: ゲームでも「ドメインロジックとプレゼンテーションの分離」はした方が良いと思っている。全体としては狭義でのMVPとかは自分もやってる。 こういった者達は、先人のアイデアや言

    ゲーム開発 に所謂なアプリケーション設計パターンをおいそれと適用するのは難しい - @hadashiA
  • ANDPAD TECH TALK 第10回 - 開発チームの生産性向上に取り組むスペシャリスト対談!前編 開発チームの生産性の可視化に興味を持った理由 - ANDPAD Tech Blog

    こんにちは!アンドパッドの荒瀧です。 「ANDPAD TECH TALK」第10回の配信です! 今回は、社外ゲストをお招きしたスペシャリト対談回となっており、前編・後編と2回に渡ってお届けします! 出演 モデレーター: 荒瀧 (EMエンジニア採用マネージャー)・中野(HR) 社内ゲスト: 柴﨑(テックリード) 社外スペシャルゲスト: 近藤宇智朗さん(GMOペパボ株式会社 シニア・プリンシパル) ハイライト 第10回は、社外ゲストをお招きした対談形式のスペシャル回です! 「開発チームの生産性向上に取り組むスペシャリスト対談!」と題して、 アンドパッドからはテックリードの柴﨑(id:shiba_yu36)、GMOペパボさんからはシニア・プリンシパルの近藤さん(id:udzura)をお呼びして開発チームの生産性向上について語り尽くしていただきました。 前編の今回は「開発チームの生産性の可視

    ANDPAD TECH TALK 第10回 - 開発チームの生産性向上に取り組むスペシャリスト対談!前編 開発チームの生産性の可視化に興味を持った理由 - ANDPAD Tech Blog
  • ペパボのエンジニア組織文化の測定結果のご紹介 - Pepabo Tech Portal

    執行役員 VP of Engineering 兼技術部長の @hsbt です。Horizon Fobidden West やアサシンクリード・ヴァルハラの DLC 第三弾をプレイしつつモンスターハンターライズのサンブレイクの発売を待っている春この頃です。 GMO ペパボ(以下、ペパボ)では、2022年2月に所属しているエンジニア全員 100 名強にキャリア意識に関するアンケートを取りました。今回はこのアンケートの結果の一部についてご紹介します。 調査内容 キャリア意識に関するアンケートにはエドガー・シャインによるキャリアアンカーに基づいた質問や今後伸ばしていきたい技術領域など、多岐にわたって質問をしています。アンケートに含まれる質問のうち、『LeanとDevOpsの科学』に紹介されている「組織文化の測定」に基づいた調査とその結果が特徴的だったため、テックブログのこの場で公開します。 『Le

    ペパボのエンジニア組織文化の測定結果のご紹介 - Pepabo Tech Portal
  • 桂宮治という落語家の畏るべき本性 NHK舞台袖で見せたその異様な姿(堀井憲一郎) - エキスパート - Yahoo!ニュース

    末広亭での公演が「前売り」となった桂宮治 新宿末広亭で二月、「桂宮治主任公演」があった。 二月中席だから十一日から二十日までの十日間興行。 通常の公演なのだが、入場券はイープラスでの前売りとなった。ふつうの売り方ではない。異様な人気があるからだろう。 ただ、桂宮治は「みなし陽性」となり、彼は七日目からの四日間だけの出演となった。 九日目のチケットを売っていたので、九日目(宮治主任としては三日目)の公演を見た。 新宿末広亭の「意味のわからない傾斜のついた桟敷席」の最後尾で見た。 満席の熱気あふれる興行だった。 寄席で「アリーナっ!!」と叫ぶ異様な風景 桂宮治は勢いよく登場してきた。 そのまま座布団に座らずに下手(しもて)の端まで行って、そこにあるスタンドマイクを片手に、「二階席っ〜!!」(末広亭には二階席がある)、「桟敷っ〜!」「アリーナっ!!」と声を掛けて盛り上げた。 落語家が寄席で立った

    桂宮治という落語家の畏るべき本性 NHK舞台袖で見せたその異様な姿(堀井憲一郎) - エキスパート - Yahoo!ニュース
  • 貧困に苦しむ人が「ポジティブなマインドセット」に切り替えられない理由とは?

    貧困に苦しんでいる人に対し、どうしても「成功につながるポジティブなマインドセットに切り替えて、現在の境遇ではなく将来に目を向け、資格取得やスキルアップを目標にコツコツ努力すればいいのに」と考えてしまう人もいるはず。しかし、ロンドン・スクール・オブ・エコノミクスで社会心理学の助教を務めるJennifer Sheehy-Skeffington氏は、「貧困に苦しむ人にポジティブなマインドセットを押しつけても役に立たない」として、その理由について解説しています。 Why we shouldn’t push a positive mindset on those in poverty | Psyche Ideas https://psyche.co/ideas/why-we-shouldnt-push-a-positive-mindset-on-those-in-poverty 貧困に関する研究はこ

    貧困に苦しむ人が「ポジティブなマインドセット」に切り替えられない理由とは?
  • GitHubがgit://を無効にした件

    TL;DRGitHubからgitプロトコル(git://github.comで始まるURL)でgit cloneする設定になっている人が居たらSSHプロトコル(git@github.comで始まるURL)を使うように設定変更しましょう wez/weztermという端末エミュレータを知って、使ってみようかと思い、ドキュメントに従ってbrew tapしたときのことでした。次の様なエラーが発生して、tapできません。 $ brew tap wez/wezterm ==> Tapping wez/wezterm Cloning into '/opt/homebrew/Library/Taps/wez/homebrew-wezterm'... fatal: remote error: The unauthenticated git protocol on port 9418 is no longer

    GitHubがgit://を無効にした件
  • 『プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書』は書名に偽りのない、全部入りの1冊 - Magnolia Tech

    プロになるJava仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 作者:きしだ なおき,山 裕介,杉山 貴章技術評論社Amazon 予約していたので、早速届きました。 Javaを使ってプログラミングを学ぼうとする人は、とりあえずこれ買っておけばいいんじゃね?っていう全部入りの1冊ですね。 JDKのインストールから、IDE/REPLの使い方、基的な文法、エラーメッセージの読み方、オブジェクト指向、関数型プログラミング、各種ツールチェーン(ユニットテスト、ビルドツール、バージョン管理)と、全部入りの全部入り。 全般的に単なる文法の解説に終始せず、初学者がつまづきやすいところにページを割いているところが良くて、特に「最初からIDEを使う」と、「エラーが出ることと、その読み方を最初から書いていること」、「理解が難しそうな”ループ”の概念にフォーカスしていること」あたりは、上手

    『プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書』は書名に偽りのない、全部入りの1冊 - Magnolia Tech
  • 昇降デスクに大型バッテリー搭載したら、デスクすっきりが新たなステージに突入した。|Go Ando / PREDUCTS / THE GUILD

    こんにちは。 デスクをすっきりさせることをライフワークとして生きて参りましたが、そのデスクすっきりが新たなステージに突入してしまった。と思える出来事があったので共有させてください。 まずはこの写真を見て、何かお気づきでしょうか。 そうです。デスクからケーブルが一たりとも床に出ていないのです。デスクトップPCでしかも昇降デスクなのに。とても不思議な光景。 1. ことの始まり最近3DCGのアプリケーション"Blender"を仕事で使うようになり、日々勉強しながら楽しく活用してます。 空間にデスクを配置した時の様子がとても簡単にシミュレーションでき、様々なバリエーションをごく短時間で試すことが出来ます。デスクの配置替えなんて秒です。 そんな時にふと頭をよぎる 「現実世界のデスクの移動って何でこんな面倒くさいんだ…」 とにかくデスクは重い。脚にキャスターを付ければ移動は楽ですが、昇降デスクだとそ

    昇降デスクに大型バッテリー搭載したら、デスクすっきりが新たなステージに突入した。|Go Ando / PREDUCTS / THE GUILD
  • はじめに - アルゴリズムとデータ構造大全

    はじめに このドキュメントは,主に競技プログラミングで出題される問題を解く際に利用できるアルゴリズムやデータ構造をまとめたものです.特定の問題にはあまりフォーカスしないため,問題を解く際の考察の仕方等の内容はありません.詳しく,正確に,分かりやすく書いていこうと思っています. このドキュメントは執筆途中です. 想定する読者 C++を用いたプログラミングに慣れている方を読者として想定しており,C++言語の仕様や,文法にはあまり触れません.また,計算量という用語についても説明しません.ただし,償却計算量など,計算量の見積もりが複雑なものについては必要に応じて説明します. コードについて このドキュメントで登場するコードは,可読性向上のため,以下のようなコードがファイルの先頭に記述してあることを前提としています.また,適切な問題を用いてコードの検証がなされている場合は,コード周辺にのように,検証

  • 真面目なプログラマのためのディープラーニング入門

    はじめに: 講座は「機械学習ってなんか面倒くさそう」と感じている プログラマのためのものである。講座では 「そもそも機械が『学習する』とはどういうことか?」 「なぜニューラルネットワークで学習できるのか?」といった 根的な疑問に答えることから始める。 そのうえで「ニューラルネットワークでどのようなことが学習できるのか?」 という疑問に対する具体例として、物体認識や奥行き認識などの問題を扱う。 最終的には、機械学習のブラックボックス性を解消し、所詮は ニューラルネットワークもただのソフトウェアであり、 固有の長所と短所をもっていることを学ぶことが目的である。 なお、この講座では機械学習のソフトウェア的な原理を中心に説明しており、 理論的・数学的な基礎はそれほど厳密には説明しない。 使用環境は Python + PyTorch を使っているが、一度原理を理解してしまえば 環境や使用言語が

    真面目なプログラマのためのディープラーニング入門
  • 年内いっぱいでRepro株式会社を退職します - スペクトラム

    次は決まってます。 はじめに 前回の自分の退職エントリーを読んでみたのですが、何が言いたいのかさっぱりでビックリしました。 最終出社日です - スペクトラム さて、そんな話は置いといて。 おもいで ちょうど4年間、Repro株式会社でお世話になりました。 4年間、当にいろんなことがありました。 正直、自分でも「あれ?Repro辞めるの?待って、マジで?あんな良い所を?なんで???」という気持ちがよく現れて混乱しています。 引っ越しすると決めたのは自分なのに、いざ今くつろいでいる部屋とお別れとなると思うと急に寂しくなるアレです。 会社には当にお世話になりました。入社時から週4のリモートワークも認めてもらっていてずっと続けていました。(コロナ禍で2020年2月中旬くらいからは一度も出社できていません) 報酬も高く、面白い仕事がどんどん舞い込んできて、大変優秀な方々と一緒にお仕事しながらエン

    年内いっぱいでRepro株式会社を退職します - スペクトラム
  • エンジニアが知っておきたい工数見積もり術! " 無理ゲー進行 "から脱するために大切なコト - エンジニアHub|若手Webエンジニアのキャリアを考える!

    エンジニアが知っておきたい工数見積もり術!  無理ゲー進行 から脱するために大切なコト エンジニア仕事に欠かすことのできない、工数見積もり。実際の現場でいくどとなく見積もりを行ってきた筆者が、「健全な進行」にするための工数見積もりのテクニックを伝えます。 アプリエンジニアの池田 惇( @jun_ikd)です。今回は、エンジニアならば避けられない「工数見積もり」について考えてみたいと思います。若手エンジニアでも自分の作業は自分で見積もるようにするべきです。なぜなら、より正確に計画を立てられるようになれば、自分の時間をコントロールして学びや家族・友人との時間を確保できるからです。また、期日内に完了をさせることは周囲の信頼獲得に繋がります。工数の見極めはエンジニアとして、とても重要なスキルなのです。 なお、稿での「見積もり」とは開発に必要な期間を予測することとし、見積もりが失敗する原因や対策

    エンジニアが知っておきたい工数見積もり術! " 無理ゲー進行 "から脱するために大切なコト - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • 工数見積もりやスケジュール管理で参考になる記事10選

    プロジェクトを遂行するためには、工数の見積もりやスケジュール管理が必要になります。正確な見積もりは難しく納期に間に合わなかったり、残業や休日出勤で埋め合わせたりした経験はありませんか? 今回は、より正確に工数の見積もるための手法や、差し込み作業を考慮したスケジュール手法などについて解説されている記事をまとめました。 マネージャー、エンジニア、デザイナーなどすべての方に参考なる内容だと思います。 開発の見積もりとスケジュール管理 クックパッド株式会社の方が実践している見積もりとスケジュール管理方法について紹介されています。工数を見積もるステップや、スケジュールを立てるときの注意点、スケジュール管理の方法について学びたい方におすすめの記事です。 開発の見積もりとスケジュール管理 不安とストレスから解放される見積りとスケジュール方法 開発をしているとき、納期に間に合わなかったらどうしようと不安に

    工数見積もりやスケジュール管理で参考になる記事10選
  • 「DDDのモデリングとは何なのか、 そしてどうコードに落とすのか」資料 / Q&A - little hands' lab

    Mix Leap Study 特別編 - レガシーをぶっつぶせ。現場でDDD! コラボカンファレンス に登壇させていただいたのでで、その際の資料です。 また、当日sli.doでたくさんのご質問をいただいたので、まとめてお答えします。 発表資料 DDDのモデリングとは何なのか、 そしてどうコードに落とすのか from Koichiro Matsuoka www.slideshare.net もっと詳しく知りたい方は この発表資料の内容を、さらに詳しく解説した書籍を出しました! little-hands.booth.pm 初めてDDDを学ぶ方、もしくは実際に着手して難しさにぶつかっている方向けの書籍になっています。 迷子になりがちな「DDDの目的」や「モデル」の解説からはじめ、 具体的なモデリングを行い実装まで落とす事例を元に、DDDの魅力や効果を体感することを目指します。 このの「第2章

    「DDDのモデリングとは何なのか、 そしてどうコードに落とすのか」資料 / Q&A - little hands' lab
  • 眠れぬ夜に効果あり? 環境音からASMRまで、「睡眠を誘う音」7選

  • CO2を放出して眠りに誘う!? 「MWC 2022」で展示された謎の装置の正体

  • ドメイン駆動設計 モデリング/実装ガイド - little-hands - BOOTH

    書は、初めてDDDを学ぶ方、もしくは実際に着手して「難しい!!」と感じているエンジニアの方を対象とした、ドメイン駆動設計(以下、DDD)についての解説書です。 近年、ソフトウェアのレガシー化が社会的に問題になっていると言われています。 DDDはレガシー化への対策として非常に有用なものですが、日語で出ている書籍「エリック・エヴァンスのドメイン駆動設計」や「実践ドメイン駆動設計」は非常に重厚かつ難解で、初学者が実用に到達するまでには長い時間と試行錯誤が必要なのが実情です。 そこで書では、迷子になりがちな「DDDの目的」や「モデル」の解説からはじめ、 具体的なモデリングを行い実装まで落とす事例を元に、DDDの魅力や効果を体感することを目指します。 また、その後にはレイヤーごとの個別のトピックについて、1章ずつ詳しく解説します。 ■書の構成 書は以下の構成になっています。 「第1章 DD

    ドメイン駆動設計 モデリング/実装ガイド - little-hands - BOOTH
  • ドメイン駆動設計のエンティティとクリーンアーキテクチャのエンティティ

    概要 ドメイン駆動設計の有名な用語にエンティティというものがあります。 ほとんどドメイン駆動設計の代名詞のひとつと言っても過言でないほどの有名さを誇るこちらの用語ですが、なんとクリーンアーキテクチャにもまったく同じエンティティという用語が出てきます。 このエンティティという用語は名前こそ同じではありますが、実は完全に同じものを指しているわけではありません。 とはいえまったく違うものである、というわけでもありません。 要するにややこしい。 この記事はこのややこしい用語について、ドメイン駆動設計とクリーンアーキテクチャのそれぞれのエンティティが何を指していて、それがどのように異なっているのかについてを解説します。 それぞれのエンティティ そもそもエンティティとは何でしょうか。 英和辞典を引くとエンティティとは「存在[実在]物」といった意味が出てきます。 これはかなり抽象的な意味です。 つまり、

    ドメイン駆動設計のエンティティとクリーンアーキテクチャのエンティティ
  • Haskell の好きなところ - Qiita

    はじめに プログラミング言語 Haskell の好きなところをまとめてみました。 この記事をきっかけに、Haskell に興味を持っていただけたら幸いです。 型システム Haskell は強い静的型付け言語です。静的型付け言語のメリットとして、コンパイル時に型検査を行うことでプログラムを実行する前に間違いに気付ける、という点が挙げられます。 例えば、代表的な動的型付け言語である Ruby を書いたことがある人なら、以下のエラーを見たことがあるでしょう。 このエラーは hoge というメソッドを呼び出そうとしたオブジェクトが nil であった場合に発生します。オブジェクトが nil であることは実行時にメソッドを呼ぼうとしたその瞬間まで気付くことはできません。 一方、静的型付け言語である Haskell は事前に型検査を行うため、プログラムに問題がある場合は実行前に型エラーとして表示してくれ

    Haskell の好きなところ - Qiita
  • Pipenvを使ったPython開発まとめ - Qiita

    はじめに 今年は複数人でいっしょにPythonを使って開発を行う機会があったのですが,そのときに導入したPipenvがいい感じでしたので一通りの基操作についてまとめてみようと思います.個人での開発でも有効だと思いますが,複数人で開発するときに便利かなと感じたところも多かったので,そういう視点も入れながらまとめてみました. ※個人的にチームでの開発でよかった内容にをつけています. Pipenvとは Pythonで開発するときに,プロジェクト毎のパッケージ管理や仮想環境の構築を簡単に自動で行ってくれるツールです.Node.jsのnpmなんかを使ったことがあればイメージがわきやすいと思います. パッケージのインストールならpip,仮想環境の構築ならvirtualenv(venv)を使えば対応できますが,pipenvはそれらをまとめてより簡単に扱えるようにサポートしてくれます.またnpm-scr

    Pipenvを使ったPython開発まとめ - Qiita
  • 受取期限の過ぎたデータをMySQL上から削除する話 | GREE Engineering

    こんにちわ。せじまです。今回は地味で泥臭い話をします。ただ、割と平易な内容かと思いますので、初学者の方にもオススメです。 はじめに ゲームでは、受取期限のついたログインボーナス的なものがよくあります。ユーザが期限までに受け取らないと、ユーザからそのデータは不可視になりますが、必ずしも、不可視になった瞬間にデータベースから直ちに削除される、というわけでもありません。バッチジョブか何かで、ガベージコレクションのように削除するケースが多いのではないでしょうか。 また、論理削除という概念もあります。論理削除についてはいろいろ意見や考え方があるかと思いますので、ここでそれについては論じませんが、「削除フラグが立ってユーザから不可視になった後、三ヶ月以上経過したデータを削除したい」みたいなことは、ゲームに限らず、しばしばあるんじゃないかなと思います。 こういった、ユーザから不可視になってしばらく経過し

    受取期限の過ぎたデータをMySQL上から削除する話 | GREE Engineering
  • Haskell 超入門 - Qiita

    Haskellで簡単なプログラムを書くのに最低限必要な基礎文法を取り上げます。練習では再帰に慣れることに重点を置きます。再帰によるリスト処理の例として各種ソート(挿入ソート、バブルソート、マージソート、クイックソート)を紹介します。ラムダやモナドなどの発展的な内容には触れませんのでご了承ください。 シリーズの記事です。 Haskell 超入門 ← この記事 Haskell 代数的データ型 超入門 Haskell アクション 超入門 Haskell ラムダ 超入門 Haskell アクションとラムダ 超入門 Haskell IOモナド 超入門 Haskell リストモナド 超入門 Haskell Maybeモナド 超入門 Haskell 状態系モナド 超入門 Haskell モナド変換子 超入門 Haskell 例外処理 超入門 Haskell 構文解析 超入門 【予定】Haskell 継続

    Haskell 超入門 - Qiita