yo-iidaのブックマーク (364)

  • 継続的にライブラリアップデートをする理由とチームでの取り組み方

    つい先日(2021/12/11)、歴史的にみてもトップレベルで深刻な脆弱性が発見されました。 自分が所属しているログラスでは同日 13:23 に該当ライブラリのアップデートを対応を終えました。 社内でインシデント起票してから1時間半ほどでの対応でした。 このスピードで対応できたのはひとえに全てのライブラリを ほぼ最新バージョンに保てているからです。 これは日頃のチームの成果であると思っています(もし今回のライブラリに関連するライブラリが古いままならパッチバージョンがうまく動かない可能性があった)。 この記事では改めて、ライブラリアップデートを行う理由と、チームで仕組みとして行っていくtipsを紹介していきます。 なぜ継続的にライブラリアップデートをする必要があるのか? 継続的にライブラリアップデートを行う理由は2つあります。 迅速に脆弱性に対応するため ライブラリの新機能を使うため 順に説

    継続的にライブラリアップデートをする理由とチームでの取り組み方
    yo-iida
    yo-iida 2021/12/14
  • DDDのエンティティはイミュータブルな実装にしてもいいの?(サンプルコード有り)[ドメイン駆動設計 / DDD] - little hands' lab

    記事はドメイン駆動設計(DDD) Advent Calendar 2021の13日目の記事です。 エンティティとイミュータブル性 オブジェクトをイミュータブル、つまり内部状態を変えない実装にすることで可読性やマルチスレッド対応性が向上することがあります。 エンティティはモデリング上の定義はミュータブルなものですが、実装方法をイミュータブルにすることは可能です。 (DDDでは、エンティティはミュータブルもしくはイミュータブル、値オブジェクトは必ずイミュータブルという定義です。詳しくはこちら) DDD基礎解説:Entity、ValueObjectってなんなんだ - little hands' lab 記事ではエンティティをイミュータブルな実装にするサンプルコードと合わせて、イミュータブルにした場合の旨みを感じられるコードを紹介します。 イミュータブルなエンティティ実装の例 エンティティをイ

    DDDのエンティティはイミュータブルな実装にしてもいいの?(サンプルコード有り)[ドメイン駆動設計 / DDD] - little hands' lab
    yo-iida
    yo-iida 2021/12/13
  • エンジニアリングマネージャーはじめました(2周目)|Yoshiki Iida

    こんにちは、ログラスの飯田です。 この記事は Engineering Manager Advent Calendar 2021 の9日目の記事です。 1年のふりかえり1年前以下の記事を書きました。 この1年を振り返ってみると、 ・コードを書くこと8割 ・採用を中心とした組織的なこと2割 といった割合で結果としてはエンジニアリングに向き合えた1年だったかなと思っています。 とにかく手を動かしながらプロダクトを作っていくことに集中できたことは当に取り組めてよかったです。 何よりほっとしたことは、「自分は2年現場から離れていても戻った時にはエンジニアとしてバリューを出せる」と思えたことです。これは私が転職の際に向き合わなければいけない最も大きな恐怖でした。 実際に1年の中でいくつか大きめの機能開発のリードを任せてもらえたことでそれは完全に払拭されました。 さて、ログラスは幸いにも採用が順調に進

    エンジニアリングマネージャーはじめました(2周目)|Yoshiki Iida
    yo-iida
    yo-iida 2021/12/10
    ジャーマネ業ふたたび
  • High Performance FastAPI

    PyCon JP 2021 発表資料です。

    High Performance FastAPI
    yo-iida
    yo-iida 2021/10/17
  • SPAセキュリティ入門~PHP Conference Japan 2021

    こちらのスライドは以下のサイトにて閲覧いただけます。 https://www.docswell.com/s/ockeghem/ZM6VNK-phpconf2021-spa-security シングルページアプリケーション(SPA)において、セッションIDやトークンの格納場所はCookieあるいはlocalStorageのいずれが良いのかなど、セキュリティ上の課題がネット上で議論されていますが、残念ながら間違った前提に基づくものが多いようです。このトークでは、SPAのセキュリティを構成する基礎技術を説明した後、著名なフレームワークな状況とエンジニア技術理解の現状を踏まえ、SPAセキュリティの現実的な方法について説明します。 動画はこちら https://www.youtube.com/watch?v=pc57hw6haXkRead less

    SPAセキュリティ入門~PHP Conference Japan 2021
    yo-iida
    yo-iida 2021/10/03
  • オブジェクト詰め替えが面倒臭い?マルチカーソルを使えば10秒でできます - little hands' lab

    面倒臭いオブジェクト詰め替え オニオンアーキテクチャ、クリーンアーキテクチャなどの階層化されたアーキテクチャを使用する際、レイヤーの境界でオブジェクトの値を詰め替える必要性が発生します。 オブジェクトを詰め替えることでレイヤーの依存関係を断ち切り、一度書いた後の保守性を高めることに大きく貢献するのですが、筆者の観測範囲では単調作業に感じるせいかかなり嫌われる傾向があるように感じます。 そして、そのような詰替を嫌うばかりにオブジェクト詰め替えをやめてしまうこともありますが、それは非常にもったいないことです!! なぜなら、「初期実装の数分の重要性 <<<< その後の保守性の重要性」だからです。 なので、できればきちんと詰め替えしてレイヤーの依存関係を保って欲しい、ということで、そのために詰め替えが超簡単にできる方法をご紹介します。 まずはデモご覧ください。 class Entity( val

    オブジェクト詰め替えが面倒臭い?マルチカーソルを使えば10秒でできます - little hands' lab
    yo-iida
    yo-iida 2021/09/27
  • キャリアは一方通行じゃない!――上場企業の元執行役員からスタートアップの現場エンジニアになったワケ

    現場に戻ることを決めたのはエンジニアとしての自信を取り戻すため ――まずは現在のお仕事について教えてください。 今は経営管理クラウド「Loglass」を提供する株式会社ログラスでソフトウェアエンジニアとして機能開発をしています。ログラスではフロントエンドもサーバーサイドも関係なく、全員がフルスタックで開発しています。それぞれ得意な分野とそうでない分野はありつつ、クロスファンクショナルなチームでスケールさせたいと思っています。ここから組織を大きくしていくために、採用や制度設計など、開発以外の議論にも積極的に入りながら働いています。 株式会社ログラス ソフトウェアエンジニア 飯田意己氏 ――ログラスには2020年10月にジョインされたと伺いました。その前はクラウドワークスで執行役員をされていたそうですね。 はい。クラウドワークスには、もともと現場のエンジニアとして入社して、新規事業の立ち上げに

    キャリアは一方通行じゃない!――上場企業の元執行役員からスタートアップの現場エンジニアになったワケ
    yo-iida
    yo-iida 2021/09/22
  • スタートアップが山型クロスファンクショナルチームでデリバリスピードを安定させる話

    山型なスキルをもったメンバーがあつまる山型クロスファンクショナルチームを作りデリバリスピードを安定させるというテーマのスライドです。 XP祭り2021での発表資料です。 山型クロスファンクショナルチームは造語ですが、定義としては「スペシャリティをもちつつ周辺分野でも基的な価値を発揮できるメンバーが集まるチーム」としています。 Spotifyのスクワッドなどに代表されるクロスファンクショナルチームが良いとされているのは昨今では定説となりつつあります。 スライドではそこからさらに踏み込んで、山型なスキルを持ったメンバーでクロスファンクショナルチームを構成するとどのような効用を得られるか、またそのようなチームはどう作るべきかというところを説明していきます。

    スタートアップが山型クロスファンクショナルチームでデリバリスピードを安定させる話
    yo-iida
    yo-iida 2021/09/19
  • 副業必須にしたらエンジニア採用がうまくいった件:ログラスの成長支えるCTO・坂本龍太のスカウト戦略

    採用(あるいは、仲間集め)の課題は尽きないもの。組織の規模感ごとに悩みもさまざま起きますが、中でも「初期フェーズ」においては、その後のカルチャーや成長角度も占う大切な時期です。SaaSスタートアップであれば必須の「開発環境」を整備するために、各社頭をひねっています。 CFOや経営企画向けのプランニング・クラウド「Loglass」を開発・提供するログラスでは、CTOの坂龍太さんが採用にも強くコミットし、成長を支えます。 創業して2年2ヶ月あまりで、正社員は内定者を含め19名、副業人材も合わせると40名を超える規模に拡大。そのうち、エンジニアは正社員9名、合計で20名以上を占めるといいます。さらに正社員エンジニアは7名がリファラル採用で加入しました。 坂さんはビズリーチで「初の新卒社員」としてキャリアを始め、SaaSビジネスを経験。「将来、自分が起業するならSaaS事業だ」という思いを胸に

    副業必須にしたらエンジニア採用がうまくいった件:ログラスの成長支えるCTO・坂本龍太のスカウト戦略
    yo-iida
    yo-iida 2021/09/14
  • スタートアップがAeyeScanでセキュリティ診断を自動化した話

    Tebiki 社の CTO をしている渋谷です(会社名が変わりました)。「現場向け動画 DX」を実現するための SaaS『tebiki』を開発しています。 今回は「スタートアップでも AeyeScan を使えば、継続的に脆弱性を診断できるようになるよ」という話について書いてみたいと思います。 (※近年特に注目されている SaaS などの Web アプリケーションに対する脆弱性診断の話です) スタートアップでもセキュリティは最重要スタートアップではとにかくサービスの PMF を目指すことを優先すべきで多少の脆弱性は後でどうにかすればよい、という意見をたまに見かけます。BtoB 向けの SaaS スタートアップを3年間やってきた一人としては、それは全くの嘘で、やはりセキュリティが最も重要だと考えています。 なぜなら「情報漏えいは会社の倒産リスクに直結する」からです。 仮に脆弱性を突かれて情報が

    スタートアップがAeyeScanでセキュリティ診断を自動化した話
  • https://www.meti.go.jp/meti_lib/report/2020FY/000222.pdf

  • GradleのマルチプロジェクトによるKotlin、Spring Bootでのオニオンアーキテクチャの実現 - タケハタのブログ

    4月に発売した書籍「Kotlin サーバーサイドプログラミング実践開発」なのですが、この中で途中まで作っていてボツネタにした内容がありました。 gihyo.jp それが「Gradleのマルチプロジェクトでオニオンアーキテクチャを実現する」というものです。 第2部で作成していたbook-managerというアプリケーションは、もともとこれを使って作成していましたが、途中でやめて現在の形になりました。 github.com ボツネタにした理由としては、一回実践で導入してみていくつか微妙な点があったことと、紙面上の説明が複雑になるのでベーシックな内容としては外していいかなと思ったためです。 ただせっかく途中まで作っていたので、試して微妙と感じた点も含めて、今回紹介したいと思います。 サンプルとしてこのbook-managerの内容をマルチプロジェクト化したアプリケーションを使い、オニオンアーキテ

    GradleのマルチプロジェクトによるKotlin、Spring Bootでのオニオンアーキテクチャの実現 - タケハタのブログ
    yo-iida
    yo-iida 2021/07/13
    弊社もこの構成だ
  • 5ヶ月で完走!新規開発を止めないAngular→Reactリプレイスの進め方まとめ|Yuito Sato

    【結論】 5ヶ月かけて無事完了しました。あー長かった。 新規の機能開発を止めないために一般的な開発チームでは今回のようなフロントエンドのフルリプレイスで一部新規の機能開発を止めながら開発を行うことがあると思います。 コードフリーズとなど呼ばれているものですね。 しかしログラスのようなスタートアップではプロダクトを絶えず進化させていくことがとても重要です。 機能開発を止めてしまえばたちまち大きな開発チームをもつ競合に追い抜かれて会社が負けてしまいます。 記事ではフロントエンドフルリプレイスを新規機能開発を止めずに走らせる方法を解説していきます。 リプレイス概要題に入る前に今回リプレイス対象となったLoglassについてとプロジェクトの概要について説明します。 【Loglassについて】 「プランニングクラウド Loglass」はBtoB SaaSのサービスの一つです。 基はSSGやSS

    5ヶ月で完走!新規開発を止めないAngular→Reactリプレイスの進め方まとめ|Yuito Sato
  • リーダブルコード by DDD / Readable Code by DDD

    リーダブルコード by DDD モデリングを起点に可読性の高いコードを実現する

    リーダブルコード by DDD / Readable Code by DDD
  • 社内SQL研修のために作った資料を公開します | 株式会社AI Shift

    こんにちは、Development Teamの三宅です。 先日、社内(AI事業部内)でSQL研修の講師を担当したので、今回はその内容について簡単に共有したいと思います。 はじめに 例年、AI事業部では、新卒エンジニアの育成のためにソフトウェアエンジニア研修を行っております。今年はフルリモートでの実施となりました。研修期間は2週間ほどで、内容は前半が講義、後半が実践(チーム開発)でした。私が担当したのは、講義パートの一部であるSQL研修です。SQLRDBにあまり慣れていない人でも、できるだけ体系的な学びが得られるようにすることを目標に、様々な資料をまとめて提供する方針で準備しました。結果的には、ハンズオン込みで4時間ほどのやや長い講義となりましたが、勉強になったという声も頂けたのでやって良かったと思っています。 研修資料 研修内容 SQL研修の内容は、基的には大学のデータベース講義で

    社内SQL研修のために作った資料を公開します | 株式会社AI Shift
    yo-iida
    yo-iida 2021/06/22
    めちゃくちゃいい資料だった
  • 日本の古き良きIT企業を退職して3年がたった

    3年前、世間一般にはメーカー系SIerとして知られている会社を退職した。ただ俺のポジションはパッケージソフト開発であり純粋なSIerとは異なる。 客ともSEとも会話せず、ひたすらドキュメントとプログラムを書く部署だ。といっても別にペーペーではなく主任クラスであり、 会社の業績がとてもよかったこともあり年収は1000万弱はあった。35歳。 これだけ見るととてもいい待遇に見えるだろう。でも耐えられないことがいっぱいあった。 Linuxで動くアプリなのにVMを動かすのも苦労する8GBしかメモリのないWindows PC、紙にコードを印刷して説明しないと納得しない品質保証部、 手作業で実施しExcelにチェックを付けていくテスト、jquery一つ使うのに3ヶ月かかる承認フロー、開発中にバグを一つ出すごとに ひたすら反省文を求める品質保証部と一緒になって詰めてくるマネージャー、常にコンパイルできない

    日本の古き良きIT企業を退職して3年がたった
    yo-iida
    yo-iida 2021/06/11
    "さて、それから3年がたった。人間というのはいい環境になれると対して喜びを感じなくなる、というのはそうだと思う。" / 当たり前の水準を上げていく人が増えれば世の中はもっとよくなっていく
  • メルカリ社が運用する trocco & BigQuery のデータ分析基盤と経済性 #GoogleCloudDay / 20210526

    Google Cloud Day: Digital ’21 の発表資料です。 https://cloudonair.withgoogle.com/events/platinum_primenumber?talk=sessionvideo ---------------------------------------------------------------------------------------------------- データドリブンに事業を推進するメルカリグループのデータ分析基盤を紹介します。 BigQuery とマネージド ETL & ワークフローサービス trocco® の活用で、Google Cloud 領域外の新規データ連携毎に発生するフルスクラッチ開発から脱却し、希少なデータエンジニア工数を創出。決済データと紐づけた営業活動分析にも成功しています。 分析基盤構成

    メルカリ社が運用する trocco & BigQuery のデータ分析基盤と経済性 #GoogleCloudDay / 20210526
    yo-iida
    yo-iida 2021/05/26
    よさそう
  • PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)

    PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring) Webアプリケーションにおいて、マルチテナント型、つまり複数のユーザー組織がアプリケーションとデータベースを共有する構成にすることがあります。この構成の持つリスクとして、万が一バグにより他テナントの情報が見えてしまうとそれは情報漏洩となり、重大なインシデントとなってしまうことがあります。この重要性を考えると、「気を付けて実装する」だけではなく、仕組みで漏洩を防ぐような対策には価値があります。 そこで、今回はPostgresSQLの行レベルセキュリティと、SpringAOPによる処理を組み合わせて、ログインしているテナントのデータにしかアクセスできなくする仕組みを実現しました。 導入にあたり考慮した複数の選択肢、乗り越えたいくつかの壁

    PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
  • 「プロダクトは添えるだけ」ログラス代表の布川が"製品を売らない"理由|布川友也 | ログラスCEO

    こんにちは。ログラスの布川です。プロダクトローンチから9ヶ月が経過しました。最近SNSの発信やnoteの手がひたすら止まってしまったのも、業に追われていたからだとお察し下さい・・・笑 皆様のGWの読み物として、今までずっとファイナンスキャリアだった自分がお客様にサービスについて説明する、セールスをするという新しい経験をする中で、少しセールスに関する、今の自分考え方をまとめたnoteを出そうと思いました。 このnoteは、セールスパーソンだけでなく、ログラスのお客様や製品に関心のある方、これからログラスに入ることを少しでも検討頂く方、起業を目指している方にもお読み頂きたい内容になっています。 いわゆるテクニック!!みたいなnoteでは全くないので、その辺期待せずでお願いします。どちらかと言えば、0→1フェーズで創業社長がやるべき泥臭いフェーズについてと、ログラスという企業のセールスに対する

    「プロダクトは添えるだけ」ログラス代表の布川が"製品を売らない"理由|布川友也 | ログラスCEO
    yo-iida
    yo-iida 2021/04/27
  • 技術的負債の生態 - maru source

    @t_wadaさんが翻訳されていた技術的負債の記事をあらためて読んでみたら非常に面白かった。技術的負債来の意味が説明されているので、まだ読んだことがない人は一読をおすすめする。 その翻訳記事を読みながら、Jasper(僕が開発しているGitHub用のIssueリーダー)のv1.0で技術的負債を返済したことを思い出した。そこで、その翻訳記事を参考にして技術的負債の生態について自分なりに考えてみることにした。すると面白い生態がいくつか見えてきた。例えば「生態③: むしろ技術的負債が生まれることそれ自体はポジティブである」などである。今日はそのことについて書いてみようと思う。 ちなみに今回は技術的負債への対処までは解明することができなかった。いつか続きを書けたらいいなと思う。 技術的負債が生まれる背景 まずはJasperで経験した技術的負債を紹介する。負債の内容自体はそんなに重要ではないので

    技術的負債の生態 - maru source
    yo-iida
    yo-iida 2021/03/22
    わかりやすい整理。プログラミングの技術的負債の方が注目されやすい気がするけど、厄介なのはビジネスドメインの技術的負債だなーと思う。