タグ

j5ik2oのブックマーク (3,843)

  • ChatworkはPHPエンジニアの採用をより強化していきます、というお話。 - Chatwork Creator's Note

    プロダクト部で副部長をしています、田中(@tan_yuki)です。最近はたべっ子水族館をずっとべています。 私の主な仕事はプロダクト開発組織に関する採用・ピープルマネジメントに関するところがメインなのですが、最近、中途採用の方針を少し変更しました。その変更内容について、社外にも発信していこうと思い、ブログを書きました。 以下の文章は社内で共有した文章に少し加筆修正を加えたものになります。 ~ * ~ * ~ * ~ * ~ * ~ * ~ Chatworkで使われているプログラミング言語といえば、どういったものを想像するでしょうか? 私達はいままで、Scalaという言語を強くアピールしてきました。その功績もあり、多くのScalaエンジニアの方々を採用することに成功しています。もちろん、今後もScalaとは長く付き合っていくつもりです。 しかし、最近エンジニア採用の優先度の調整をし、P

    ChatworkはPHPエンジニアの採用をより強化していきます、というお話。 - Chatwork Creator's Note
    j5ik2o
    j5ik2o 2022/03/26
    この記事のとおりScala化は成功してますよ。刷新については継続中ですが新規開発はほぼScala。それに全面刷新するとは最初から断言してませんしScalaになると技術負債がないとも言ってませんが…。https://flxy.jp/article/8173
  • 100日間かけてエヴァンス本を完読しました(PDF公開) - そこに仁義はあるのか(仮)

    11/25から3/4の100日間かけてエリック・エヴァンスのドメイン駆動設計を完読しました! ソフトウェア開発の複雑さに立ち向かうための方法に「ドメイン駆動設計」があります。 エリック・エヴァンスのドメイン駆動設計(以降、エヴァンス)は発売から20年・日語訳発売から10年経っても読まれていて、ドメイン駆動設計の原著であり、多くのエンジニアが名著という一冊です。 その分厚さや内容が難しそうというイメージからずっと積んだままになっていている人も多いのではないでしょうか。 エリック・エヴァンスのドメイン駆動設計 作者:Eric Evans翔泳社Amazon 私もそんな一人で、ドメイン駆動設計をなんとなく知った風に過ごしていましたが、ドメイン駆動設計に関する勉強会への参加をきっかけにエヴァンスと向き合い、知ったこと・学んだことを毎日1ページにまとめてツイートする活動を始めました。 100日間

    100日間かけてエヴァンス本を完読しました(PDF公開) - そこに仁義はあるのか(仮)
    j5ik2o
    j5ik2o 2022/03/05
  • 最近の海外DDDセミナーを聞いてみたら色々と常識が破壊された - Qiita

    TL;DR 最近の設計志向はイベント駆動がかなり中心になっている とくにDDD界隈がここまでイベント駆動一槍だとは思わなかった ストーリーを出発点にイベント駆動で設計を組み立てる「イベントストーミング」がかなり多くの場所で事例として取り上げられている はじめに 最近、洋書や動画の講演資料などいくつか海外の情報源に当たることがおおくなり、その中で「結構日でやられている取り組みとちがうなー」と考えることが多く、一旦そのあたりの差分をまとめておこうかと思いました。 ただの出羽守(あるいは鹿鳴館精神)ではなく、一つの潮流としてこんなのがあるってのを記述できればなと思います イベントが設計の基線となりつつある、、、のか? まず1つ目に驚いたのが、イベントが設計の中心になっている、そう感じる機会が多かったこと。 ここで言うイベントは、実践ドメイン駆動設計の中でも「ドメインイベント」として実装パタ

    最近の海外DDDセミナーを聞いてみたら色々と常識が破壊された - Qiita
    j5ik2o
    j5ik2o 2022/02/26
    イベントストーミングは最近注目されていますがイベントを使った設計自体は新しくないです。昔からある。ご参考→ https://speakerdeck.com/j5ik2o/domeinibentofalseguan-dian-karazai-kao-surusohutoueashe-ji
  • Rust のパフォーマンスに何が影響を与えているのか - Qiita

    動機 The Rust Performance Book という書きものを見つけました。いろいろなパフォーマンス改善テクニックが書かれているわけですが、実際に普段書いてる Rust コードの中で一体何がパフォーマンスに与える影響が大きいのか?という点が気になってベンチマークを取ってみました。 今回パフォーマンスを計測するプログラムはビットマップ画像(1600px x 1200px)をグレースケールに変換する処理です。I/O のパフォーマンスは無視します。&[u8]から RGB をそれぞれ 1byte ずつ(合計 3bytes)取ってきて、それをグレースケールの 1byte に変換してVec<u8>にする時間を計測します。イメージとしては下記のような関数です。 // source が カラーのビットマップ画像のデータ fn sample(source: &[u8]) -> Result<Ve

    Rust のパフォーマンスに何が影響を与えているのか - Qiita
  • アジャイル開発におけるスケジュールを継続的に見直す - Chatwork Creator's Note

    こんにちは。都志(@louvre2489)です。 これは Chatwork Advent Calendar 15日目のエントリです。 Chatworkではアジャイルを前提に開発を行っています。プロジェクト特性やチームのルールに依って多少特色はありますが、ほぼ全ての開発がアジャイルに行われているのではないでしょうか(詳細は未確認)。 アジャイル開発に慣れてくるとどういう風に開発を進めれば良いかも共通知ができてくるのですが、アジャイル開発を導入し始める時によくわからなくなるポイントの1つとして『スケジュールをどのように可視化するか?』という課題があると思います。 この課題に対して、私の所属しているチームで行っているスケジュール作成の方法を紹介させていただきたいと思います。 アジャイル開発のスケジュールを立てよう 実はこの内容、以前に藤井 (@yoshiyoshifujii) が書いてくれていま

    アジャイル開発におけるスケジュールを継続的に見直す - Chatwork Creator's Note
    j5ik2o
    j5ik2o 2021/12/15
    チームの外とコミュニケーションを取れるように工夫してます
  • GitHub - Katsukiniwa/awesome-software-design-ja: 日本語でのソフトウェア開発・設計に関する記事や書籍をまとめたリポジトリです

    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 - Katsukiniwa/awesome-software-design-ja: 日本語でのソフトウェア開発・設計に関する記事や書籍をまとめたリポジトリです
    j5ik2o
    j5ik2o 2021/11/14
    紹介されてた。恐縮です。みんなもどんどん発信したらええんやで。
  • 「JavaScript」が首位維持、「Rust」のコミュニティ急成長--SlashData開発者調査

    SlashDataが最近発表したレポート「State of the Developer Nation」(開発者世界の状況)の第21版では、世界の160カ国にまたがるソフトウェア開発者のプログラミング言語やツール、API、アプリ、テクノロジー分野の2021年第3四半期におけるトレンドだけでなく、開発者自身の姿勢についても光を当てている。 またこのレポートでは、開発者の5GやIoTへの関与、特にプログラマーがツールやアプリ、サービスにおいて、テクノロジーの進歩をどのように活用しているのかについても目を向けている。 JavaScriptは、ウェブアプリやバックエンドアプリにおける継続的な人気に支えられ、2021年第3四半期も最も人気あるプログラミング言語の地位を維持している。そのこと自体に驚きはない。詰まるところ、JavaScriptは何年にもわたって世界で最も普及している言語の座を維持してきて

    「JavaScript」が首位維持、「Rust」のコミュニティ急成長--SlashData開発者調査
    j5ik2o
    j5ik2o 2021/11/14
  • 翻訳WGが「クラウド脅威モデリング」を公開しました! – csajapan

    資料は、Cloud Security Alliance (CSA)が公開している「Cloud Thread Modeling」の日語訳です。 クラウド脅威モデリングは、クラウドのサービスやアプリケーション固有の品質や考慮事項を説明するため、標準的な脅威モデリング手法を拡張します。クラウド脅威モデリングは、アタックサーフェスの特定及び削減を補い、さまざまなクラウドサービスプロバイダのセキュリティ要件の抽象化を支援し、リスク管理に役立てられます。 こちらからダウンロードしてください。

  • DXを妨げる要因と実現へのアプローチ by @yuzutas0 / 20211022

    株式会社商船三井様の社内セミナーで用いた資料です。 関係者の許諾を得て公開しています。 関連記事「DXに関する私的な殴り書き」 https://yuzutas0.hatenablog.com/entry/2020/06/02/110000 関連スライド「民間企業におけるDXの事例と課題」 https://speakerdeck.com/yuzutas0/20210623 合同会社風音屋 https://kazaneya.com/

    DXを妨げる要因と実現へのアプローチ by @yuzutas0 / 20211022
  • Go を2年くらい書いた感想: 意図をエンコードしきれない感じは消えず - blog.8-p.info

    ここ2年くらい、仕事では大体 Go を書いている。jmuk さんが Go言語は、なんというか「ちょうどいい」言語だな、と思っている。異論は認める。 と書いていたけれど、私はやっぱり ScalaKotlin あたりが好きで、これは変わらなそう。 例えばコレクションを map しているのをみると、私は「なるほど、ここではコレクションの要素数は変わらないんですね」と思う。filter だったら「コレクションの要素数は変わるけど、個々の要素は変わらないのか」ということを、あるいは Result を map していたら「ここではエラーのほうは触らないのね」ということを読みとっている。 こういう意図が、素朴な for ループと、if err != nil だと読みきれなくて、いや真面目に字面を追っていけばわかるんだけど、私が「map するか」と思いながら for ループを書いて、その for ル

    j5ik2o
    j5ik2o 2021/10/24
    わかるofわかる。ドメインモデルはWhat偏重で、インフラストラクチャ層はHow偏重なコード表現が一番バランスがいい。Scala, Rustは前者に、Goは後者に向いていると思う。
  • DX推進の立役者は「やたがらす人材」だった IPA、DX進む22社の調査結果を発表

    多くのデジタルトランスフォーメーション(DX)先進企業では、「やたがらす人材」が中心となり、DXをけん引していた──情報処理推進機構(IPA)は9月21日、そのような結果を示したDX先進企業のヒアリング調査結果を発表した。 IPAでは、欧米諸国と比べて日国内のDX推進が進んでいないことを受け、DXを推進するためにITシステムのあるべき姿や、DX推進を阻害する技術的・組織課題と、それを克服した事例の調査を実施。DXの先進性を評価し、業種別にピックアップした国内外の22社にヒアリングした。 その結果、多くのDXの先進企業では「やたがらす人材」が中心となり、DXの方向性や技術の導入・開発推進、事業への展開をけん引していることが明らかになったという。やたがらす人材とは、経営と事業、技術の3つに精通し、リーダーシップを発揮できる人材を指す。 「彼らが経営の言葉で、経営者を説得し、事業の言葉で事業部

    DX推進の立役者は「やたがらす人材」だった IPA、DX進む22社の調査結果を発表
    j5ik2o
    j5ik2o 2021/09/23
    八咫烏は導きの神。そういう神が降臨する現場じゃなくて、神待ちな現場で何ができるかが重要な気がする。
  • 集約の実装について考えてみた

    はじめに DDD の集約の実装について考えたことをまとめます。 題材 料理レシピ作成を題材としてまとめていきたいと思います。 概要 概要は以下の通りです。 レシピには材料と作り方がある。 材料には材や調味料などの名前と分量が必要である。 材料はメインとなる材料や合わせダレなどのカテゴリごとにグルーピングできるとよい。 作り方は具体的な手順を示すものである。 ドメインモデル 上記をドメインモデルで表現するとこのようなイメージです。 各種値の範囲はドメインとして決まっているわけではないですが、システム化する上で決めなければならないことだと思いますので、ドメインエキスパートとすり合わせながら運用に支障をきたさない範囲で決定すると良いのかなと思います。 今回は決定した値の範囲をドメインモデルに補足する形で記載しています。 ユースケース システムに対するユースケースは以下の通りとし、末端のユース

    集約の実装について考えてみた
    j5ik2o
    j5ik2o 2021/09/22
    材料リポジトリは材料テーブルだけをI/Oするはずが、外部集約の材料カテゴリのテーブルも更新するのですか? 集約の境界が曖昧になってません??
  • 我々向けの Algebraic Effects 入門

  • 「写経」の原典 - きしだのHatena

    書籍とかのサンプルコードをそのまま入力して勉強することを「写経」というけども、それを言い出したのは角谷さん、というメモ。 写経は言葉ではなく心で理解するのが大事。 2004-2005頃に @t_wada と働いていた頃、サンプルコードをコピペでなく手打ちすることを「写経」と呼んでました。和田さんが以前の現場に通いながら"TDD by Example"のサンプルコードを「祈るような気持ち」で手打ちしていたというエピソードを形容して「写経ですね」と呼んだのが始まりだったような…— Kakutani Shintaro (@kakutani) 2021年9月18日 恐らく2005年7月ごろではないかと思われる。 この夏は写経が来るね, 地震が来た - 角谷HTML化計画(2005-07-23) 角谷さんのブログでの初出も7/15だけど、babieさんのコメントを見るとこの時期にまわりで語ってたこと

    「写経」の原典 - きしだのHatena
    j5ik2o
    j5ik2o 2021/09/19
    西尾さんの"エンジニアの知的生産術"にも写経の話題があるので気になる人それも読むとよいかも。頭ごなしに写経は意味ないと言う人がいるけど、正しい知識をつけたほうがよいと思う
  • スタートアップにクリーンアーキテクチャを適用したが、技術的負債が塵積った件 〜開発合宿で技術的負債を粉砕します〜 - ANDPAD Tech Blog

    こんにちは。こんばんは。おはようございます。 アンドパッドで現在はバックエンドの方のエンジニアをやっている原田です。 アンドパッドには2021年6月にJOINしまして、現在までANDPADボードの開発に携わっています。 ANDPAD施工管理が比較的長期間の工事をターゲットにしているのに対して ANDPADボードは1日〜数日の間に短期間の工事や施工を行う際のスケジュール管理を行えるサービスです。 andpad.jp 今回は入社3ヶ月目というきりの良いタイミングで今まで行ってきたことを振り返りつつ、直近行った技術的負債を軽減するための「開発合宿」について書いていきます。 一応最初に書いておきますが、リファクタリングに関するチートスキルはないのでバーンとやってドーンと解決みたいなド派手な解決ではなく地道な改修作業をちまちま行いましたという内容です。 入社してからやってきたこと ANDPADボード

    スタートアップにクリーンアーキテクチャを適用したが、技術的負債が塵積った件 〜開発合宿で技術的負債を粉砕します〜 - ANDPAD Tech Blog
    j5ik2o
    j5ik2o 2021/09/17
  • クリーンアーキテクチャなんてものはない(クリーンアーキテクチャーの読み方)

    すでに何人かの人がクリーンアーキテクチャなんてないよ、って話はしていてイマサラだと思うんですが。 あえてブログの記事に残そうかなと思って書いてみます。 最近、改めてクリーンアーキテクチャを読んだり、原文を読んだり、 ここ数ヶ月ツイート色々な人のを観測したり社内で話したりしていて 考えがまとまってきたので、自分の言葉で整理してみたくなった。 「へー、クリーンアーキテクチャっていうソフトウェアアーキテクチャがあるんだー」という微妙な誤解?をちょっとでも減らす一助になればという感じです。あと、の読み進め方のヒントにもなるかも 先に結論 クリーンアーキテクチャというのはアンクルボブの書いた。 ソフトウェアアーキテクチャのことではない。 the クリーンアーキテクチャというブログ記事はただのソフトウェアアーキテクチャの例(そしての一部分)だが、独り歩きしている クリーンアーキテクチャというソ

    クリーンアーキテクチャなんてものはない(クリーンアーキテクチャーの読み方)
  • MySQLでプライマリキーをUUIDにする前に知っておいて欲しいこと | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

    株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 bashパフォーマンスMySQLInnoDBDB設計インデックス こんにちは、羽山です。 今回は MySQL のプライマリキーに UUID を採用する場合に起きるパフォーマンスの問題を仕組みから解説します。 MySQL(InnoDB) & UUID のパフォーマンスについては各所でさんざん議論・検証されていますが、論理的に解説した記事が少なかったり一部には誤解を招くようなものもあるため、しっかりと理由から理解するための情報として役立つことができればと思っています。 UUID と比較される古き良き昇順/降順のプライマリキーはというと、 MySQL の InnoDB において良いパフォーマンスを出すために縁の下の力持ちのような働きをしてくれているケースが実は少な

    MySQLでプライマリキーをUUIDにする前に知っておいて欲しいこと | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
    j5ik2o
    j5ik2o 2021/09/01
  • Github Actionsの個人的ユースケース備忘録 | DevelopersIO

    はじめに Github Actionsで色々なフローの自動化に取り組んで一番大変だと感じているのは、目的とするデータをコンテキストのどこから取れるのか見つけるところです。 公式ドキュメントも正直目的の情報に辿り着きやすいとも言えず、StackOverFlow等のFAQフォーラムも類似した質問が多くありすぎて逆に絞るのが大変となる繰り返しでした。 私自身で頻繁に用いそうなものを中心に、調査の手間を省くために備忘録として書き出してみました。2020年5月26時点のデータとなります。 各コンテキストについて 利用可能なコンテキストは以下の8つです。公式ドキュメントが個人的にやや見難いため、必要なところだけを抜粋しました。 github workflowの情報にアクセスする用途 env workflow、job、stepの環境変数にアクセスする用途 job jobの情報にアクセスする用途 step

    Github Actionsの個人的ユースケース備忘録 | DevelopersIO
  • クォータニオンとは何ぞや?:基礎線形代数講座 - SEGA TECH Blog

    ---【追記:2022-04-01】--- 「基礎線形代数講座」のPDFファイルをこの記事から直接閲覧、ダウンロードできるようにしました。記事内後半の「公開先」に追記してあります。 --- 【追記ここまで】--- みなさん、はじめまして。技術部 開発技術部のYです。 ひさびさの技術ブログ記事ですが、タイトルからお察しの通り、今回は数学のお話です。 #数学かよ って思った方、ごめんなさい(苦笑) 数学の勉強会 弊社では昨年、有志による隔週での数学の勉強会を行いました。ご多分に漏れず、コロナ禍の影響で会議室に集合しての勉強会は中断、再開の目処も立たず諸々の事情により残念ながら中止となり、用意した資料の配布および各自の自学ということになりました。 勉強会の内容は、高校数学の超駆け足での復習から始めて、主に大学初年度で学ぶ線形代数の基礎の学び直し 、および応用としての3次元回転の表現の基礎の理解

    クォータニオンとは何ぞや?:基礎線形代数講座 - SEGA TECH Blog
  • for-yieldはScalaにおける内包表記 数学と似ているシンタックスシュガーの書き方

    アジア最大級の国際Scalaカンファレンスである「ScalaMatsuri2020」がオンラインで開催されました。ここで中村氏が「他言語経験者が0から始めるScalablock式とfor式と型クラス~」をテーマに登壇。続いてyieldの付くfor式について紹介します。前回の記事はこちらから。 yieldの付くfor式 中村学氏(以下、中村):次はfor expression、for式についてです。「式」と言うように、Scalaのforは式です。他の言語ではfor文と言われますが、Scalaのforは式です。そのため評価すると値になります。Scalaの式は大きく分けて2種類あります。予約語のyieldが付くものと、付かないものです。 yieldが付かないfor式は、基的に他の言語のforeach構文とほぼ一緒です。全体の式としての評価結果はユニットという、何の意味ももたない値になります

    for-yieldはScalaにおける内包表記 数学と似ているシンタックスシュガーの書き方
    j5ik2o
    j5ik2o 2021/05/29