タグ

urahsamのブックマーク (529)

  • AWSコンテナ本出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book

    AWSコンテナ出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book

    AWSコンテナ本出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book
  • 事業部のデザイナーの働き方 - みてねみまもりGPSの場合 -|MIXI DESIGN

    はじめまして! 株式会社MIXI Vantageスタジオ みてね事業部 デザイングループの のぞえゆかりです。 先日、MIXI主催のイベント「ようこそMIXIへ!デザイナートーク:頼れる先輩が語るMIXIでのモノづくりと新卒1年目の就活体験談」に登壇させていただきました。 イベントでお話した内容を、当日の資料とともにお伝えします。 自己紹介MIXIには2017年に新卒入社して、7年6ヶ月となりました。 広島市立大学 芸術学部卒で、プロダクトデザインを専攻していました。 椅子とか作ってました。 MIXIでは、1年目にマッチングアプリのデザインをして、2年目以降からは「家族アルバム  みてね」のデザインに関わっています。 「家族アルバム みてね」について私は、子どもの写真・動画を共有して楽しく会話したり成長をふりかえるサービス、「家族アルバム みてね」というサービスに関わっています。 現在、7

    事業部のデザイナーの働き方 - みてねみまもりGPSの場合 -|MIXI DESIGN
    urahsam
    urahsam 2024/10/27
  • 詰め込み型のソフトウェアプロダクト開発は誰も得しない|mtx2s

    チームのキャパシティを超える要求を抱えたプロジェクトが、なんの問題もなく完了するはずがありません。なんとか作り上げられた機能は、表面上は要求通りでも、どこかぎこちなさを感じます。ユーザー体験が悪く、それがユーザー価値を押し下げ、ビジネス価値を削り取ります。触るたびに新しい欠陥も見つかるかもしれません。内部品質も最低です。それが今後の追加開発の足を引っ張ることにもなるでしょう。そして、ただ消費するような働き方によって、チームは成長も達成感も感じられず、疲弊します。 詰め込み型のプロジェクトは、誰にとっても利点がなく、そのうえ持続不可能なやり方なのです。 「詰め込んでもなんとかなる」という楽観主義詰め込み型のアプローチは、組織内でプラクティス化しやすいプロジェクト計画手法です。この手法で完了したプロジェクトは、一見すると、上手くいったように見えます。多少の遅延があったとしても、概ね一通りの機能

    詰め込み型のソフトウェアプロダクト開発は誰も得しない|mtx2s
    urahsam
    urahsam 2024/10/15
  • TypeScript の変性(共変・反変)を 5 分で理解する

    type User = { name: string } type Admin = User & { permissions: string[] } const user: User = { name: "user", } const admin: Admin = { name: "admin", permissions: [], } User は名前だけを持つ型で、Admin は名前と権限を持つ型です。また、それぞれの型の変数も用意しています。 この後のコード例は極力シンプルにするため、やや不自然なコードになっていますがご了承ください[1]。 サブタイプとスーパータイプ Admin 型の変数は name プロパティを持ち、User 型の条件を満たしています。そのため、User 型の変数には Admin 型の変数を代入できます。 その逆は型エラーになります。User 型の変数には perm

    TypeScript の変性(共変・反変)を 5 分で理解する
  • 【Mac版】 VisualStudioCode キーボードショートカット - Qiita

    Visual Studio Codeは0.5.0のときにインストールして使ってみてしばらく様子見だなあって思ってあまりまじめに使っていなかったのですが、オープンソース化されたので一念発起してv0.10.1までアップグレードしてまじめに使うことにしました。 その際にショートカット一覧の日語翻訳とかないかな?ってふと疑問に思ったらQiita上にありました。 VS Code キーボードショートカット一覧 (オススメ付き) ただ、Windows版(Linux版)とMac版の違いが割とかなりあるのでMac版まとめました。 ちなみにidには当然ながら違いはありませんでした。 eluestkさんの日語訳を参考にさせていただいたので感謝です。 ほぼまるパクりです。ありがとうございました。 2つ以上のOSで使う人が両方参考した人が混乱しないようにというのもあります。 めんどくさいとかではないです また、

    【Mac版】 VisualStudioCode キーボードショートカット - Qiita
  • グノシーのプッシュ通知基盤を紹介します - Gunosy Tech Blog

    こんにちは, プロダクト開発部の今村です. ここ一年ほど, 主にグノシーのプッシュ通知基盤の部分的なリプレイスや機能追加をしていました. この記事ではプッシュ基盤の構成を紹介したいと思います. 概要 FCMのAPIを呼び出す部分 サーバーのスケーリング 送信対象の読み込み 送信の流れ その他の工夫 重複配信の防止 パフォーマンス調整 おわりに 概要 まずはプッシュ通知の種類を整理します. 今回扱うのは, 多数のユーザーに同じ内容を送るような通知です. 重要なニュースが発生したときに送る速報や, キャンペーン情報の通知などが該当します. 対照的に, ユーザーごとに異なる内容を送る通知もあります. 例えば社内で定時プッシュと呼ばれている機能では, ユーザーごとにパーソナライズされた記事を毎日決まった時間に送ります. このような通知はこの記事では (ほぼ) 扱いません. プッシュ通知基盤に求めら

    グノシーのプッシュ通知基盤を紹介します - Gunosy Tech Blog
    urahsam
    urahsam 2024/10/09
  • クレジットカードを製造する技術

    YAPC::Hakodate 2024での発表内容です。 https://yapcjapan.org/2024hakodate/

    クレジットカードを製造する技術
    urahsam
    urahsam 2024/10/06
  • 文脈と名前で設計をマスターする本

    分かりやすいプログラムの構成はどうやったら設計できるのでしょうか? このでは、文脈と名前という二つの切り口でプログラムの構造とプログラマーの認識がどう結び付いてゆくのかを解き明かします。 書は以下のような方々にお勧めです。 🤔大きくて複雑なプログラムを綺麗で分かりやすい設計にまとめることがうまくできなくて困っているプログラマー 😵他の人が書いたプログラムを読むときに、どこに何が書かれているのか手掛かりがつかめなくて迷ってしまう人 🧐DRY とか SOLID みたいなプログラム設計理論に関心があって、関連する事柄についての知識や考察を摂取したい設計オタク

    文脈と名前で設計をマスターする本
  • 結局 Git のブランチ戦略ってどうすればいいの? - Qiita

    1つのIssueが大きくなると1 Pull Requestで大量の差分が発生します。 そうなるとレビュワーに負担がかかり、コンフリクトの可能性も高まり、コードレビューを効率よく進めることができません。 このINVEST原則を守ることでチームはより効果的に作業を進め、柔軟に対応して開発を進めることができます。 Git Flow Git Flowは5種類(main, hotfix, release, develop, feature)のブランチを運用するブランチ戦略です。 2010年に提唱された有名なブランチ戦略です。 オンラインサービスのように継続的デリバリーするコードを想定して作られた戦略ではないです。 main ブランチ 常にリリースできる状態を保つ hotfix, develop へ切り出す このブランチへの直pushはNG hotfix ブランチ バグ修正など緊急時に対応するためのブ

    結局 Git のブランチ戦略ってどうすればいいの? - Qiita
  • Git の Squash マージをやめた話 - Mobile Factory Tech Blog

    こんにちは!ブロックチェーンチームでエンジニアをしている id:dorapon2000 です。最近買ってよかったものは「潮の華 あおさといわしふりかけ」です。 今回は Git の Squash マージについての知見を共有したいと思います。端的に言うと、 チーム開発で Non Fast-Forward マージをやめて Squash マージを採用し、再び Non Fast-Forward マージに戻した経緯の説明です。Squash マージを運用に導入するか考えたことがある方の参考になればと思います。 Squash マージとは マージには 3 種類ありますね。みなさんはトピックブランチを main へマージする際にどのマージ方法を利用していますか? Fast-Forward マージ git merge --ff-only Non Fast-Forward マージ git merge --no-f

    Git の Squash マージをやめた話 - Mobile Factory Tech Blog
  • AVAudioEngine / Apple Low-Lantecy HLSのお話

    iOSDC Japan 2020で講演を行ったセッションについてご紹介します。 記事に関しては、必要となったタイミングで、更新を行います。 今日からわかるAVAudioEngineの全てAVAudioEngineと書いておきながら、一番最初に低レイヤーのお話から始まったセッションですが、お楽しみいただけたでしょうか? CoreAudioはとても複雑になっており、私自身も全て把握はしきれていませんが、その中でも必要となる知識について解説をしました。 特にお話したかったのがAudioUnitです。AudioUnitは、後半に出てくるManual Renderingでも登場しますが、基的にRemote I/OとVoice Processing I/Oを理解しておくと、結構便利です。 このAudioUnitですが、入力と出力を別のバスにすることが可能で、以前登壇したセッションでは、入力をRe

  • 📗 なぜ依存を注入するのか DIの原理・原則とパターンを読んだ感想 | Happy developing

    なぜ依存を注入するのか DIの原理・原則とパターン 著者: Steven van Deursen, Mark Seemann 訳者: 須田智之 表紙には.NETやC#の文字はないのですが、前の版は"Dependency Injection in .NET"で.NETを前提したのようでした。 ただ、はじめにで 書では、.NETとC#を用いて、依存注入に関する用語や指針を包括的に紹介し、描写しているのですが、書の価値が.NETの外の世界にも届くことを望んでいます。 とありました。 RustのDIでなにか活かせる教えを期待して、読んでみました。 第1部 依存注入 (Dependency Injection: DI) の役割第1章 依存注入 (Dependency Injection: DI) の基: 依存注入とは何なのか? なぜ使うのか? どのように使うのか?まず、保守容易性(maint

    📗 なぜ依存を注入するのか DIの原理・原則とパターンを読んだ感想 | Happy developing
  • 『RustによるWebアプリケーション開発 設計からリリース・運用まで』という本を共著で書きました - Don't Repeat Yourself

    RustのWebアプリケーション開発に関する書籍を共著で執筆しました。1年くらい執筆していましたが、出版時期などが定まってきたので内容の紹介を込めて告知の記事を書きます。9/26刊行予定です。予約よろしくお願いします。 RustによるWebアプリケーション開発 ↓AmazonのURL(アフィリエイトなし) www.amazon.co.jp 数年前に書籍を執筆した際に、「次はWebアプリケーションの実装に関するを書きたい」と記事に書き残していたのを今見つけたのですが、有言実行できたようです。 どんなか? Rustってバックエンド開発に向いてるの? 著者について 目次とトピックの簡単な紹介 はじめに 第1章 書で開発するアプリケーション 第2章 開発環境の構築 第3章 最小構成アプリケーションの実装 第4章 蔵書管理サーバーアプリケーションの設計 第5章 蔵書管理サーバーの実装 第6章

    『RustによるWebアプリケーション開発 設計からリリース・運用まで』という本を共著で書きました - Don't Repeat Yourself
    urahsam
    urahsam 2024/09/15
  • もしもいま、Rustをイチから学び直すとしたら? Rust入門書著者・matsu7874さんに聞く学習ロードマップ - Findy Engineer Lab

    めまぐるしく変化するテックの世界。技術を身に着けるうえで学ぶべきポイントや学習環境なども年々変わっています。 そこで「もしもいまの環境で、テックのことをイチから学び直すことになったら、自分はどんな風に勉強したいか」というIFストーリーを通じて、技術との向き合い方を考え直してみる企画「テック転生」。 今回は『Rust実践プログラミング入門』共著者の松健太郎(@matsu7874)さんに“自分だったらこう進めたい、Rustの学習ロードマップ”をご寄稿いただきました。 無理なく2ヶ月でWeb開発をRustで始めるロードマップ 株式会社estieでソフトウェアエンジニアをしているmatsu7874です。2024年8月の今、イチからRustを学び直すロードマップ(あるいはリソースガイド)を考えてみました。仕事の合間にやっていくとして数週間、長くとも2ヶ月くらいでRustで開発している会社に入っても

    もしもいま、Rustをイチから学び直すとしたら? Rust入門書著者・matsu7874さんに聞く学習ロードマップ - Findy Engineer Lab
    urahsam
    urahsam 2024/09/12
  • イコライザーのタイプと使い方、周波数帯域の処理について

    イコライザー(EQ)は各パートサウンドからトータルミックスまで、サウンドの音質補正には欠かせないツールです。 EQの操作は各サウンドの特徴にそれぞれ左右されるので「これ!」といった定石はありません。 コツとしては「不必要な部分を削る」作業をメインとすることです。 EQ操作の目的 EQをかける目的は「最良なミックス状態の楽曲」を作り上げるために、各パートの必要な部分を残し、不必要な部分を削る作業に終止します。 この目的達成のためには、可聴域の周波数帯域別による特徴を理解しなければなりません。 特に「リズム隊」「コード隊」「リード」「上モノ」「賑やかし系」などのサウンド種別によるキャラクター変化が、どのように周波数帯域と連携しているのかの知識は「ミックス」への重要なアドバンテージになります。 超低域(20~50Hz付近) 音程としてはほとんど認識できない帯域です。 純音(サイン波)でこの辺りを

    イコライザーのタイプと使い方、周波数帯域の処理について
    urahsam
    urahsam 2024/09/04
  • Web アプリケーションにおける Amazon ECS / AWS Fargate アーキテクチャデザインパターン - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS

    こんにちは。AWS Container Hero の新井です。 Amazon ECS の登場から間もなく 10 年が経ちますが、その間、ECS ⾃体の進化に加えて、さまざまな AWS マネージドサービスとの連携が可能になりました。 現在では、コンテナベースのワークロードを活⽤することで実現できないことを探す⽅が難しいほど、柔軟なアーキテクチャが構築できるようになっています。 しかし、⾃由度が⾼い分、要件に合ったアーキテクチャを模索する際には、迷うことも多いでしょう。 AWS上でシステムを適切に構築するためには、あらかじめサービス間のつなぎ⽅やパターン、その特徴を把握しておくことが重要です。 これにより、フィージビリティを迅速に確認でき、その後のトライアンドエラーのサイクルを加速させることができます。 今回は、最新の AWS サービスアップデートを踏まえつつ、Amazon ECS / AWS

    Web アプリケーションにおける Amazon ECS / AWS Fargate アーキテクチャデザインパターン - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
  • ESLint の Flat Config を書く時に読んでほしい記事 (2024-08版) - Object.create(null)

    ESLint v9 から Flat Config がデフォルトの設定ファイルの形式となり, 徐々に対応しているプラグインも増えて移行が進みつつありますが, 実際に移行したプロジェクトを見ているとしばしば勘違いなどから誤った設定をしている事例を目にします. ということで, Flat Config を書くにあたっていくつか知っておいて欲しいことや, よく見かけるミスをまとめてみました. この記事では網羅的な説明はしませんので, ESLinttypescript-eslint の公式ドキュメントを前提として, 副読的に参照してください. Getting Started with ESLint - ESLint - Pluggable JavaScript Linter Getting Started | typescript-eslint Flat Config のしくみ Flat Co

    ESLint の Flat Config を書く時に読んでほしい記事 (2024-08版) - Object.create(null)
  • 株式会社リクルート エンジニアコース新人研修の内容を公開します!(2024年度版) | Recruit Tech Blog

    はじめに こんにちは! 2024年度新卒エンジニアの山です! 株式会社リクルートの新卒エンジニアは部署配属される前にBootCampと呼ばれる研修を受けることになります。 今年は約3ヶ月間の研修があり、実際に受講した立場から講座の共有や紹介を行っていきたいと思います。 研修概要 研修では、配属後で活かせるエンジニアリング技術を体系的に学ぶことができるだけでなく、ヒューマンスキル育成や事業理解といったプログラムも準備されているため、エンジニアとして様々な観点から成長できる機会になっています。 エンジニアリング技術に関しては、フロントエンド、バックエンド、モバイルアプリ、インフラ、セキュリティなど幅広い講座が用意されています。講座によっては、チーム開発や競技形式での手を動かして学ぶ講座も用意されており、より理解を深められるような講座になっています。 ヒューマンスキル育成に関しては、ロジカルシ

  • TypeScriptで「選択肢」の定義をEnum的な定数にまとめる――satisfiesとSSoTもあるよ

    ソート順の選択プルダウンがある一覧系ページを実装するとき、選択肢たちの管理方法に頭を悩ませることが多いと思います。 商品一覧ページの概要 ソート順プルダウンの選択肢たち 上の画像に示したような場合だと、 《クエリパラメータ》と《選択肢》の間の相互変換 ?sort=price&order=desc <--> 「価格が高い順」 《select の状態に使うための文字列》と《選択肢》の間の相互変換 <option value={id}>{label}</option> クエリパラメータが sort order の2つあり、それらをそのまま流用できないので 最低限でも、これらの変換ロジックを用意しておく必要がありますね。 この記事では、このような「選択肢と、それにまつわる変換ロジック群」を整理する方法を、高凝集・SSoT (Single Source of Truth; 信頼できる唯一の情報源)

    TypeScriptで「選択肢」の定義をEnum的な定数にまとめる――satisfiesとSSoTもあるよ
  • この2年でFirebase Authentication はどう変わった?セキュリティ観点の仕様差分まとめ - Flatt Security Blog

    はじめに こんにちは、@okazu_dm です。 今回自分がぴざきゃっとさんが2022年4月に書いた以下の記事を更新したため、記事ではその差分について簡単にまとめました。 Firebase Authentication利用上の注意点に関して生じた差分とは、すなわち「この2年強の間にどのような仕様変更があったか」と同義だと言えます。IDaaSに限らず認証のセキュリティに興味のある方には参考になるコンテンツだと思います。 更新した記事につきましては、以下をご覧ください。 差分について Firebase Authenticationの落とし穴と、その対策を7種類紹介する、というのがオリジナルの記事の概要でしたが、2年ほどの時間の中で対策については大きく進歩したものが4点ありました(残念ながら落とし穴が無くなった、とまでは言えませんが)。 今回記事の中で更新したのは以下4点です。 落とし穴 1.

    この2年でFirebase Authentication はどう変わった?セキュリティ観点の仕様差分まとめ - Flatt Security Blog
    urahsam
    urahsam 2024/08/07