タグ

開発に関するtjmschkのブックマーク (20)

  • やらない事を決めるプロダクト設計

    https://kichijojipm.connpass.com/event/316361/ 設計ナイト2024で使った資料です。

    やらない事を決めるプロダクト設計
  • ast-grep VSCode: 構造検索と置換の強力なツール

    こんにちは、 ast-grepの作者Herringtonです。 正規表現でコードを検索したことがある方なら、複数行のマッチングや入れ子構造の処理、コメントの無視などに苦労したことがあるかもしれません。 そこで、ast-grep VSCodeという新しい拡張を紹介します。これは、構造的検索と置換(SSR)という技術を利用して、より正確で効率的な検索と置換を実現するツールです。 構造検索は? テキスト検索と置換の限界 例えば、JavaScriptコードをリファクタリングして、lodash の _.filter 関数をネイティブの Array.prototype.filter メソッド に置き換えたいとします。単純なテキスト検索と置換は次のようになります: これは一部のケースではうまくいくかもしれませんが、いくつかの問題があります。 一行の式しかマッチングできません。コードが複数行にまたがってい

    ast-grep VSCode: 構造検索と置換の強力なツール
  • 「職能横断チーム」の実践におけるアンチパターンと対策 - yigarashiのブログ

    近年のアジャイルムーブメントにおいて「職能横断チーム」は当たり前の概念になっています。ユーザーに価値を届けるのに必要なあらゆる機能をチームが備え自律的にコントロールすることで、リードタイムを短縮するとともに、イノベーションが起こりやすい環境を作ることができます。しかしながら、7〜8人を超える大きめの集団になってくると、開発の効率を著しく下げるアンチパターンを踏んでしまうことがあります。 「職能横断チーム」の実践におけるアンチパターン そのアンチパターンとは「いつも全員一緒」です。バックエンドエンジニアだろうとアプリエンジニアだろうと、デザイナーだろうとプランナーだろうと関係なくとにかく全員です。サイロ化のカウンターとしての「職能横断チーム」に囚われ過ぎてしまって、チーム内に部分集合を作ることを極端に避けてしまっている状態です。その結果、10人もいる会を開いて細かい相談で時間が伸びたり、そも

    「職能横断チーム」の実践におけるアンチパターンと対策 - yigarashiのブログ
  • UIの色を変えただけで大量のクレームを頂戴してしまった話|のなと

    Webプロダクト開発をしていると様々な諸事情によりUI構成を変えたり機能を増やしたり減らしたりすることが多々あると思います。そんな時に避けられない事態として「UI変更に対するお怒りがユーザーからわんさか届いてしまう」ということがあります。今回はUI上の1要素の色を変えただけで虎の尾を盛大に踏んでしまった事件の話をしようと思います。差し当たりどういうUIをどう変えたのかを明示しておきます。変える前がこちら↓↓ beforeUIほんで変わった後がこちら↓↓ afterUIご覧の通り「作業カード」と呼ばれるコンポーネントの色を「緑&黄」から「緑塗り&緑枠線」に変更しました。「え、それだけ?」という声が聞こえてきそうですがそうなんです。それだけなのです。しかしここはレガシードメインのtoB SaaS。toB SaaSではUIの変更がユーザー業務への影響に直結するので軽微な変更を加えるのもハードルが

    UIの色を変えただけで大量のクレームを頂戴してしまった話|のなと
  • 作業者じゃなく開発者でありたい - id:onk のはてなブログ

    自分がこうありたいというメモ。 作業者と開発者の違いとして、問題解決への寄与だとか、創意工夫の余地があるかというのがありそう。 これは今 GPT-4 に聞いた。 Q: 作業者と開発者の違いを100文字ぐらいで教えて。 A: 作業者は指定されたタスクや手順を実行する人を指し、特定のルーチンや手順に従って作業を進めることが主な役割です。一方、開発者は新しい製品やソフトウェアを設計・構築する人を指し、創造性や技術的なスキルが求められます。作業者は指示に従い行動し、開発者は新しいアイディアや解決策を生み出します。 単なるタスクの遂行でなはく、より多くの責任とリーダーシップを求めている コードを書くだけではなく、問題解決や創意工夫の余地が多くあるタスクが欲しい 自分のアイディアをベースとして、形にすることで、プロジェクトを完遂したい そもそも何が問題なのかを明らかにするだとか、最適な解決策を見つける

    作業者じゃなく開発者でありたい - id:onk のはてなブログ
    tjmschk
    tjmschk 2023/10/01
    ありたい
  • 週に1時間の会議をなくしたら、開発もチームも崩れかけた話|辻井 耀

    リンクアンドモチベーションでUXデザイナーをしている辻井です。所属している開発チームのとある会議が、想像以上にいろんな効果を生んでいた、というお話です。 どんな会議だったのかそれは週次のKPT会議でした。(Keep / Problem / Tryの観点で、成果・課題を棚卸しするミーティング) 会議は週に1回、1時間 全職種から全員が参加 Miroで、「今週やったこと」「来週やること」を書き出す 他メンバーの振り返りを見て、「感謝コメント」を記入する チームや開発に関するGood Newsを自由に記述する 感じている懸念があれば、それも自由に記述する というルールで実施していました。 この会議体、半年近く運用していて、大きな問題があったわけではありませんでした。ただ、期初のタイミングで会議体を見直し、「週次で1時間はややToo muchかもしれない。感謝・リスペクトを伝える会議体は月末に納会

    週に1時間の会議をなくしたら、開発もチームも崩れかけた話|辻井 耀
  • Develop apps for iOS | Apple Developer Documentation

    Learn the basics of Xcode, SwiftUI, and UIKit to create compelling iOS apps.

    Develop apps for iOS | Apple Developer Documentation
  • 桁違いの大電力制御の力をもつ「ダイヤモンド半導体」の可能性 - サイエンスZERO

    https://www.nhk.jp/p/zero/ts/XK5VKV7V98/blog/bl/pkOaDjjMay/bp/pA6WLOgezx/ ジュエリーとしておなじみのダイヤモンドが、次世代の半導体素材として注目されています。その理由は、「桁違いの大電力を制御できる可能性」を秘めているから。 社会において大きな電力を制御する必要性は、年々高まっています。電気自動車の普及が進み、電気で動く空飛ぶクルマや飛行機も登場。さらに電力需要が増え、変電所が扱う電力も大きくなると考えられています。 そこで、実用化が期待されているのが、現在主流のシリコンに比べて5万倍(理論値)の電力を制御する力があるダイヤモンドの半導体なのです。省エネの重要性も高まる今、電力損失を大幅に軽減できるダイヤモンド半導体には世界から熱い視線が向けられています。 しかし、その開発の道のりは困難の連続。開発を前進させたのは、

    桁違いの大電力制御の力をもつ「ダイヤモンド半導体」の可能性 - サイエンスZERO
  • git statusが43秒かかっていたのを1秒に高速化する大規模Gitリポジトリの操作を高速化するためのscalarを紹介 | Act as Professional

    Git 2.38がリリースされました。 このバージョンから大規模Gitリポジトリの操作を高速化するscalarが同梱されるようになりました。 今回はこのscalarによって、どれぐらいGitの操作が高速化されるのかを簡単に検証します。 結論から言うとgit statusが約43秒かかっていたのが約1秒で操作できるようになります。 Install Git 2.38Git 2.38からscalarが同梱されましたので、各自の環境にあわせてInstallなりVersionUpなりをしてください。 $ git --version git version 2.38.0 Before大規模Gitリポジトリとしてchromiumを利用しました。 普通にgit cloneしてきて、git statusを実施すると約37秒かかります。 ❯ time git status On branch main You

    git statusが43秒かかっていたのを1秒に高速化する大規模Gitリポジトリの操作を高速化するためのscalarを紹介 | Act as Professional
  • 意識的に職位を下げる - id:onk のはてなブログ

    僕はチーム join 時に、Docker は初手で剥がすし、GitHub Actions でやっているワークフローの全体像を把握するのを次に行う、というのを基的にはやっている。これはシステム構成やデプロイ周りの全貌を把握するのが好きなのと、何かが起きたときにコレをやっているのといないのとで問題切り分けの精度に圧倒的な差があるからなんだけど、join 直後にやるのが最適解とは限らない場面もある。 チームの人員構成として、テックリード業を既に担っている人が居る場合、追加人員にはテックリード未満の「プラスの工数として数えられる戦力」となって欲しい。この戦力というのは、「目の前に積み上がった問題を一緒に解いて欲しい」という期待。問題と言うよりも、既にタスクになっているものを消化したい、という期待の方が大きいと思う。 そういう期待があるときには、ちんたら Docker を剥がしている場合ではなく、

    意識的に職位を下げる - id:onk のはてなブログ
  • フロー効率性とリソース効率性について #xpjug

    XP祭り2017のセッションのスライドになります。 http://xpjug.com/xp2017-session-a5-1/ 元ネタは以下です。 http://i2key.hateblo.jp/entry/2017/05/15/082655 ※CCPMの表記について一部誤解を与える部分がありましたので、表記を削除いたしました。 2017/09/21 0:27Read less

    フロー効率性とリソース効率性について #xpjug
  • cherry-pick 運用の地獄から這い上がった話をしよう

    はじめに はじめに断っておくが、こんな生易しいものじゃない。当に地獄の沙汰である。 状況と問題点 筆者が参加しているプロジェクトでは、ブランチの運用が cherry-pick で行われていた。Git Flow でも GitHub Flow でもない。言うなれば、Cherry-pick Flow である。 Git Flow について Git Flow なら、番リリースする際にまず develop ブランチからリリースブランチを切る。 それを master にマージする。 そして、master へのマージ後のマージコミット (M1) を develop に逆輸入すれば、基的に develop ブランチが Fast-forward な状態となる。 ホットフィックスの場合も同様である。 コミットの取りこぼしなど起きるわけがないし、リリース作業自体もやることが明確でわかりやすい。 Cherry

    cherry-pick 運用の地獄から這い上がった話をしよう
    tjmschk
    tjmschk 2022/05/22
    負債を解消しても特にいいことはなく苦労がなくなるくらいなのが辛いのわかりすぎて😌
  • Bad な UI を改善する 「UI Stack」 って知ってます?|nr

    突然ですが、「UI Stack」ってご存知ですか? アメリカのプロダクトデザイナー Scott Hurff さんが3年ほど前に世に出した考え方で、考慮すべき UI の5つの側面を示したものです。 当時「これは使える!」と思って社内向けに作った勉強会資料を見つけて、今でもやっぱりすごく大事だと思ったので、備忘録的に書いておきます。 ちなみに元記事はこちら。(英語です) UI Stack とは?Stackとは、1つの画面が持つ(複数の)側面、状態、ステータスのようなもの。その側面ごとに最適化されたUIを設計しようするのが UI Stack の考えです。 Scottさんが紹介しているUI Stackは5つ。 ※図はScottさんのページから引用 ・Blank State(空っぽの状態) ・Loading State(ローディング状態) ・Partial State(部分達成状態) ・Error

    Bad な UI を改善する 「UI Stack」 って知ってます?|nr
  • フロントエンドのデザインパターン

    書は、Lydia Hallie 氏 と Addy Osmani 氏らによる Learning Patterns (https://www.patterns.dev/) の日語訳です。原著は大きく 3 つのセクションに分かれていますが、書は、その最初のセクションである Design Patterns を訳したものとなります。

    フロントエンドのデザインパターン
  • Patterns.dev

    Improve how you architect webappsPatterns.dev is a free online resource on design, rendering, and performance patterns for building powerful web apps with vanilla JavaScript or modern frameworks.

    Patterns.dev
  • 借りたものはきっちり返す。技術的負債への向き合い方 - Gaudiy Tech Blog

    はじめまして。エンタメ領域のDXを推進するブロックチェーンスタートアップ、Gaudiyエンジニアをしている@kaa_a_zuです。 早速ですが、質問です。みなさんは、所属している組織のコードを誇りに思い、この先数十年間に渡って使い続けることができると確信していますか? 私は、この質問をされた場合、顔を背ける自信があります。今回は、私と同じようにこの質問に対して "YES" と答えることが出来なかった人たち、そして 「リファクタリングをしたい」と思っているエンジニアが在籍する組織の偉い人たち に読んでもらいたい内容を書こうと思います。 テーマは、技術的負債の返済方法と技術的負債をためない方法についてです。(かなり長いので、HOWだけ知りたい方は4章から読んでいただけたらと思います。) 1. 一般的な技術的負債とは 2. なぜ技術的負債が発生するのか 3. 技術的負債がもたらす問題点 3-1

    借りたものはきっちり返す。技術的負債への向き合い方 - Gaudiy Tech Blog
  • 「悪い方が良い」原則と僕の体験談|Rui Ueyama

    ソフトウェアの世界には「悪い方が良い」原則という有名なエッセイがある。キレイにレイヤ分けされた一貫性のある良いデザインよりも、一見手抜きの悪いデザインのほうが実は良いときもあるという話だ。この逆説的なデザイン原則を僕は身をもって体験したことがある。それについてちょっと書いてみようと思う。 僕はlldというリンカの現行バージョンのオリジナル作者だ。リンカというのはコンパイラと組み合わせて使うもので、実行ファイルやDLLを作るのに使用される。lldはプロダクトとしてはかなり成功していて、標準のシステムリンカとして採用しているOSがいくつかあったり、GoogleやFacebookなど皆が知っているような大規模サイトの中で広く使われていたりする。 現在のlldは2世代目で、第1世代のlldは僕がプロジェクトに参加する前から存在していたのだけど、数年前にそれを捨てて一から書き直すということになった。

    「悪い方が良い」原則と僕の体験談|Rui Ueyama
  • コードレビューとPull Request、そしてその承認機能の副作用について考える - 時計を壊せ

    用語 レビュアー 対象となるコードをレビューする人のことを指します。 レビュイー レビューを受ける人、つまりレビューする対象のコードを書いた人のことを指します。 tl;dr アプリケーション開発業務におけるコードレビューはコードの正しさや質そして一貫性を保ち、それらと同時にコードに対するチームとしての共有知を作り上げる良いプラクティスだと思います アプリケーション開発チーム内でのコードレビューにおいてPull Requestを使ったレビューのスタイルは一般的ですが、Pull Requestの承認は実際にはほとんど意味がないのではないでしょうか? ほとんど意味がないにも関わらず、承認の有無によって業務フローが左右されることでそれが権威的に扱われてしまいオーナーシップを希薄化させ、結果的にコードレビューのコストが増加したりそれを行う目的を見失ってしまっていることはないでしょうか? Pull R

    コードレビューとPull Request、そしてその承認機能の副作用について考える - 時計を壊せ
  • ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習

    最近、あまりプログラミングが得意でない人のサポートをする形で、長い時間にわたってペアプログラミングを行っている。そのなかで、気がついた悪い習慣と成長するための良い習慣というものをまとめてみる。 この記事のバックグラウンドとなる体系的知識がになりました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング あわせて読みたい 経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 心理的安全性ガイドライン(あるいは権威勾配に関する一

    ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習
  • スケールする要求を支える仕様の「意図」と「直交性」 - Qiita

    はじめに どんなソフトウェアエンジニアも拡張しやすくメンテナンスしやすいソフトウェアを作りたいと思っているはずです。また、どんなプロダクトマネージャも同様に拡張しやすいシンプルな要求を作りたいと考えているはずです。 しかし、将来の不確実性や発展性に対して見通しを立てるのは難しいものです。そのため、開発チームの思いとは裏腹にソフトウェアの複雑性はどんどんと増大していきます。気がついたら技術的負債と呼ばれるような手もつけられない泥団子になってしまうということもしばしばです。誰もが生産性を下げるために機能を追加したいわけではなく、ビジネス価値を提供するために機能を追加したいだけなのにです。 このような状況を避けるためにはどうしたらよいのでしょうか。今回はその一つの手段として、要求には隠れた「意図」があり、それを発見していくことの重要性についてまずはお話しします。さらにわかりやすい要求が持つ仕様の

    スケールする要求を支える仕様の「意図」と「直交性」 - Qiita
  • 1