タグ

sagarayaのブックマーク (9,903)

  • TypeScriptで知ってコードの安全性が上がったtips集

    TypeScriptを用いた開発では、その型システムを活かしてランタイムエラーを事前に防いだり、実装漏れを防いだりとコードの安全性の向上を図ることができます。 記事では、個人的に知ったおかげでコードの安全性が増した!と感じたtipsをまとめました。 ※ なお、linterを用いたコードの安全性向上も非常に有効ですが、この記事では主にTypeScriptの型システムに焦点を当てています。 tips集 配列周りのtips まずは配列を扱う際に役立つ、tipsを紹介します。 配列からUnion型を作成する ↓のように(typeof array)[number]で配列の全要素を持つUnion型を作成できます。 const fruits = ["apple", "banana", "lemon"] as const; type Fruit = (typeof fruits)[number]; //

    TypeScriptで知ってコードの安全性が上がったtips集
    sagaraya
    sagaraya 2024/03/20
  • UIの色を変えただけで大量のクレームを頂戴してしまった話|のなと

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

    UIの色を変えただけで大量のクレームを頂戴してしまった話|のなと
    sagaraya
    sagaraya 2024/03/07
  • 「JavaScriptで要素をドラッグして移動する簡単な方法」という記事が初耳だらけだった件 - Qiita

    はじめに まず↓の記事を見てない方はぜひ見てください! 自分にとってはこの記事には「えっ、ナニコレ!」なテクニックが多く、特に解説もなかったのでいろいろ調べてたら休日が消えてました... なのでその時間の供養もかねて、自分が知らなかった部分を中心に、僭越ながら元記事の解説を書いてみたいと思います。 ちなみに、以下が元記事のコードそのままを実装したものです。たしかに掲載コードだけで要素がグリグリ動きますね。 See the Pen js-drag-move-original by www-tacos (@www-tacos) on CodePen. 初耳1: $img まずコードのここ <img id="$img" src="https://js.cx/clipart/ball.svg" width="40" height="40"> <script> $img.onpointermove

    「JavaScriptで要素をドラッグして移動する簡単な方法」という記事が初耳だらけだった件 - Qiita
    sagaraya
    sagaraya 2024/02/28
  • なぜファイルの末尾に改行を入れたほうが良いのか - Qiita

    はじめに ファイルの末尾には改行を入れたほうが良いのでしょうか。 「ファイル 末尾 改行 POSIX」等で調べると、規格の観点から改行を入れた方がいいという話が出てくるのですが、今回はgitの仕組みの観点からも改行を入れたほうが良いという話をします。 GitHub上での末尾改行の警告 例えば末尾に改行のないこんなファイルが有るとし、commitしてGitHubにpushすると以下のような表示になります export function hello(name: string) { return `Hello, ${name}!`; }

    なぜファイルの末尾に改行を入れたほうが良いのか - Qiita
    sagaraya
    sagaraya 2024/02/18
  • SPAの歴史とRemix SPAモードという到達点 / the SPA's chronicle reaches to remix

    Niigata 5分 Tech #4と、モニクル社の社内LT大会で喋ったやつです https://niigata-5min-tech.connpass.com/event/307076/

    SPAの歴史とRemix SPAモードという到達点 / the SPA's chronicle reaches to remix
    sagaraya
    sagaraya 2024/01/29
  • 早期教育には消極的という話 - ぜぜ日記

    子の教育環境を求めて何度も引っ越したという孟子の母の逸話があったり、学んだことは誰も奪うことができない、というような意味の格言は世界中にあるし、学ぶことは大事だ、という価値観はそこそこ一般的だと思う。それでも、うちの3歳児には早期教育をあまりしなくていいのではないか・・・と思っている。特に想定しているのは、小学校で座学で学ぶようなもの。 大きな理由は、先取り教育をして、小学校低学年で授業で、すでに知っていることを聞くのは退屈で、授業を軽視して逆に学習習慣がつかないのではないか、というのと、同級生より知っていることでまわりを見下す人間になってほしくないから。 早期教育によって、未就学児のうちから学習習慣をつけたい、とか、能力を育てたいという意図はわからなくはないけれど、単なる学習アプリで先取りすることは安直なのではないか。 音楽なんかについては人々の経験的に未就学児から学ぶとよいとされている

    早期教育には消極的という話 - ぜぜ日記
    sagaraya
    sagaraya 2024/01/27
  • PlantUML で JSON データを簡単視覚化

    最近,仕事で使うことがあってたまたま気がついたのだが, PlantUML って JSON や YAML のデータを視覚化できるんだね。 やり方は簡単。たとえば { "firstName": "John", "lastName": "Smith", "isAlive": true, "age": 28, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021-3100" }, "phoneNumbers": [ { "type": "home", "number": "212 555-1234" }, { "type": "office", "number": "646 555-4567" } ], "children": [], "spous

    PlantUML で JSON データを簡単視覚化
    sagaraya
    sagaraya 2024/01/27
  • クックパッドを退職しました - 昼メシ物語

    2024年1月末まで在籍していますが昨年12月に業務は終えていて、いまは有休消化期間中です。2010年から約14年間勤めてきた、自分の生き様そのものとも言えるクックパッドを離れるのには、表現しきれないほど大きく、複雑な思いがあります。 僕がこの14年間でやってきたことを振り返ってみます。 入社 クックパッドに入社した時は新卒3年目相当で、26歳でした。もともと料理Ruby が好きで、当時まだ珍しかった Ruby on Rails でサービス開発をしているらしいという点や、当時からネットウォッチしていた @ryo_katsuma さんが所属していること、直属の上司の井原さんが転職したことが決め手になり、体当たりで飛び込みました。当時の僕はほとんど実績もなく、入れてもらえるかギリギリのところだったと思いますが、おそらく井原さんが頑張って交渉してくれたのだと思います。当に感謝しています。こ

    クックパッドを退職しました - 昼メシ物語
    sagaraya
    sagaraya 2024/01/26
    おつかれさまでした
  • User Inyerface - A worst-practice UI experiment

    User Inyerface - A worst-practice UI experiment

    sagaraya
    sagaraya 2024/01/26
  • 短時間で得られる刺激から距離を置く

    <span title='2024-01-17 00:00:00 +0900 +0900'>2024年01月17日</span>&nbsp;·&nbsp;5 分&nbsp;·&nbsp;2053 文字 身近な人がデジタルデトックスをやるということを聞き、自分もこれは必要かもしれないかもなと感じたため、自分なりにデジタルデトックスもどきを実践してみています。 実践し始めて1週間ちょっとしか経っていないですが、すでに多くの良い変化を感じられているのでメモしておこうと思います。 なぜ始めたか、何をしているか#はじめに述べたデジタルデトックスすると言っていた人と話している中で、自分は短時間で得られる刺激に悪い意味で慣れてしまっていることに自覚的になりました。 例えば、YouTube Short や Twitter、インスタのストーリー、社内の Times など。 短時間で得られる刺激を摂取しすぎて

    短時間で得られる刺激から距離を置く
    sagaraya
    sagaraya 2024/01/21
  • 非同期ジョブをユーザーアクションに組み込まない

    (勤務先に投稿した社内ブログの焼き直しです) ある日同僚から ActiveJob の perform_later で Barbeque にキューした非同期ジョブの起動が遅いと言われた。が、非同期ジョブの使い所について個人的な考えを書いてみることにする。 相談は「非同期ジョブの結果をユーザーに返しているため、高速になって欲しい。現状、最大で数分の時間を要す旨のメッセージを表示している」という内容でした。具体的には {内部 API} が重く、一部の処理を非同期ジョブにしていてユーザー体験の悪化につながっているとのこと。 盲目的に非同期にしても嬉しいことはない 結論としては、非同期にするのであれば丁寧にやれば良いけど、そもそも同期的でよくない? と考えて欲しいと返した。 まず、個人的にはユーザーアクション起因かつユーザーへフィードバックする必要のある処理を非同期ジョブにするのは当に長時間かかる

    sagaraya
    sagaraya 2024/01/20
  • 0063 号 巻頭言

    DDD を理解したいあなたのための DDD 入門以前 Rubyist Magazine 63 号をお届けする。 突然のお知らせで恐縮だが、日 Ruby の会の主たる事務所が東京から北海道に移転した。それもあってあまりまとまった時間がとれず、11 月のうちに書くはずだったのが気がつくと 12 月も半ばを過ぎていたので、今回は以前書きかけていた文章を発掘してお茶を濁したい。 Ruby とは直接関係がなくて恐縮だが、Ruby に限らずソフトウェア開発では現在でもちょくちょく話題になることがある、DDD についての話である。 ドメイン駆動設計こと DDD は 2020 年代のソフトウェア開発でもよく話題にされるが、率直に言うとストレートにポジティブな評価が行われているとは言い難い。 どちらかというと、ある種マニアックで、対象分野が制限されており、また初心者にはとっつきにくいところがある手法と思わ

    sagaraya
    sagaraya 2024/01/11
  • JAL機炎上、そのとき何が 検証・羽田空港衝突事故

    SNS上などの映像からは、乗客が3カ所の脱出シューターで次々と滑り降りているのが見て取れる。海外メディアは全員の生還を「奇跡」と伝えた。その陰で海保機側は機長を除く搭乗者5人が亡くなった。

    JAL機炎上、そのとき何が 検証・羽田空港衝突事故
    sagaraya
    sagaraya 2024/01/09
  • 更新されたら真っ先に聴いているおすすめポッドキャスト - laiso

    ポッドキャストはリスナーの存在が見えづらいらしく聴いてるとアピールしないと更新停止してしまいがちなので定期的に感想を書いていく 聴く環境について ポッドキャストの探し方 BUSINESS WARS / ビジネスウォーズ News Connect あなたと経済をつなぐ5分間 #ニュースコネクト Off Topic // オフトピック fukabori.fm バンクーバーのえんじに屋 texta.fm プログラム雑談 Misreading Chat mozaic.fm kkeethのエンジニア雑談チャンネル 購読一覧 聴く環境について クライアントはGoogle Podcastを使っているんですけど終了してしまうし*1最近はSpotifyに誘導されがちなので、今後移行先をどうしようか迷っている そもそもGoogle Podcastの購読一覧ってどこから見るんだろうと疑問だったが、https:/

    更新されたら真っ先に聴いているおすすめポッドキャスト - laiso
    sagaraya
    sagaraya 2024/01/03
  • 「2024年が東京都のインクルーシブ教育元年に」と期待の声 都教委が「支援員」活用で区市町村支援を検討(Yahoo!ニュース オリジナル THE PAGE)

    障害のある子どもが地域の小中学校に通ったときのサポート役となる「支援員」に関して、東京都教育委員会が区市町村に対する支援策を新たに検討していることがわかった。現状では、地域の小中学校への就学を希望する障害児の保護者が、自治体から「支援員をつけることはできない」などと言われてあきらめるケースも少なくない。新たな策によって従来に比べ支援員の配置が行いやすくなれば、障害のある子供や外国にルーツのある子供など、あらゆる特性を持つ多様な子どもたちが同じ教室で共に学ぶインクルーシブ教育の進展につながるのではないか、と期待する声も出ている。 12月中旬、東京都議会一般質問で龍円愛梨議員(都民ファースト)の質疑に対し、浜佳葉子教育長が「教育上、特別な支援を必要とする児童生徒の就学については、可能な限り人や保護者の意向を尊重することが重要」とした上で、「『特別支援学校への就学が適当な児童生徒』について、

    「2024年が東京都のインクルーシブ教育元年に」と期待の声 都教委が「支援員」活用で区市町村支援を検討(Yahoo!ニュース オリジナル THE PAGE)
    sagaraya
    sagaraya 2023/12/29
  • ユーザー体験を最高にするkintone Design Systemsをつくってます|sakito

    ユーザー体験を最高にするチームプロジェクトオーナーのsakitoです。 以前、kintone フロントエンドリアーキテクチャプロジェクトをスタートさせたブログ記事が公開されました。 今回はこの取り組みの一つのチームである「ユーザー体験を最高にするチーム 」について紹介します。 ユーザー体験を最高にするチームとは?kintoneフロントエンドリアーキテクチャのアプリケーション構成はMonorepoを採用し、チーム単位でオーナーシップを担うことを意識しています。開発者視点では分割されていますが、ユーザー視点では1つのkintoneアプリケーションであり、各チームが足並みを揃えてデザインの一貫性や品質を意識しながら開発を行う必要があります。そこで、各チームを横断してkintoneのユーザーにより良い体験を届けることを目標としたチームが「ユーザー体験を最高にするチーム」です。 ユーザー体験を最高

    ユーザー体験を最高にするkintone Design Systemsをつくってます|sakito
    sagaraya
    sagaraya 2023/12/28
    「ユーザー体験を最高にするチーム」良い
  • デザインと開発の分断を乗り越え、チームでアウトカム検証を回すプロセス|Ryosuke

    リーン開発の課題、Sense→Discovery→Deliveryのプロセス分断をどう乗り越えるかリーン的なアウトカム検証には、不確実性が高い段階から「Sense(課題発見)」「Discovery(ソリューション発見)」「Delivery(製品開発)」の3つの仮説検証トラックが存在すると考え、Gaudiyでもこれに近い運用を行なっています。 様々な定義がありますが、 「UXのダブルダイヤモンド」や「デュアルトラックアジャイル」などの 考え方を参考にこのように定義しています。そして、リーンやアジャイル的な考え方では、これらはプロセスではなく考え方の区別であり、各トラックの仮説検証サイクルをチーム全員で回すマインドセットが重要とされます。 しかし現実では、タスクの性質や責務を担うメンバーの違いから、各トラックのプロセスが閉じることで「ウォーターフォール開発」に近い進め方なってしまう、なんてこと

    デザインと開発の分断を乗り越え、チームでアウトカム検証を回すプロセス|Ryosuke
    sagaraya
    sagaraya 2023/12/27
  • マネーフォワード CTO が考えていること(2023 年 12 月) - Money Forward Developers Blog

    こんにちは、マネーフォワード CTO の中出(なかで)です。 CTO の私が、普段「なにを感じて、どんなことを考えているか」について、四半期に一回社内へ共有している内容を一部編集し、 Developers Blog に公開したいと思います。 前回はこちら:マネーフォワード CTO が考えていること(2023 年 9 月) 技術的負債とその返済 7年前、2016年12月にCTOになって、最初の大きな決断は、すべてのサービスが一つの大きなデータベースに依存している状態から抜け出すことでした。私たちは小さなベンチャー企業でしたから、素早くサービスを立ち上げるためにデータベースを分割せず、大きなデータベースを共有するという技術的な意思決定がされていました。 しかし、その決定はサービスが軌道に乗るにつれて問題を引き起こすようになります。毎月、給料日になるとデータベースの負荷が高まり、全サービスがスロ

    マネーフォワード CTO が考えていること(2023 年 12 月) - Money Forward Developers Blog
    sagaraya
    sagaraya 2023/12/25
    8年すごい…
  • Flutter アプリにおけるテスト戦略の見直しと自動テストの導入

    2023/11/10 に開催されたFlutterKaigi 2023での登壇資料です https://flutterkaigi.jp/2023/sessions/df52c995-5fbb-4ff0-abbc-e6332af98797 私たちのチームは、品質維持を目指してテスト戦略の見直しを行い、その結果、integration_testを用いた自動テストの導入に至りました。 これまで一年間の運用を通じて、自動テストのシナリオ数は40を超え、その過程で多くの課題と学びがありました。 具体的には、以下のような問いに対する答えを探求しました。 自動テストを実行する最適なフローとタイミングは何か 成熟したプロジェクトにおいて、どの機能から自動テストを導入すべきか 自動テストを実施するか否かの判断基準は何か 不安定なテストシナリオにどのように対処すべきか AutifyやMaestroなどの他のツー

    Flutter アプリにおけるテスト戦略の見直しと自動テストの導入
    sagaraya
    sagaraya 2023/12/09
  • モノリス解体に向けたパッケージ構成 - 10X Product Blog

    CTOのishkawaです。 この記事は10X アドベントカレンダー2023の3日目の記事です。 先日、サーバーサイドのメンバーを中心として、コードをどのように分割管理していくか話すオフサイトを実施しました。オフラインで1日中話していたこともあり、話題は色々な方向に進んだのですが、その中でもモノリス解体にトピックを絞ってシェアしたいと思います(他の話は他のメンバーが書いてくれるはず!)。 前提 10Xには4つの開発チームがあります(お買い物チーム、お会計チーム、お届けチーム、マスターデータチーム)。今年の4月にチーム分割が始まり、コードやデータのオーナーシップも各チームにアサインしてきました。 この組織移行によってオーナーシップ分割は進んでいるものの、依然としてモノリスのパッケージ(Dartのパッケージ)は大きいままで、ほとんどのコードがそこにある状態でした。領域ごとのディレクトリ分割は進

    モノリス解体に向けたパッケージ構成 - 10X Product Blog
    sagaraya
    sagaraya 2023/12/04