f_syumaiのブックマーク (217)

  • 2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ

    最近はお客さんとの勉強会でDockerのドキュメントをつまみいして読むというのをやっていますが、改めて最新版を読んでみて、いろいろ思考が整理されました。2020年の20.10のマルチステージビルドの導入で大きく変わったのですが、それ以前の資料もweb上には多数あり「マルチステージビルドがよくわからない」という人も見かけるので過去の情報のアンラーニングに使っていただけるように改めて整理していきます。 仕事Pythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で触れた内容もありますが改めてそちらに含む内容も含めて書き直しています。 エントリーの執筆には@tk0miya氏から多大なフィードバックをいただきました。ありがとうございます。 基的なメンタルモデル現代的な使い方を見ていくために「Dockerを使ってビルドする」というのはどのようなものか考えを整

    2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ
    f_syumai
    f_syumai 2024/07/26
  • TypeScript/JavaScriptの不要なコードを削除するツール「Knip」の紹介 - ベースマキナ エンジニアブログ

    こんにちは、taroです! 今回は、ベースマキナのTypeScriptプロジェクトで不要なコードの検知・削除で使用しているKnipについて紹介します。 Knip とは Knipは、TypeScript/JavaScriptのコードベースの不要なコードを検出するCLIツールです。 以下が検出できる不要なコードの例です。 package.jsonのdependencies/devDependenciesの中で使われていないpackage exportされているがどこからもimportされていない変数、関数、型など 使用していないファイル その他、検出できる内容の一覧はこちらで確認できます。 またExperimentalな機能(2024年7月現在)として不要なコードの自動削除も可能です。 ちなみにTypeScript/JavaScriptの不要なコードの検出するツールではts-pruneも知ら

    TypeScript/JavaScriptの不要なコードを削除するツール「Knip」の紹介 - ベースマキナ エンジニアブログ
    f_syumai
    f_syumai 2024/07/25
  • Goで0秒待つとどうなるか - ベースマキナ エンジニアブログ

    こんにちは。yebis0942です。GoTypeScriptを書いています。夏祭りのおみくじで「待ち人来る」を引いたので、最近のちょっとした待ち事例についてご紹介します。 Goでタイムアウト時間を指定する関数を呼び出したとき、待機時間を0秒にすると何が起きるのか?という点が社内のレビューで少し話題になりました。 気になって調べてみたところ、同じ0秒のタイムアウト処理でも、内部の実装によって振る舞いが異なるケースがあることが分かりました。 よく見るタイムアウト処理 Go言語では、一定時間だけあるchannelを待つというタイムアウト処理は以下のように time.After() を使って書くことができます。 func timeAfter(c chan int, duration time.Duration) { select { case <-time.After(duration): //

    Goで0秒待つとどうなるか - ベースマキナ エンジニアブログ
    f_syumai
    f_syumai 2024/07/19
  • 第810回 Ubuntu 24.04 LTSの変更点 | gihyo.jp

    adwaita-icon-theme, baobab, evince, gdm3, gnome-bluetooth-3-common, gnome-calculator, gnome-characters, gnome-clocks, gnome-control-center, gnome-disk-utility, gnome-font-viewer, gnome-initial-setup, gnome-keyring, gnome-remote-desktop, gnome-session-bin, gnome-settings-daemon, gnome-shell, gnome-system-monitor, gnome-text-editor, gnome-user-docs, mutter-common, nautilus, orca, tecla, ubuntu-sessi

    第810回 Ubuntu 24.04 LTSの変更点 | gihyo.jp
    f_syumai
    f_syumai 2024/04/25
  • Node.js v22 で変わること

    2024/04/24 令和トラベルで発表した Node.js v22 で変わることの話です。

    Node.js v22 で変わること
    f_syumai
    f_syumai 2024/04/25
  • Fragment Composition of GraphQL

    Exploring the Implementation of “t.Run”, “t.Parallel”, and “t.Cleanup”

    Fragment Composition of GraphQL
    f_syumai
    f_syumai 2024/04/25
  • 権限管理は大事で、難しい。特に、管理画面においては。|Seiji Takahashi@ベースマキナ

    ありがたいことに継続的にご利用者様の数・ご活用頂く業務の幅が増え、積み上がるご要望に日々追いつくべく開発に邁進しております。 今回は先日ベースマキナがリリースした「ロール機能」に付随するお話です。 ベースマキナでは、以前から管理画面上で呼び出す処理ごとに、ユーザーやユーザーのグループ単位で実行を許可する機能があるなど、ガバナンス要求に答える機能を揃えてきました。 今回修正が行われたのはそれとは別のレイヤーで、ベースマキナ上の管理者向けの設定(接続先のデータベースやAPIの情報や、処理の登録、ユーザー追加など)を行う権限を細分化 & グルーピング設定を紐づけられるようにした、というものです。 この機能は成果物で見るとシンプルなのですが、権限管理にまつわる設計・開発はいつも魔物に立ち向かうようなもので、混迷を極めます。 そして、こと管理画面開発となるとその難易度は他の開発よりも高い、というのが

    権限管理は大事で、難しい。特に、管理画面においては。|Seiji Takahashi@ベースマキナ
    f_syumai
    f_syumai 2024/03/25
  • Keep a Changelog

    Version 1.0.0 # Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [1.1.1] - 2023-03-05 ### Added - Arabic translation (#444). - v1.1 French translation. - v1.1 Dutch translation (#371

    f_syumai
    f_syumai 2024/03/08
  • SaaSがオワコン化した2023年

    過去最速のスピードでユーザーも売上も獲得したChatGPTは、SaaSのGTM通念を根から覆した。当ニュースレター含め、業界の老害たちは「いやいやProduct Led Growthとかカッコイイけどね、結局はエンタープライズをやるなら営業組織を作らな…えええFortune 500企業の9割がもうChatGPT使ってるの⁉︎」と泡をうこととなった。 そんなChatGPTにもハプニングがあった。製造元OpenAIが11月に前代未聞のお家騒動を引き起こし、コーポレートガバナンス的アキレス腱を露呈した。キッシンジャー元米国国務長官も、11月末大往生する直前までAIが孕む地政的リスクを懸念していたが、技術の製品化スピードに、それ以外の側面が追いついていないことは明々白々である。EUはいち早くAIを規制する包括的法案を可決したが、その保守的すぎる姿勢は、引き続きシリコンバレーにおいて嘲笑の的とな

    SaaSがオワコン化した2023年
    f_syumai
    f_syumai 2024/01/02
  • 【翻訳】Prettier の新しい三項演算子のフォーマットを試してみてください

    この記事はAlex Rattrayさんの A curious case of the ternaries を、人の許可を得て翻訳したものです(タイトルは大幅に変えてしまっていますが)。 記事の最後にあるように Google Forms から新しい機能についてのフィードバックを求めています。私以外のメンテナーも読めるようにできるだけ英語で書いてほしいですが、「日語でなら書いてもいいよ」という人がいたら日語で書いてもらっても大丈夫です。 三項演算子のフォーマットは長年の課題でした。Prettier の v3.1.0 では新しいフォーマットのスタイルを導入することで、ついにこれを解決しました(訳注: 後述の通り、まだ experimental なので、--experimental-ternaries をつけたときのみ有効になります)。 このブログ記事では、これまでの経緯と背景、実際に触って

    【翻訳】Prettier の新しい三項演算子のフォーマットを試してみてください
    f_syumai
    f_syumai 2023/12/30
  • (オフライン)プログラミング仲間が欲しい - たにしきんぐダム

    ここ一年、自分の仕事がニッチな分野なこともあり(ビルドシステムやコンパイラ)基的に一人で仕事をすることが多い。さらにオフィスが国外にあるため出社ができずだいたいは物理的にもプロジェクト的にも一人で仕事をしている。 オフィスなどでコーヒーなどを淹れに席を立ったタイミングで多少似たような仕事をしている人と雑談するみたいな体験が恋しい。 (最近は近所のローソンで偶然あった友人WasmGCの話で盛り上がったのが良い体験だった) 同じ方向を向いている人と気軽に雑談できる空間っていいな、なんとかしてそういう場を作れないものか(オフィスのある会社に就職する以外で)

    (オフライン)プログラミング仲間が欲しい - たにしきんぐダム
    f_syumai
    f_syumai 2023/12/30
  • ECMAScript Record & Tuple polyfill はどのようにして実装されているのか | Wantedly Engineer Blog

    Record & Tuple とはRecord & Tuple は ECMAScript (JavaScript) に対する提案段階の機能で、構造化データのためのプリミティブ型を提供するというものです。RecordはObjectのプリミティブ版、TupleはArrayのプリミティブ版にあたります。 プリミティブとオブジェクトJavaScriptにおける値はプリミティブとオブジェクトの2種類に分けられます。 プリミティブはイミュータブルで、値の同等性にもとづいて比較されます。既存のプリミティブとして、null, undefined, number, string, boolean, bigint, symbol が存在しています。オブジェクトはデフォルトでは書き換え可能で、参照の同一性にもとづいて比較されます。これまで、複数のスカラー値をまとめて構造化データとして扱うには、オブジェクト (主

    ECMAScript Record & Tuple polyfill はどのようにして実装されているのか | Wantedly Engineer Blog
    f_syumai
    f_syumai 2023/12/29
  • IT系コミュニティをタダ飯狙いの不審者からどう守るべきか。あるイベントで発生した深刻な事案と提言

    タダ飯狙いでIT系コミュニティのイベントなどに入り込む人たちがいる、ということが少し前から話題になっている中で、実際に不審者がイベントに入り込もうとした事案がまた明らかになりました。 12月11日と12日の2日間、都内で開催されたコミュニティ主催の技術系カンファレンスで、おそらくは無料の事を目当てにした不審な人物らが侵入しようとした出来事が発生していたことがイベントの当事者の発言で示されています。 スタッフとして不審者に対応した一人である鍋島理人氏は、「勉強会参加者や運営に危害が及ぶほどの脅威であり、必要なのは不審者対策そのものだと認識を改めた。というか僕はそれぐらい怖かった」とポストし、今回の事態の大きさを吐露しました(鍋島氏は以前、翔泳社でDevelopers Summit(通称デブサミ)のオーガナイザーを勤めたこともある、イベントやコミュニティの運営に関して十分な知見を備えた人物で

    IT系コミュニティをタダ飯狙いの不審者からどう守るべきか。あるイベントで発生した深刻な事案と提言
    f_syumai
    f_syumai 2023/12/19
  • 漢は黙ってjQuery

    TSX First な Zero-Runtime SSG potato4d/dodai とその仕組み / owned static site generator #kyotojs

    漢は黙ってjQuery
    f_syumai
    f_syumai 2023/12/16
  • 作ってよかった graceful shutdown ライブラリ - c4se記:さっちゃんですよ☆

    qiita.comの 12/12 (火) です。 去る 12/2 (土) に Go Conference mini 2023 Winter IN KYOTO で「作ってよかったgraceful shutdownライブラリ」と云ふ事を喋りました。 event report は以下。 scrapbox.io ここでは喋った事を紹介します。 speakerdeck.com はてなでは Go を (も) 使って application を作ってゐます。或る時「Go の code は記述量が多い」事が話題になりました。その中の一つに、graceful shutdown を實現するのに、似た code を每囘長々と書いてゐる事が擧がりました。そこで graceful shutdown の記述を改善できないか探索する事にしました。 graceful に起動・終了するとはどう云ふ事か? と云ふ一般論は省略

    作ってよかった graceful shutdown ライブラリ - c4se記:さっちゃんですよ☆
    f_syumai
    f_syumai 2023/12/14
  • 斜に構えるタイプの人は変われるのか - Konifar's ZATSU

    ちょっと辛辣な話になってしまうかもしれないが、斜に構えた態度をとる人が"変わった"事例を見たことがない。どうしていくのがいいのか答えがないので雑に書いておきたい。先に書いておくと答えはここには書いていない! そもそも"斜に構える"というのはこういう意味らしい。 「斜に構える」は、もともと「剣術で相手(敵)に対して刀を下げて斜めに身構えること」から「改まった態度をとる」「おつに気取る・身構える」「物事に正面から対処しないで、皮肉な態度で臨む」ことをいいます。 「斜め[ナナメ]に構えている」は、「斜[シャ]に構える」では? | ことば(放送用語) - 放送現場の疑問・視聴者の疑問 | NHK放送文化研究所 程度によって変わる話ではあるが、「物事に正面から対処しないで、皮肉な態度で臨む」が自分の定義と近い。 過去に自分がだいぶ斜に構えているなーと感じたタイプの人には一定の特徴があった。 そつなく

    斜に構えるタイプの人は変われるのか - Konifar's ZATSU
    f_syumai
    f_syumai 2023/11/30
  • OSSで世界と戦うために - ゆーすけべー日記

    「日人」を理由にしたくないし、「コードは全世界共通語」なのは分かっているけど、自分が日人で日語を母国語としていることはOSSにおいて不利になる。 この2年間のHonoの開発をしてきた経験で分かったことだ。 そこに目を瞑ってはいけないし、自覚することで世界と戦えるかもしれない。今回はそのことについて書こうと思う。 8k 現在、HonoのGitHubスター数は8,000を超えた。 これはとんでもない数字なんだけど、もっと伸びるべきで、早く1万を超えなくはいけない。 npmのダウンロード数は週間「46,000」とこれは相対的に低く、こちらも伸びるべきである。 数字が全てではないが、こうした数字は昨今のOSSにとって「一番の」指標であることは確かだ。 だから戦うことはこの数字を伸ばすことである。 なぜ「戦う」のか なんで「戦う」というおっかない言葉を使い、そして戦わなくてはいけないのか。 ま

    OSSで世界と戦うために - ゆーすけべー日記
    f_syumai
    f_syumai 2023/11/01
  • GraphQLをServer Componentsで使いたい

    BARフロントえんどう #1 「フロントエンドリアーキテクト」で使用した資料です! https://cybozu.connpass.com/event/297123/

    GraphQLをServer Componentsで使いたい
    f_syumai
    f_syumai 2023/10/31
  • Announcing WinterJS · Blog · Wasmer

    Back to articlesAnnouncing WinterJSThe most performant JavaScript Service Workers server thanks to Rust and SpiderMonkey Follow up the WinterJS series reading about the recent production-ready WinterJS 1.0 release here. Today we are incredibly excited to announce WinterJS (wasmer/winterjs package). WinterJS is a JavaScript Service Workers server written in Rust, that uses the SpiderMonkey engine t

    Announcing WinterJS · Blog · Wasmer
    f_syumai
    f_syumai 2023/10/28
  • Deno Fest を開催しました

    2023年10月20日にとらのあなラボ社と Deno 社の共催で、Deno Fest というイベントを開催しました。開催の様子は YouTube の配信や 𝕏 のハッシュタグ #deno_festなどから確認できます。 Deno Fest 全セッションが終了しました。 登壇者、参加者の皆さん、ありがとうございました!! #deno_fest #deno #toranoana_deno #toralab pic.twitter.com/LEAfCovABo — 虎の穴ラボ (@toranoana_lab) October 20, 2023 開催のきっかけDeno 社では普段は全員がフルリモートで働いており、オフィスなどは持っていません。その代わり年に数回 Deno Offsite という社内イベントを開催していて、1週間メンバー全員が世界中から1つの場所に集まって、色々なトピックについて議

    f_syumai
    f_syumai 2023/10/26