タグ

nomnelのブックマーク (9,975)

  • 微弱な快楽から逃れる方法 - 星の動く音がうるさい

    動機 勉強しないといけないのに、5分程度の動画をYoutubeで無限に見たり、SNSを無限に見たりしてしまう、このループから逃れたい。 きっかけ ↑ 昨日バズっていた「微弱快楽説」。 勉強しないといけないのに、SNSやyoutubeの無限巡回をやめられないのはなぜか。それは「微弱な快楽」に一定時間触れていると、「微弱な快楽を感じ続ける状態がデフォルト」だと脳がセッティングしてしまうので、止めた瞬間「微弱な快楽」が途絶え不快感を覚えるため、という説。 行動療法の学習理論によれば、連鎖化された反応を断ち切るには、直接的な強化と離れている「連鎖の初めのほうの反応」を除去するのが効果的だという。スマホを触るのを止めたければ、仕事場から自室へ帰ってきたとき指定の場所にスマホを置くなど先行拘束して、連鎖の初めの行動を止めることが有効だろう。 でも私が今からここに書きたいのは、先行拘束に失敗してすでに無

    微弱な快楽から逃れる方法 - 星の動く音がうるさい
    nomnel
    nomnel 2023/06/07
  • Optics: 「パス」に型を付ければ、データ全体に型を付ける必要はない - Lambdaカクテル

    あまり知られていない関数型言語のおもしろ概念として、Opticsというものがある。 Opticsとは、オブジェクト指向言語で言うところのSetter/Getterを一種の関数として捉え、いくつかの便利な特性を付与したものの総称だ。この便利な特性によって、Setter/Getter以上のことをパワフルにこなせる。 最も有名なOpticsはLensであり、色々な解説資料が(主にHaskell向けに)出ている。 blog.recruit.co.jp さて、これまでのOpticsを紹介する資料はSetterとGetterとしての側面に注目しがちだったので、じゃあOpticsの何が良いのか、Scalaでやる意義は何か、という側面をこの記事で紹介しようと思う。 Optics -- vs. copyメソッド地獄 Opticsは合成可能である Opticsはボトムアップのアプローチである Opticsがう

    Optics: 「パス」に型を付ければ、データ全体に型を付ける必要はない - Lambdaカクテル
    nomnel
    nomnel 2023/06/07
  • ReactコンポーネントでレンダリングされるHTML要素の種類を変更可能にするためのパターン

    ReactUIコンポーネントライブラリを使っていると、あるコンポーネントによってレンダリングされるHTML要素の種類を変更したくなる場面がある。たとえば、通常はbutton要素としてレンダリングされるButtonコンポーネントを使うときに、代わりにa要素を使ってレンダリングしたいというケース。 as prop そのような場合、一般的には、Buttonコンポーネントにas propを実装して対処することが多い。 function Button({ as: Component = 'button', ...props }) { return <Component {...props} />; } render( <> <Button type="button"> I’m a <code>button</code> element </Button> <Button as="a" href="

    ReactコンポーネントでレンダリングされるHTML要素の種類を変更可能にするためのパターン
    nomnel
    nomnel 2023/06/06
  • CSSを持たない Headless な UI ライブラリと ChatGPT によるマークアップ生成を試してみる

    いまさら気づいたけど Headless 系のUIライブラリが一番 AI と相性いいのではないか。 ロジックはプログラマで書けて自由度高いし、コンポーネントのネスト構造から意図を読み取れるだろうし、class 名は自由に書けるから意図を表明しやすい。 それをプロンプトとして ChatGPT or Codex にそのまま投げて書かせる、ができる。 というわけで vite + react + radix-ui + vanilla-extract で実験してみた。 プロンプト あなたは凄腕のマークアップエンジニアです。 radix-ui は Headless UI ライブラリで、UIとしてのセマンティクスのみを持っています。 次のコードは React + radix-ui + vanilla-extract で書かれた React コンポーネントです。 // Popover.tsx import

    CSSを持たない Headless な UI ライブラリと ChatGPT によるマークアップ生成を試してみる
    nomnel
    nomnel 2023/05/29
  • packelyze - お前の TypeScript はもっと小さくなる

    TypeScriptの型定義ファイルから積極的な圧縮を行うための @mizchi/optools をリリースした。まだ実験中だが、結構動くはず。使う場合は自己責任で。 追記: optools を packelyze に rename した。これは optools という CLI 名が ImageMagick の提供するコマンドとぶつかったため。 試行錯誤の過程は https://zenn.dev/mizchi/scraps/1bdf01f5efb147 にある。 このライブラリは、自分の所属する Plaid の業務時間中に作成した。 想定ユーザー ライブラリ作者 ビルドサイズ厳しいフロントエンド開発者(サードパーティスクリプト等。自分が業務で作った理由がここ) リスクとってでもビルドサイズを縮めたいフロントエンド作者 動機 世の中な TypeScript で書かれたコードは、その型情報を使

    packelyze - お前の TypeScript はもっと小さくなる
    nomnel
    nomnel 2023/05/26
  • lizod: 1kb 未満の zod の精神的後継

    作った。 lightweight-zod だから lizod。 npm install lizod -S で使える。 tl;dr 各種フロントエンドCloudflare Workers で zod のビルドサイズが邪魔になっている メソッドチェーンと便利なユーティリティを全部捨てた zod 風のバリデータを作った zod の 57kb に対して lizod は 1kb 以下 これが動く // Pick validators for treeshake import { $any, $array, $boolean, $const, $enum, $intersection, $null, $number, $object, $opt, $regexp, $string, $symbol, $undefined, $union, $void, type Infer, type Valid

    lizod: 1kb 未満の zod の精神的後継
    nomnel
    nomnel 2023/05/24
  • [下校オニ]せがわひろわき - 曽山一寿賞 | 週刊コロコロコミック

    曽山一寿賞、受賞作完全公開! 曽山一寿賞 1月15日~4月13日の約3ヶ月間募集して、500作品を超える応募が殺到した「曽山一寿賞」! 曽山先生自身が審査員をつとめ全作品を読むことや、「登場キャラは2キャラまで」という特殊なルールが話題を呼び、SNSを中心に大盛り上がりとなった! そんな曽山一寿賞の全受賞作品を公開開始!珠玉の投稿作をぜひ読んでくれ!

    [下校オニ]せがわひろわき - 曽山一寿賞 | 週刊コロコロコミック
    nomnel
    nomnel 2023/05/17
  • RubyKaigi 2023 という奇跡 - cobachie’s diary

    RubyKaigi 2023 ローカルオーガナイザーの cobachie です。 2023年5月11日..13日に長野県松市の まつもと市民芸術館 で開催された RubyKaigi 2023 は盛況のうちに無事終了することができました。 参加していただいたみなさま、当にありがとうございました。 開催まで何をやってきたか @co_bachie 記念 #rubykaigi pic.twitter.com/er5Fnwma64— 黒曜@Leaner Technologies (@kokuyouwind) 2023年5月13日 クロージングで @a_matsuda さんが紹介してくれたように、RubyKaigi を松で開催したいという話は 2017 年から始まっていたのでした。RubyKaigi 2023 までなんと足かけ 7 年の道のりでした。 今回ローカルオーガナイザーとしてやってきたの

    RubyKaigi 2023 という奇跡 - cobachie’s diary
    nomnel
    nomnel 2023/05/17
  • Nreal Airを使ってカンファレンスを楽しむ - chiastolite’s blog

    Nreal Airというサングラス型のヘッドマウントディスプレイがある。 Nreal Air(エンリアルエアー)/ARグラス/スマートグラス/どこにでも持ち歩ける最大201インチ大画面/TUV認証取得(目に優しい)/ステレオサウンドのデュアルスピーカー/ノイズキャンセリングマイク/3DoF対応/EIS電子式アンチシェイク/専用アプリNebula対応/Type-C (DisplayPort Alt Mode)接続 Black フリー エンリアル(Nreal)Amazon 目の前に画面を表示させつつ、外も見れるようなもの(詳しくは公式を参考)。 これをカンファレンス参加に活用したお話。 カンファレンス参加時の問題 カンファレンスで発表を聞いてる際、メモを取ったりTwitter上の反応などをチェックするなどして視線が手元に落ちることが度々ある。 ただ視線を落としていると、スライドなどを見落したり

    Nreal Airを使ってカンファレンスを楽しむ - chiastolite’s blog
    nomnel
    nomnel 2023/05/14
  • 令和時代の CSS 記法再考

    昔は CSS と言えば壊れやすい代名詞のようなもので、堅牢な CSS を書くためによく BEM や FLOCSS といったCSS 設計記法の縛りを入れて書いたりしていましたが、最近は React と Scoped CSS のセットで書くことが多くて、素の HTML/CSS で設計記法を遵守した CSS を書く機会はだいぶ減りました。 衝突を気にしなくて良い環境で CSS を書いているので BEM (Block/Element/Modifier) で言うところの Element あたりはあまり気にならなくなりましたが、Modifier の扱いに関しては引き続き現役というか、むしろコンポーネントの Props などでより意識をする機会が多くなったように感じます。 ちなみに 自分は CSS in JS に関しては若干距離を置いてるというか、Scoped CSS が実現できれば十分で、ユーザーに負

    令和時代の CSS 記法再考
    nomnel
    nomnel 2023/05/12
  • Rust を始めるための資料集 - Don't Repeat Yourself

    かとじゅんさんのお誘いで、私塾匠真堂にて登壇させていただき、Rust に関する話をさせていただきました。ありがとうございました。 今回のセッションを通じて Rust を始めたくなった方向けに、Rust をはじめるための資料をいくつかリストアップしてます。よかったらどうぞ。 プログラミング言語の学習方法について Rust についてまず概観を掴む 文法を学ぶ 何かアプリケーションを実装してみる ちょっと突っ込んだ話を知りたい コミュニティの力を借りる 仲間を見つける 更新履歴 プログラミング言語の学習方法について みなさんは新しいプログラミング言語を学ぶ際、どのように学びますか? 私は、軽く制御構文やデータ型の作り方などを学んだ後は、すぐにアプリケーションを作ってみて、詰まったらリファレンスを参照するといった学び方をしていることが多いです。 逆に、リファレンスをまず眺めて、文法をしっかり把握し

    Rust を始めるための資料集 - Don't Repeat Yourself
    nomnel
    nomnel 2023/05/11
  • Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog

    お手伝いの @helloyuki_ です。今回はポエムです。 今回は、Rust を始めた当時、プログラミング言語は Java しかまともに触ったことがない新米若手 Java エンジニアだった私[*1]が「見たことがなく、使いどころがわからなく理解が難しい」と感じたポイントについて紹介します。対象とするソフトウェアのレイヤーが低いか高いかを問わず、とにかく Rust をやってみて理解するまでに時間がかかり、難しいと感じたポイントについて紹介します。 Rust の「メモリ安全」って、結局何 所有権とライフタイム 参照 スマートポインタ 代数的データ型 関数が第一級である モジュールシステム self 型クラスという側面でのトレイト まとめ 私が Rust をある程度使いこなせるようになるまでの話 「難しい」って何?、の話 Rust の「メモリ安全」って、結局何 そもそも論ですが、Rust が取

    Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog
    nomnel
    nomnel 2023/05/11
  • Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研

    Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿

    nomnel
    nomnel 2023/05/11
  • Cloudflare Workers を活かしきるスタックを考えた(remix+d1 on pages-functions) + 残タスク

    Cloudflare Workers を活かしきるスタックを考えた(remix+d1 on pages-functions) + 残タスク このスクラップ で試行錯誤していたまとめ。 最終形はここにアップロードした。 docs の下に、このリポジトリを生成した手順、セットアップ方法、リリース方法を書いてある。 (remix-validated-form や vitest のテストの追加でもうちょっといじるとは思う) なぜ cloudflare-workers + d1 のポテンシャルは最強で、近い未来、開発者|個人開発者の銀の弾丸になると思っているのだが、それを活かす開発スタックが知られていない(要出典)。この記事では GW の間に自分で周辺ライブラリを使い倒しながら選定していった。 2021年 は Fullstack Next.js 元年なので、有望な Next.js 系フレームワークを

    Cloudflare Workers を活かしきるスタックを考えた(remix+d1 on pages-functions) + 残タスク
    nomnel
    nomnel 2023/05/08
  • 【第4回】競技プログラミングはITエンジニアをどう鍛えるか | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

    プログラミングのスキルは、ウェブをはじめシステム開発の業務に欠かせないものですが、それ自体を「競技」として楽しみ、練習を通じて上位を目指すという世界もあります。そんな競技プログラミングにおいて「強くなる」ことは業務におけるプログラミングスキルの向上に関係があるのか、そもそも人間にとって「学び」とは何なのか、日語で参加できる競技プログラミングのコンテストを定期的に開催するAtCoder株式会社の高橋直大さんと青木謙尚さんが、株式会社一休でウェブシステム開発に携わる伊藤直也さん、所澤友大さんと語ります。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてなブックマーク」などの開発を主導。グリー株式会社では統括部長としてSNSを担当した。2016年4月、一休に入社し執行役員CTOに就

    nomnel
    nomnel 2023/04/30
  • Rails 7.1をn倍速くした話

    鹿児島Ruby会議02 の講演「Rails 7.1をn倍速くした話」のスライド https://k-ruby.com/kagoshima-rubykaigi02/ #k_ruby

    Rails 7.1をn倍速くした話
    nomnel
    nomnel 2023/04/28
  • AI News - AI関連ニュースまとめ

    Appleデザイナーのジョナサン・アイブとOpenAIのサム・アルトマンが「AI駆動のパーソナルデバ.. AI搭載パーソナルデバイスの開発資金として1500億円の調達を計画Thrive CapitalやEmerson Collectiveとの資金調達交渉を進行中開発中のデバイスはスマートフォンと異なる外見の小型端末の可能性

    AI News - AI関連ニュースまとめ
    nomnel
    nomnel 2023/04/24
  • 仕組みやプロセスに興味がない - ミネムラ珈琲ブログ

    1on1で喋っていて気づいたこと。 ぼくは仕事をうまくやる上で、仕組みとかプロセスで解決することにあまり興味を持っていない。チームメンバーがそれをやってくれることに対してウェルカムだし、自分でもそういう解決をしてるんだけど、質的には興味がない。 例えばチームにおいて1人の特殊な知識や能力で仕事がうまくいっているとする。そうするとその人がいなくなったときにどうすんのって話がよくあって、なんらか仕組みで解決しましょうってことによくなる。 が、ぼくは「別になんもやらなくてもいいんじゃん?」とか思ってしまう。仕事の回し方なんて人それぞれだ。1人の特殊なキーパーソンがいなくなったところで、残った人や新しく入ってきた人が別の特性を発揮して新しい仕事の回し方が成立するものだと思っている。なんなら過去のやり方の再現を前提に引き継ぐみたいなのは下手したら残ったチームメンバーに合わない業務を強制しかねないぐ

    仕組みやプロセスに興味がない - ミネムラ珈琲ブログ
    nomnel
    nomnel 2023/04/24
  • 「研鑽Rubyプログラミング」はライブラリ作者の知識・技術の幅と深さを拡大する1冊 - たごもりすメモ

    「研鑽Rubyプログラミング」を読んだので、その感想を書く。 届いた。研鑽を積むぞ! pic.twitter.com/YuL5WUyjap— tagomoris (@tagomoris) 2023年4月15日 なお書の訳者である角谷さんにをお贈りいただきました。が、その前から同書のβ版(電子版)を購入していたため、実際にはほとんどをそちらで読みました。*1 エントリの言いたいことは、様々な状況に対応してコードを書くには知識・技術の幅と深さが重要で、書はそのための重要なインプットとなるでしょう、です! 総論: さまざまなRubyの書きかたを学べる さて、このは初手から対象読者を「中級から上級のRubyプログラマー」としており、そのものの目的は「まえがき」の先頭にもはっきり書かれています。少し長めに引用します。 書の目的は、中級から上級のRubyプログラマーが従うべき有用な原則を

    「研鑽Rubyプログラミング」はライブラリ作者の知識・技術の幅と深さを拡大する1冊 - たごもりすメモ
    nomnel
    nomnel 2023/04/20
  • Phind

    Get answers to complex questions with Phind's AI answer engine.

    nomnel
    nomnel 2023/04/13