anakuma_guumaのブックマーク (529)

  • TypeScriptの型と値とバリデーション

    TypeScript質的に自分に型が付与されていると思っているだけの JavaScript です。 いくら型を付与しようが、それが実行時に影響を与えることはありません。 コードレビューをしているとここを誤解している人が当に多いです。何度も解説しているのですが、なかなか浸透しないので、TypeScript におけるバリデーションという視点で記事を書くことにしました。 あと TS でバリデータ使って色々作ろうとしている友人と、プログラミング始めたてで zodopenapi を使っいる友人がいたので、彼らが想定読者です。 型と値の名前空間 TypeScript 上での名前空間(スコープ)は2つに分類できます。 値: 実行時にランタイム上のメモリに存在するもの 型: 静的解析時にのみ参照可能なもの。コンパイル時に完全に消滅する。 TypeScript は基的に JavaScript

    TypeScriptの型と値とバリデーション
  • 「相手に忖度して質問することを避けてはいけない」 優秀なPMに求められる“クリティカルシンキング力”とその鍛え方

    ロジカルシンキングとクリティカルシンキング 曽根原春樹氏:6点目は、ロジカルシンキングとクリティカルシンキングの使い分けです。ロジカルシンキングという言葉は、みなさんよく聞いたことがあると思いますし、日屋さんに行くと、ロジカルシンキングに関して戦コンの方が書かれたがいろいろありますが、逆にクリティカルシンキングはあまり日で聞かないような気がするんですよね。 けれどもシリコンバレーのPM界隈では、クリティカルシンキングという言葉がめちゃくちゃ使われますし、めちゃくちゃ求められます。ここができるかどうかが、PMとして腕が立つ・立たないの分水嶺だったりします。 おさらいとしてちょっとお話ししますが、ロジカルシンキングとは何かしらの思考やファクトがあって、それを分解させていくというものです。基的には要素間のつながりが理にかなっているかという部分を見ていくのがロジカルシンキングですよね。

    「相手に忖度して質問することを避けてはいけない」 優秀なPMに求められる“クリティカルシンキング力”とその鍛え方
  • プロダクトマネージャーと画家 - Repro Tech Blog

    はじめに こんにちは、Repro Booster という製品の開発責任者/プロダクトマネジメントを担当しているEdward Fox(edwardkenfox)です。 前回の記事「ServiceWorkerの落とし穴8選」では ServiceWorker という技術に的を絞ったテクニカルなトピックを扱いましたが、今回は少し趣を変えて「プロダクトマネジメント」に関する私の考えや想いを書いてみたいと思います。Repro Boosterの開発と運用を通して自分なりに「プロダクト開発」について考えたことや、得られた示唆をまとめています。Repro Boosterの開発チームが、どのような考え方を持ってプロダクトや技術に向き合い、そして製品を改善するべく日々の活動にあたっているかという点について、少しでもその温度感や熱量が伝わるような記事になれば幸いです。 Repro Booster とは 2022

    プロダクトマネージャーと画家 - Repro Tech Blog
  • フロントエンドのディレクトリ設計思想

    App Router への移行は「改善」となり得るのか?/ Can migration to App Router be an improvement

    フロントエンドのディレクトリ設計思想
  • 答えのないデザインの戦い方|村田 俊英 / デザイナー

    デザインに正解はない。だからデザイナーは悩む。 それなのに、クライアントや上司に 「このデザインはどうですか?」 と相談するのはどうしてだろう?この矛盾に気づいているだろうか。 あなたに正解がわからないように、クライアントや上司も正解は知らない。 そもそもデザインだけでなく、このVUCAの時代に答えのある仕事の方がマレだ。 まず、認識を改めよう。あなただけでなく、雲の上の存在のような上司も優秀なクライアントも、誰も彼も答えのないゲームの中で戦っている。 そして答えのないデザインに悩むのではなく、答えのないデザインのルールと戦い方を身につけよう。 デザインのクオリティはプロセスで決まるデザインの案件が来たら、とりあえずギャラリーサイトでサイトを漁ったり競合サイトを調べたりしてないだろうか? …一番やってはダメな行動だ。コンサルなら肩を叩かれても文句は言えない。 1. 論点を立てるまずやること

    答えのないデザインの戦い方|村田 俊英 / デザイナー
  • Jotaiで快適フロントエンド開発 | 株式会社ヌーラボ(Nulab inc.)

    ここ2年ほど、すっかりフロントエンド開発者になっている藤田です。以前、Reactフロントエンドの状態管理ライブラリRecoilについて記事を書きました。 Recoilで快適フロントエンド開発 Recoil Syncでさらに快適フロントエンド開発 その後どうなったかというと、実はRecoilからJotaiに乗り換えていて、半年ほど経ちましたので、Jotaiについて書きたいと思います。 サイトの一行目から「Recoilにインスパイアされた」と言ってるとおり、Recoilの良いところを受け継ぎ、不便なところを無くしたような状態管理ライブラリです。 Jotaiの基はRecoilとほとんど同じで、React.useStateを便利にしたような感覚で非常に簡単に使えます。3ステップで見てみましょう。 1. Providerで囲む アプリケーション全体を<Provider>で囲みます。 impo

    Jotaiで快適フロントエンド開発 | 株式会社ヌーラボ(Nulab inc.)
    anakuma_guuma
    anakuma_guuma 2023/08/04
    Jotaiに移行してたんですね! Recoilの記事よく参考させてもらってました
  • Create React Appは役割を終えました

    長らくReactの入門キットとして使われてきたCreact React App(CRA) 2023年春に正式版になった新しいReactの公式ドキュメントでは、選択肢として紹介されていません。 標準から外れたとは言え、まだ一定の役割は担えるのだろうかと思い様子を見てみました。 とりあえず試してみる まずは現状確認のために実際にプロジェクトを作ってみます。 $ npx create-react-app cra --template typescript Creating a new React app in /Users/nekoya/src/github.com/nekoya/ggg/cra. Installing packages. This might take a couple of minutes. Installing react, react-dom, and react-scr

    Create React Appは役割を終えました
    anakuma_guuma
    anakuma_guuma 2023/07/29
    てっきりCRA使う機会なくなったな React使うがNext.js 使うに等しくなってきている気がする
  • UIは閲覧画面からつくろう。|Shino | Software Designer

    ユーザー体験的なものをストーリーで整理し次にUIを作成するとき、閲覧・参照系より先に新規作成のUIから考える、というケースをときどき見かけます。 これ、すごい違和感あります。 ストーリーにおいてユーザーはまず新規作成するので、そのまま新規作成から着手してしまう、といったところでしょうか。 その場合、新規作成の目当てたるオブジェクトの姿が曖昧になりがちです。 そうすると、新規作成画面にしか存在しない特殊なレイアウトやコンポーネントや、特に意図がない冗長なモーダルができあがることが多いと感じています。 目当てが定まっていないうちから、それをどう作るか、どう編集するかを考えるのって難しくないですか? 考える順番閲覧・参照系のUIを先に作ることで、それが新規作成や編集の目当てとなり、効率よく良いデザインしやすいと感じています。 例えば、私の場合、以下のように考えを進めることが多いです。 まずは「R

    UIは閲覧画面からつくろう。|Shino | Software Designer
  • How to use GitHub Copilot: Prompts, tips, and use cases

    EngineeringProductHow to use GitHub Copilot: Prompts, tips, and use casesIn this prompt guide for GitHub Copilot, two GitHub developer advocates, Rizel and Michelle, will share examples and best practices for communicating your desired results to the AI pair programmer. Leia este artigo em português As ferramentas de programação de IA generativa estão transformando a maneira como as pessoas desenv

    How to use GitHub Copilot: Prompts, tips, and use cases
  • さて、専門性と体系化の話をしようか | knowledge / baigie

    「専門性が高い人になりたいですか?」 そう問われたら、多くの人が「はい!」と答えるでしょう。エンジニアやデザイナーのような専門職に限らず、ビジネスパーソンの多くも、「できることなら何らかの専門性を高めたい」と思っているはずです。 しかし、そもそも「専門性が高い」とはどういう状態を指すのでしょうか。どんな人になれば「専門家」だと評価されるようになるのでしょうか。それを突き詰めて考えることが専門性を高めるヒントになると思い、少し深堀してみました。 最後には、まだ実験中ですが、ChatGPTを活用して専門性を高める方法をご紹介します。 専門性と体系化の関係 辞書サイトのWeblioを見ると、専門性とは「特定の分野のみに深く関わっているさま。高度な知識や経験を要求されることや、その度合い」と書かれています。この定義に従うと、専門性には「特定の分野の高度な知識や経験」が必要だということになります。

  • 金をくれ、ときちんと言わない限り、それは仕事ではない。

    「賢い」「スキルを持っている」「誠実」なのに、ビジネスシーンで大した評価を得られない人たちをよく見てきた。 その大きな原因の一つは、彼らが「お金をもらうのがヘタだった」ことが挙げられる。 お客さんに良いサービスをし、社内でのウケも良い。 でも、最終的な「実績」という面で、彼らは平凡だった。 お金をもらうのが下手な人たち こうした「お金をもらうのが下手な人たち」は、広範囲な職種に存在している。 例えば、エンジニアやライター、弁護士や会計士など、技術的な職業に多い傾向だが、顧客に接することが多い営業やコンサルタントにも存在している。 例えば、私がコンサルタントだったとき、よく怒られていたのが、 「お客さんのところに、必要以上に行き過ぎてしまうコンサルタント」だった。 経営陣は「コンサルタントは時間だけが売り物。必要な工数以上にお客さんのところに行くのは、八百屋が自分の店先の野菜をべているよう

    金をくれ、ときちんと言わない限り、それは仕事ではない。
  • ソフトウェアエンジニアとしての能力を高める方法について考えてみた - joker1007’s diary

    早朝の寝る前ぐらいの時間にぼやっと下記の様なツイートしたらちょっと反応を貰ったので、取り留めは無いが自分なりに考えていることを書いてみる。 人を育てるのも仕事の内というのは完全にその通りなんだが、そこにドキュメントやがあるから読みます、触って作ってみます、生きたコードを読みます、以外に学ぶ方法なんかねえし、知らねえよ。ただやればいいだけの事に説明も何も無いんだよな……。マジ分からん……。— joker1007 (アルフォートおじさん) (@joker1007) March 2, 2023 タイトルは雑に書いたけど、能力を高めるというと範囲が広過ぎるので、技術的な意味でできる事が増える、ということをテーマとして話をしていこうと思う。基的に自分の考え方の話なのでそこは御留意ください。 ツイートした通りで、状況や対象に依って割合は変わるかもしれないが基的にそのためにやることは3つしかないと

    ソフトウェアエンジニアとしての能力を高める方法について考えてみた - joker1007’s diary
  • チームで把握できる!Figmaデータの運用方法|Goodpatch Blog グッドパッチブログ

    デザイナーはもちろん、エンジニアの方やPdMの方もですが、デザインツールを使用していてこのような課題に直面したことがありませんか? 探しているデザインデータがどこにあるのかわからない 最新のデザインデータがどれなのかわからない 状態変化時のデザインを考慮できておらず、抜け漏れによる手戻りが発生する どうしてこのデザインに決まったのか、検討の流れや経緯がわからない このような課題を解決するためにはどのようなデザインデータを作り、運用していくのが良いのでしょうか。 GoodpatchではFigmaをデザインツールとしてよく使用します。今回はあるクライアントとのプロジェクトにおいて検討したFigmaの運用方法の例をご紹介します。 課題:探しているデザインデータがどこにあるのかわからない 解決方法:FigmaのTeam, Project, Fileの構成を定義する 探しているデザインデータがどこに

    チームで把握できる!Figmaデータの運用方法|Goodpatch Blog グッドパッチブログ
    anakuma_guuma
    anakuma_guuma 2022/12/16
    デザインの更新フローがGithub Flowぽさある
  • 34歳男のリアル婚活を書く

    30歳女性の方がちょうど同じようなのを書いていたので、俺も書く。 まず俺のスペック ・34歳男 ・システムエンジニア年収500前後 ・身長175cm 65kg (普通体型だと思いたい) ・これまで彼女いたことない(いちおう中学生のときにキスだけしたことある) ・趣味温泉でまんじゅうをうこと まず婚活を開始した動機だが、純粋に独り身で寂しくなっていたのと、昔から子供が好きだというのがある。 今まで彼女がいなかったのは顔とか性格が悪いわけではなくて、ただ単純にチャンスがなかっただけだと思っていた。(そう思い込んでいただけなのを今回の婚活で実感した) まず始めたのは無難にマッチングアプリ。 自撮りは評判が悪いらしいから、幼なじみに撮ってもらった写真で開始。課金もした。 いいね数、たったの5。 まずここで心が折れかけた。俺の価値はそんなもんだったのか、とかメンタル病みかけた。そしてマッチン

    34歳男のリアル婚活を書く
    anakuma_guuma
    anakuma_guuma 2022/10/23
    文才が溢れてる
  • PWAの今とこれから、iOSでの対応状況 / PWA now and in the future, status of support on iOS

    ネイティブアプリと同様の機能をウェブアプリに追加できる技術、それがProgressive Web Apps (PWA)です。iOSでも近年、徐々にPWAの機能が追加されています。これらの流れは、ユーザービリティに重きを置く昨今の潮流に即しているように感じます。 この発表では、PWAの現状とその可能性についてお話しします。 - PWAとは? - PWAの歴史 - PWAを特徴づける機能(オフライン、ホーム画面に追加、プッシュ通知 、Progressive Enhancement) - iOSにおける対応状況 - PWAの成果事例 - PWAのこれから - PWA活用のフローチャート 弊社のAmbient Weavingのサイトはこちら https://ambientweaving.lab.zozo.jp/

    PWAの今とこれから、iOSでの対応状況 / PWA now and in the future, status of support on iOS
  • React/Next.jsでの俺的ベストプラクティスを見てくれ

    木瓜丸です。 最近になって、やっとNext.jsを上手く使いこなせてるんじゃないか?!と思えるようなコンポーネントの設計手法を見つけたので、Zennにまとめてみたいなと思います。 この記事で触れること この記事では、主にページ単位でどのように状態管理を行うのかに焦点を当てることにします。 コンポーネントの管理の仕方などは特に着目しませんがご了承下さい。 hooksの導入 React初心者の方は最初に疑問に思うと思いますので、hooksについて触れておきます。 hooksというのは、Reactによって提供されているuseState, useEffectといったやつや、それらを組み合わせて作ったオレオレ状態管理基盤の総称です。 この記事で用いる基的なhooksをいくつか紹介します。 useState その名の通り、状態を持つ変数を作ってくれます。 const Hoge = () => { c

    React/Next.jsでの俺的ベストプラクティスを見てくれ
  • 「よくあるテーブル」 | デザインパターン(共通) | SmartHR Design System

    SmartHRに頻出する、表形式で一覧表示するUIのパターンまとめています。 SmartHRでは、表形式で一覧表示するUIを「よくあるテーブル」と呼びます。 OOUIにおけるコレクションと、コレクションに関連するアクションやフォームをまとめた総称を指します。 構成よくあるテーブルは、次の要素で構成されています。必須項目以外は任意の表示項目です。 テーブルオブジェクト名(必須)オブジェクトの情報オブジェクトの操作タイトルエリアテーブル操作エリア一時操作エリア 1. テーブルよくあるテーブルは、多くの場合「1項目1行の1次元リスト」のテーブルを含みます。 オブジェクト名オブジェクトの名前を指します。行を識別するために必須要素として設定します。 移動リンクのスタイルオブジェクトの詳細ビューへ移動する場合、オブジェクト名にリンクを設定します。 テキストリンクによる移動は「オブジェクトの操作」にはあ

    「よくあるテーブル」 | デザインパターン(共通) | SmartHR Design System
  • PMにとって(地味だけど)重要な 「相談される」スキルとは

    7/27(水)19:00~地味PM meetupの登壇資料です。 ▼口頭でお話しした内容も補足しているnote版はこちら https://note.com/mignon53/n/na2a050e6db81

    PMにとって(地味だけど)重要な 「相談される」スキルとは
  • クラウドサインのフロントエンドミーティングと、その勉強会で発表した話 - 弁護士ドットコム株式会社 Creators’ blog

    こんにちは。弁護士ドットコム クラウドサイン事業部 Product Engineering 部の篠田 (@tttttt_621_s) です。 普段は Vue.js と TypeScript を使ってクラウドサインのフロントエンドの実装を担当しています。 記事では、クラウドサインのフロントエンドミーティングと、その勉強会で実際に発表した内容を紹介いたします。 フロントエンドミーティングの内容 実装の相談や改善提案 技術情報の共有 ぷち勉強会 ぷち勉強会で発表した内容 概要 ISR: Incremental Static Regeneration ISR とは ISR の動作例 ISR の問題点 On-demand ISR : On-demand Incremental Static Regeneration On-demand ISR とは On-demand ISR の動作例 おわりに

    クラウドサインのフロントエンドミーティングと、その勉強会で発表した話 - 弁護士ドットコム株式会社 Creators’ blog
  • 2022年のモダンCSS改

    7/27(水)開催の「TechFeed Experts Night#1 〜 Web標準 / CSS / Webアクセシビリティを語ろう」で発表した内容です https://techfeed.io/events/techfeed-experts-night-20220727 スライド内のリンクがクリックできるPDF版はこちら https://drive.google.com/file/d/1fc98v082exdGcCuxS73wEN_Qe2COvdTW/view?usp=sharing 各デモURL ■ 上下左右中央揃え https://codepen.io/tonkotsuboy/pen/qBbpYzj ■ スムーススクロール https://codepen.io/tonkotsuboy/pen/NWyNMOo ■ すりガラス https://codepen.io/tonkotsuboy

    2022年のモダンCSS改