tasshi820のブックマーク (916)

  • Documentation - TypeScript 3.9

    This is strange behavior! The fact that sealExhibit contained an undefined somehow poisoned type of lion to include undefined. Thanks to a pull request from Jack Bates, this has been fixed with improvements in our inference process in TypeScript 3.9. The above no longer errors. If you’ve been stuck on older versions of TypeScript due to issues around Promises, we encourage you to give 3.9 a shot!

    tasshi820
    tasshi820 2023/11/07
    Solution Style tsconfig.json
  • type 'typeof globalThis' has no index signature

    tasshi820
    tasshi820 2023/11/07
  • TypeScriptのdeclareやinterface Windowを勘で書くのをやめる2022

    おことわり 個々の関数や変数に正しい型をつける話はしません。TypeScript HandbookのDeclarationの章などを読むことをおすすめします。 かわりに、稿では関数や変数の型宣言をどこにどう置くべきかの指針を与えます。 モジュールとスクリプト declareを正しく使うにはまずモジュールとスクリプトの区別を理解し、意識することが大切です。 ブラウザやNode.jsは外部からの指定でモジュールとスクリプトを区別しますが、TypeScriptでは原則としてファイルの内容でモジュールとスクリプトを区別します。 import 宣言または export 宣言が1つ以上あればモジュール。 CommonJSモジュールの場合はTypeScript専用構文である import = 宣言、 export = 宣言を使う。 それ以外の場合はスクリプト。 ただし、JavaScriptファイル (

    TypeScriptのdeclareやinterface Windowを勘で書くのをやめる2022
    tasshi820
    tasshi820 2023/11/07
  • Print typescript compiler options

    tasshi820
    tasshi820 2023/11/07
  • VSCode上で複数のtsconfigを適用させるプラクティス

    VSCodeではTypeScriptファイルの配置されている階層からルートディレクトリまで辿って、見つかったtsconfig.jsonをそのファイルのパースに使用します。(ref) 使用されているtsconfig.jsonはステータスバーから確認出来ます。 またreferencesで参照されたtsconfigにマッチする場合はそのtsconfigが使用されます。 単一のtsconfig設定で問題なければルート階層にtsconfig.jsonを配置すれば問題ありませんが、ファイルによって適用させたいtsconfigを分岐したい場合は、 サブディレクトリにtsconfig.jsonを置く include/excludeでフィルタしたtsconfigを作成し、references・compositeで合成する のいずれかで実現出来ます。 以下アプリケーションコードとテストコードで別のtsconf

    VSCode上で複数のtsconfigを適用させるプラクティス
    tasshi820
    tasshi820 2023/11/07
  • スタートアップはいかにしてその活力を失うのか | Yakst

    急成長するスタートアップがどうしてそのスピード感や勢いを失ってしまうことがあるのか、その背景にある構造とパターンを筆者の目から解き明かし、それを回避する方法を提案する。John Qian氏のブログ記事の翻訳。 [スタートアップ]原文 How a startup loses its spark (English) 原文著者 John Qian 原文公開日 2023-08-12 翻訳依頼者 翻訳者 doublemarket 原著者への翻訳報告 238日前 メールで報告済み 238日前 原著者承諾済み 編集 ちゃんとしたシードステージのスタートアップでは、エンジニアは業務経験を「夢中だ」と表現する。大きな会社では、得られるのは最良のケースでも「楽しい」程度だ。どうしてこうなってしまうのだろう。これは避けられないのだろうか。 スタートアップを夢中になれるものにするのは何なのかを調べてみよう。エンジ

    tasshi820
    tasshi820 2023/10/30
  • GitHub Actions のシークレットは push できるユーザーであれば誰でも見れる | はったりエンジニアの備忘録

    GitHub Actions には暗号化されたシークレットを保存できます。この値は一度設定すると、ブラウザや GitHub CLI から確認することはできません。 公式ドキュメントの "Encrypted secrets" のページを読むと、シークレットの値は Sodium を使ってクライアント側で暗号化され、ワークフローで使用されるまで暗号化されていることが保証されています。なので、ブラウザや GitHub CLI から確認できないのだと思います。 GitHub uses a libsodium sealed box to help ensure that secrets are encrypted before they reach GitHub and remain encrypted until you use them in a workflow. ワークフローの中でシークレット

    GitHub Actions のシークレットは push できるユーザーであれば誰でも見れる | はったりエンジニアの備忘録
    tasshi820
    tasshi820 2023/10/30
    公式ドキュメントに構造化データ(JSON, Blob)を設定するのはやめろという記載があるけど、ちゃんと使ってても簡単に見れちゃうよねという
  • Node.js の vm モジュールでサンドボックスを作る場合の注意点 - Qiita

    こちら↓ JavaScript: プラグインシステムとプロトタイプ汚染攻撃 - Qiita のコメント欄で、「Node.js でサンドボックスを作るなら vm モジュールおすすめだぜ!」 と言うような主旨のコメントをしたのですが、 色々と注意が要る機能でもあるので、補足がてらにちょっとまとめてみます。 vm モジュールを利用したサンドボックス化 Node.js の vm モジュール を使うと、 新規コンテキスト下で任意のスクリプトを実行することができます。 const vm = require('vm'); // 新規コンテキストを作成 const context = vm.createContext({ // コンテキスト内のグローバル変数・関数 x: 10 }); // 作成したコンテキスト下で実行 const result = vm.runInContext("x + 2", con

    Node.js の vm モジュールでサンドボックスを作る場合の注意点 - Qiita
    tasshi820
    tasshi820 2023/10/30
  • JavaScript: プラグインシステムとプロトタイプ汚染攻撃 - Qiita

    この投稿では、JavaScriptで実装されたプラグインシステムにおいて脅威になりうる、プロトタイプ汚染攻撃の手法を説明します。 対策についてはまだ検証中なので説明しませんが、プラグインシステムを設計するにあたって、プロトタイプ汚染攻撃が脅威であることを一度整理しておきたかったので記事にしました。 プロトタイプ汚染攻撃とは プロトタイプ汚染攻撃(prototype pollution attack)とは、ざっくり言うと、攻撃者がJavaScriptオブジェクトのプロトタイプを書き換えることで、情報を盗んだり、オブジェクトの振る舞いを変更したりする攻撃のことです。 JavaScriptの言語的特徴を巧妙に悪用した手口 JavaScriptでは、オブジェクトを生成すると、プロトタイプオブジェクトと呼ばれる生成元のオブジェクトへの関連を持つことになります。 例えば、Fooオブジェクトを定義した場

    JavaScript: プラグインシステムとプロトタイプ汚染攻撃 - Qiita
    tasshi820
    tasshi820 2023/10/30
  • 「伝統的な価値」への回帰を美化? TikTokで話題の「トラッド・ワイフ」とは

    3万3000人のフォロワーに「トラッド・ワイフ」としての自身の暮らしを紹介するエスティ・C・ウィリアムズさん。 TikTok TikTokで「トラッド・ワイフ」たちが伝統的価値への回帰を促している。「トラッド・ワイフ」は「トラディショナル・ワイフ(伝統的な)」を略した言葉だ。 こうした女性たちの多くは1950年代の価値観または聖書に書かれているイデオロギー、もしくはその両方を信奉している。 多くの女性が仕事と家庭生活のバランスに悩む中、アメリカでは「トラッド・ワイフ」がトレンドになっている。 夫のコナーさんとアメリカのバージニア州に住んでいるエスティ・C・ウィリアムズさん(24)は、自分なりに家事を楽しくする方法をいくつか持っている。2022年6月に「Forever romanticizing my life #housewife #tradwife」というキャプションを付けてTikTo

    「伝統的な価値」への回帰を美化? TikTokで話題の「トラッド・ワイフ」とは
    tasshi820
    tasshi820 2023/10/28
  • How we optimized package imports in Next.js – Vercel

    How we optimized package imports in Next.js40% faster cold boots and 28% faster builds In the latest version of Next.js, we've made improvements to optimize package imports, improving both local dev performance and production cold starts, when using large icon or component libraries or other dependencies that re-export hundreds or thousands of modules. This post explains why this change was needed

    How we optimized package imports in Next.js – Vercel
    tasshi820
    tasshi820 2023/10/23
    barrel fileって言うのか
  • NISAを知る:NISA特設ウェブサイト:金融庁

    NISAとは NISA(ニーサ)は、少額からの投資を行う方のために2014年1月にスタートした「少額投資非課税制度」です。 イギリスのISA(Individual Savings Account=個人貯蓄口座)をモデルにした日版ISAとして、NISA(ニーサ・Nippon Individual Savings Account)という愛称がつけられました。 運用益(売却益・配当/分配金)が非課税 より使いやすいNISANISAのポイント 運用益(売却益・配当/分配金) が非課税 通常、株式や投資信託などの金融商品に投資をした場合、これらを売却して得た利益や受け取った配当に対して約20%の税金がかかります。 一方で、NISA口座で投資した金融商品から得られる利益は非課税になります。ただしNISA口座で投資できる上限金額は決まっています。 より使いやすいNISANISAは、2014年1

    tasshi820
    tasshi820 2023/10/23
    無期限化したのが大きいな
  • cynefin frameworkについてまとめてみる - Qiita

    はじめに こんにちは。 KDDIアジャイル開発センターの小板橋です。 この記事は、KDDI Engineer&Designer Advent Calendar 2021の10日目の記事です。 今回は、部内での会議で教えていただきましたcynefin frameworkという意思決定フレームワークについて気になった為、自分なりに調べた内容をまとめていこうという記事になります。 cynefin framework(カネヴィンフレームワーク)とは cynefin framework(カネヴィンフレームワーク)は、1999年にDavid SnowdenとMary Booneにより提言されました。 ちなみに、カネヴィンというのは、生息地を表すウェールズ語だそうです。 cynefin framework(カネヴィンフレームワーク)を使うと何が嬉しいのか? 今までの会社の意思決定は、トップマネジメント層

    cynefin frameworkについてまとめてみる - Qiita
    tasshi820
    tasshi820 2023/10/16
  • 「で、それやったら売れんの?」という愚問|池田紀行@トライバル代表

    マーケティングを20年やってきて、それなりに、というか、かなり効果測定には向き合ってきた自負があります。 広告やマーケティング効果測定に関するはだいたい読んだし、大学の先生たちとディスカッションを重ねたこともあります。 宣伝会議の広告効果測定講座や広報効果測定講座でも過去8年以上に渡って延べ1,000人以上の実務家へ問いを投げかけてきましたし、多くの企業で効果測定に関するコンサルティングも手掛けてきました。 その上で、「効果測定」(=マーケティング効果の検証)というテーマは、まるで出口のない深い森のように感じます。 でも、このテーマにちゃんと向き合わないと、これからより一層、ROI検証が厳しくなるこの世界で、誠実な仕事に取り組めないとも思います。 ということで、今回はこの難しいテーマを(体力の続く限り)まとめてみます。 商品が生まれて店頭に並びお客さんに買ってもらうまでには基礎研究や応用

    「で、それやったら売れんの?」という愚問|池田紀行@トライバル代表
    tasshi820
    tasshi820 2023/10/16
    売上とKGI・KPI "売上は原因特定解像度が低い指標"
  • なんでbun installは速いのか?

    ⚡️ 25x faster — Switch from npm install to bun install in any Node.js project to make your installations up to 25x faster. https://bun.sh/docs/cli/install という記述を見かけて直感的に、そうはならんやろと思ったものの実際にベンチマークをしているのでどういうことなのかを気になって調べた。 A global install cache. bun installを実行すると ~/.bun/install/cache/ 以下にnpmレジストリからダウンロードされたファイルの実体が展開されキャッシュされる(--cache-dirでパスを変更できる)。 キャッシュにはパッケージのバージョンごとのディレクトリとlatestのシンボリックリンクがある。こ

    なんでbun installは速いのか?
    tasshi820
    tasshi820 2023/10/16
  • 第18回:対話、1on1。その前提としての心理的安全性が、なぜいま非常に重要であるか

    第18回:対話、1on1。その前提としての心理的安全性が、なぜいま非常に重要であるか:マネジメント力を科学する エグゼクティブの皆さんが活躍する際に発揮するマネジメント能力にスポットを当て、「いかなるときに、どのような力が求められるか」について明らかにしていく当連載。 自社のメンバーたちがどうすれば生き生きと働き、自ら動く組織となるのかについて、ベストセラー『こうして社員は、やる気を失っていく』の著者、株式会社モチベーションジャパン代表・松岡保昌さんと当連載筆者の経営者JP代表・井上との対談の内容からお届けする、第4回です。(2022年7月21日(木)開催「経営者力診断スペシャルトークライブ:社員のやる気を、こうして取り戻せ!」) 対話によって新たなアイデアを生み出せる組織か 前回紹介した「組織が疲弊していく会社」の15の問題点の中で、「ピリピリしている」「マイナス要因の犯人探し」といった

    第18回:対話、1on1。その前提としての心理的安全性が、なぜいま非常に重要であるか
    tasshi820
    tasshi820 2023/10/16
  • アムステルダム国立美術館はゲーマーの聖地だった (1/6)

    宿泊予約サイト「ブッキング・ドットコム」の招待で、オランダに来た筆者。空いた時間に名画を見ようとアムステルダム国立美術館にやってきたのだが、ここがまさかのゲーマーの聖地だったので、その一部を紹介しよう。 中世の武器が勢ぞろい! 来は3階にある世界的な名画を見にやってきたのだが、1階の展示物を見て足を止めずにはいられなかった。そこにはゲームでよく見る武器防具の物が陳列されていたからだ。コスプレの小道具とは違い、物が持つオーラと重厚感に圧倒されそうになった。すべてが魔法を帯びたレア装備に見えてくるから不思議だ。

    アムステルダム国立美術館はゲーマーの聖地だった (1/6)
    tasshi820
    tasshi820 2023/10/16
  • 子ども達の好奇心に真摯に向き合った結果、ぽぽちゃんを生産終了する判断に至りました|ピープル㈱コーポレート広報(おもちゃ/育児用品)

    ピープル株式会社 代表の桐渕です。 先日、当社商品「ぽぽちゃん」シリーズの生産終了を発表しました。想定してたよりもずっとたくさんの反響をいただきまして、約25年に渡り、多くの子ども達がぽぽちゃんを愛してくださったことの表れだと感じ、感謝の気持ちでいっぱいです。 私の周囲の親しい人たちからも、残念がる声や、ピープル店じまいするの?などご心配の声をいただきます。確かに一時はピープル=ぽぽちゃんといえるような代表的なシリーズにもなりましたので、私が想定するよりもずっとみなさんぽぽちゃんに思うところをがありそうです。 (店じまいは全然しません。社内はやる気に満ち溢れています) そこで、改めまして、ぽぽちゃん生産終了を決断した理由について、直接自分の手で書き残しておこうと、ただいまキーボードをたたいています。 パーパスに気で向き合った時、ぽぽちゃんは生産終了させてあげるべきだ という結論に至った。

    子ども達の好奇心に真摯に向き合った結果、ぽぽちゃんを生産終了する判断に至りました|ピープル㈱コーポレート広報(おもちゃ/育児用品)
    tasshi820
    tasshi820 2023/10/16
  • 長いタスクを分割するscheduler.yieldという提案

    3 行まとめ scheduler.yieldが Chrome115 から origin trial で試せるように scheduler.yieldを使うと長いタスクを分割できる scheduler.yieldではユーザーのインタラクション以外のタスクが割り込まない Long task の問題とタスクの分割 ブラウザのメインスレッドを占有するような実行時間が長いタスク(Long task)は、そのタスクが実行されている間に何かしらのインタラクションがあっても、タスクが終わるまでブラウザはインタラクションに対応できません。 クリックしても長いタスクが終わるまではクリックのタスクは実行されない こういった長いタスクを分割することで、インタラクションなどの優先度の高いタスクに対応することができます。これは Core Web Vitals の指標であるInteraction to Next Pain

    長いタスクを分割するscheduler.yieldという提案
    tasshi820
    tasshi820 2023/10/05
  • GitHub Actions: Apple silicon (M1) macOS runners are now available in public beta!

    GitHub Actions: Apple silicon (M1) macOS runners are now available in public beta! actions October 2, 2023 Apple silicon (M1) hosted runners can now be used by any developer, team, or enterprise! You can try the new runners today by setting the runs-on: key to macos-latest-xlarge or macos-13-xlarge. The 12-core Intel macOS runner is still available as well and can be used by updating the runs-on:

    GitHub Actions: Apple silicon (M1) macOS runners are now available in public beta!
    tasshi820
    tasshi820 2023/10/04
    M1 macOSのランナーがきた! でもLargerランナーなので公開リポジトリでも有料っぽい。 > The larger runners are not free for public repositories.