タグ

2024年2月11日のブックマーク (48件)

  • 30種類のプログラミング言語で、ループ処理を書いてみた | フューチャー技術ブログ

    はじめにこんにちは。CSIG 所属の棚井です。 タイトルの内容が気になる方は、先に「こちら」をご覧ください。 ブログは、Go 1.22 Release Notes の内容を紹介する「フューチャー技術ブログ Go 1.22 リリース連載」7目の記事です。 Go 1.22 では、「澁川さんの記事」や「こちらの記事」にて取り上げられているように for ループのアップデート が入りました。アップデート分のうち、range over integer と range over function はこちらの issue(spec: add range over int, range over func #61405)に Proposal が記載されています。 記事ではこのうち、range over integer にフォーカスして取り上げていきます。 Go 1.22 range over int

    30種類のプログラミング言語で、ループ処理を書いてみた | フューチャー技術ブログ
  • Go 1.22リリース連載 vet, log/slog, testing/slogtest | フューチャー技術ブログ

    はじめにTIG 真野です。Go1.22連載の6目です。 Go 1.22のアップデートのツーリングのうち Vet と、ライブラリのマイナーアップデートである log/slog, testing/slogtest を取り上げて紹介します。 アップデートサマリVetでループ変数の変数キャプチャを検知しなくなった #63888Vetで slice1 = append(slice1) の操作を検知するようになりました #63888Vetで defer で time.Since() が呼ぶ操作を検知するようになりました #60448Vetで不正な log/slog なキーと値のペアを検知するようになりました #59407log/slog で SetLogLoggerLevel()が追加されました #62418testing/slogtestで Run() 関数が追加されサブテストの制御がしやすくなり

    Go 1.22リリース連載 vet, log/slog, testing/slogtest | フューチャー技術ブログ
  • Go1.22 リリース連載 HTTPルーティングの強化 | フューチャー技術ブログ

    はじめにGo1.22リリース連載 の5目です。 記事ではGoの標準ライブラリである net/http の ServeMux におけるルーティング周りの強化について取り上げます。 関連する Release Note と Issue はこちらを参照してください。 https://tip.golang.org/doc/go1.22#enhanced_routing_patterns https://github.com/golang/go/issues/61410 変更点HTTPメソッドの指定が可能にServeMux.Handle や ServeMux.HandleFunc を使用してハンドラを登録する際に GET /xxx のようにHTTPメソッド指定して、ハンドラを呼び分けることができるようになりました。 mux := http.NewServeMux() // GETを指定したハンドラ

    Go1.22 リリース連載 HTTPルーティングの強化 | フューチャー技術ブログ
  • Go 1.22 リリース連載 encoding, encoding/json | フューチャー技術ブログ

    はじめにCSIGの棚井です。 ブログは、Go 1.22 Release Notes の内容を紹介する「フューチャー技術ブログ Go 1.22リリース連載」の4目の記事です。 今回は encoding のアップデートを取り上げます。 encoding/base32,base64,hexencoding/jsonまた、ブログは release-branch.go1.22 での動作をベースとしています。 $ go version go version go1.22rc2 linux/amd64 encoding/base32, base64, hexTL;DR(1)encoding/base32, encoding/64, encoding/hex に、byte slice を利用したエンコード関数とデコード関数が追加されましエンコード関数: AppendEncodeデコード関数: App

    Go 1.22 リリース連載 encoding, encoding/json | フューチャー技術ブログ
  • Go 1.22リリース連載 archive/tar, archive/zip, bufio, io | フューチャー技術ブログ

    The Gopher character is based on the Go mascot designed by Renée French はじめにTIG 真野です。Go1.22連載の3目です。 Go 1.22のマイナーアップデートのうち、ファイルなどの入出力に関連しそうな archive/tar ・archive/zip・bufio・io を取り上げて紹介します。 アップデートサマリarchive/zip に Writer.AddFS が追加された #54898archive/tar に Writer.AddFS が追加された #58000bufio の Scannerが、SplitFunc が ErrFinalToken を返すときに即時停するようになった。従来は []byte{}を返していた #56381io の SectionReader.Outer() メソッドが追加された

    Go 1.22リリース連載 archive/tar, archive/zip, bufio, io | フューチャー技術ブログ
  • Go 1.22 リリース連載 slicesのマイナーアップデート | フューチャー技術ブログ

    The Gopher character is based on the Go mascot designed by Renée French はじめにTIGの辻です。Go1.22連載の2目です。 この記事では、マイナーアップデートから slices パッケージを取り上げて紹介します。 slices のアップデート内容 slice を連結する Concat() API が追加になった(#56353) slice の長さを小さくする関数で、破棄された slice の要素をゼロ値とする(#63393) Insert() で引数が範囲外の場合に、常に panic させる(#63913) slice を連結する Concat() API が追加になった(#56353)以下の API が追加になりました。渡された slice を連結して新しい slice を返却します

    Go 1.22 リリース連載 slicesのマイナーアップデート | フューチャー技術ブログ
  • 切り取り線 on X: "✄------------ PM 2:00 ------------✄"

  • ぼくがかんがえた、さいきょうのテキストコミュニケーション - Qiita

    はじめに この記事を書こうと思ったきっかけは、初めて参加したフルリモートのプロジェクトで、 ① 実装段階になって初めて、メンバー間の認識ズレが発覚 → ② 大幅な手戻り(設計からやり直し)が発生 → ③ 結果、スケジュールを遅らせざるを得ない状況に追い込まれる という個人的な経験からです。 振り返ってみると、チャットツール(teams)でのテキストベースでのコミュニケーションがほとんどで、 質問しやすい雰囲気をつくる!、 認識があっているか気軽に確認できる! という、テキスト・コミュニケーションが取れていなかった反省があります。 リモートワークでは質問や認識合わせを気軽にできる環境を作ることが重要! そのために必要なテクニックをご紹介します! テキストコミュニケーションの重要性 2022年111名の人に行われた調査では、 ハイパフォーマンスな人は、絵文字・顔文字を多用していることが分かりま

    ぼくがかんがえた、さいきょうのテキストコミュニケーション - Qiita
  • 開発チーム途中参画時の爆速キャッチアップ術 - Qiita

    はじめに 今までバスケをやってたけど、人数都合で突然サッカーチームに入れられた!! そーんなことってあるよね?笑(ないわ 当然ボールを蹴るとかの練習も必要だけど。。。 どうやったら、すぐにチームで活躍できるだろうか。。。 ↓ これのITエンジニア版について私の経験に基づく主観で呟きたいと思います。 対象とする読者 これから新チームに参加する人 チームに貢献したいと思ってる人 私のキャッチアップ談 私は、昨年社内で異動を経験しました。 もともとWebアプリは作ってましたが、クラウドベースのWebアプリ開発に挑戦してみたいと思い、自ら志願しました。 自分で望んだ異動ですが、配属直前は、 「そんなこともわからないんですか?」 といった失望の声が聞こえて来ないか、戦々恐々としておりました((((;゚Д゚)))) 実際はそんなことはなく、後述するアクションのおかげもあって、 1年もたたずに、チームの

    開発チーム途中参画時の爆速キャッチアップ術 - Qiita
  • ぬるいエンジニアの生態 - Qiita

    Qiitaで周りを見るとほんとすごい人ばっかりですよね。 しかし、凡百のエンジニアもいます。 私はとくに大手につとめているわけでもなく、さりとてイケイケスタートアップでもなく、AtCoderで色をもっているわけでもありません(※あったらいろいろはかどると思います)。 フツーなりに、「エンジニアになってみてよかった」、と思ってはいたりするので、ぬるいエンジニアの生態をご紹介します。 ロールモデルにはならないけどサンプルにはなるんじゃないかなー。 自己紹介 新卒から5年~くらい、北海道の中小企業につとめています。 北の大地にいると、「S県」などであらわされる匿名性がちょっとうらやましいです。 春からシーランド公爵(になる予定)! どうしてエンジニアを選んだのか 大学は地方国公立で、文系です。 完全に未経験からこの業界に入りました。 しいて言えばパソコンで遊ぶのが好きだったので、基的な操作はで

    ぬるいエンジニアの生態 - Qiita
  • Z80+C言語で16ビット機級の本格的なゲームが創れるゲーム機(VGS-Zero)を作ってみた - Qiita

    はじめに 2024年1月1日に VGS-Zero (Video Game System - Zero) という RaspberryPi Zero 2W のベアメタル環境で動作するオリジナルのゲーム機エミュレータと SDK を公開しました。 VGS-Zero は、RaspberryPi Zero 2W をテレビに HDMI ケーブルで接続し、USB ゲームパッドで遊ぶタイプ(据え置き型)の新しいゲーム機です。 無料でゲームを開発&販売ができる SDK も公開していて、開発したゲームを完全ロイヤリティフリーで自由に販売して頂くことができます。 なお、OS は Linux ではなく独自カーネルです。 特徴 VGS-Zero の特徴について、カーネル視点とゲーム機視点の両面から解説します。 独自カーネルの特徴 ラズパイ全般(※Picoを除く)は Linux で動かすのが一般的ですが、VGS-Zer

    Z80+C言語で16ビット機級の本格的なゲームが創れるゲーム機(VGS-Zero)を作ってみた - Qiita
  • HTMLにTypeScriptを書いてブラウザで直接実行できるって知ってた? - Qiita

    <!doctype html> <meta charset="utf-8"> <script async type="module"> import {transpile, ScriptTarget} from "https://esm.sh/typescript@5.3.3?bundle&target=esnext"; import {minify_sync} from "https://esm.sh/terser@5.27.0?bundle&target=esnext"; for(const {type, textContent} of document.getElementsByTagName("script")){ if(type !== "text/typescript" || !textContent){ continue; } const js = transpile(tex

    HTMLにTypeScriptを書いてブラウザで直接実行できるって知ってた? - Qiita
  • 【2024年】Webデザインのトレンド・参考サイトまとめ - Qiita

    はじめに IT業界では、デザインは単に「美」を追求すること以上の意味を持ちます。それは技術とユーザーを繋ぐ重要な橋渡しであり、印象的な「体験」を創出するための要素です。 Webデザインがその技術的な可能性を広げる一方、どのような「体験」を提供するかは需要に合わせて変化しています。そしてもちろん、流行り廃りもあります。 この記事では、現在のWebデザインのトレンドを解説し、参考となるサイトも併せて紹介していきます。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 トレンドの紹介 カスタムカーソル (出典:Developing a performant custom cursor) スクロールやクリックなどの基的な動作につ

    【2024年】Webデザインのトレンド・参考サイトまとめ - Qiita
  • 非デザイナーのための、ちょっと得する「色」のこと - Qiita

    はじめに 数年前から「デザインの民主化」「非デザイナー向けの〇〇」といったワードをよく見るようになりました。それに伴い、デザイナー不在でも制作ができる便利なツールも増えてきましたね。 ReactなどのUI制作に便利なライブラリが広く使われたり、Canvasを使ってのバナー制作を行う人も増えてきた印象があります。 一方で「たくさんあるテンプレートから何を基準に選べば良いのか分からない」「アレンジしたけど、なんだか上手くいかない」という人もいるのではないでしょうか。 「非デザイナー~」シリーズでは「知っているとちょっと得するデザインTIPS」や「話のネタになるデザイン豆知識」をお伝えしていこうと思います。 今回のテーマ「色」 デザインの構成要素にはいくつかの考え方がありますが、非デザイナーがUIやバナー制作で特に意識する必要があるのは以下の4つだと思います。 色 フォント オブジェクト(写真・

    非デザイナーのための、ちょっと得する「色」のこと - Qiita
  • プログラミング向けフォント「0xProto」の紹介 - Qiita

    「0xProto」フォントとは 「0xProto」フォントは、プログラミング向けのフォントです。文字の読みやすさを重視しています。 最初のリリースは2023年5月で、その後も何度かアップデートされています。 1.000:2023年5月 1.300:2023年10月、Nerd Fonts 3.1.1に含まれる0xProto Nerd Fontのベース 1.500:2023年12月 この記事は、0xProto 1.500をもとに書かれています。 プログラミング向けのフォントとは プログラミングにおけるフォント選択は、単なる見た目だけの問題ではなく、それ以上の意味があります。ソースコードが読みやすくなるようにデザインされているフォントを選ぶべきです。たとえば、以下のような観点があります。 インデントやコードの構造が見えやすいか。縦のラインが揃っていると見やすい場合が多いため、等幅フォントが好まれ

    プログラミング向けフォント「0xProto」の紹介 - Qiita
  • SameSite属性とCSRFとHSTS - Cookieの基礎知識からブラウザごとのエッジケースまでおさらいする - Flatt Security Blog

    こんにちは、 @okazu_dm です。 この記事は、CookieのSameSite属性についての解説と、その中でも例外的な挙動についての解説記事です。 サードパーティCookieやCSRF対策の文脈でCookieのSameSite属性に関してはご存知の方も多いと思います。記事でCookieの基礎から最近のブラウザ上でのSameSite属性の扱いについて触れつつ、最終的にHSTS(HTTP Strict Transport Security)のような注意点を含めて振り返るのに役立てていただければと思います。 前提条件 Cookieについて Cookieの属性について SameSite属性について SameSite属性に関する落とし穴 SameSite属性を指定しなかった場合の挙動 SameSite: Strictでも攻撃が成功するケース 例1: スキームだけ違うケース 例2: サブドメイ

    SameSite属性とCSRFとHSTS - Cookieの基礎知識からブラウザごとのエッジケースまでおさらいする - Flatt Security Blog
  • Interop 2024がスタート | フロントエンドBlog | ミツエーリンクス

    Interop 2022、Interop 2023に続き、Interop 2024の取り組みがスタートした旨を知らせる記事が、参加組織それぞれから一斉に公開されました。 Interop 2024 | Blog | web.dev The web just gets better with Interop 2024 | WebKit Interop 2024 Launch - Bocoup Interop 2024 Launches | Igalia Microsoft Edge and Interop 2024 - Microsoft Edge Blog Announcing Interop 2024 - Mozilla Hacks - the Web developer blog 加えて、既にInterop 2024 Dashboardが公開されています。Interop 2023より引き

    Interop 2024がスタート | フロントエンドBlog | ミツエーリンクス
  • 文字ときどきRuby / Character and Ruby (NSEG)

    MySQL徹底入門 第4版 - ユーザー管理とか文字コードとか / MySQL Book 4 - User and Charset

    文字ときどきRuby / Character and Ruby (NSEG)
  • YAPC::Hiroshima 2024へオンライン参加した - Magnolia Tech

    yapcjapan.org さすがに、オンライン参加だと一日中PCの前に張り付いて発表を聞き続ける、というのができないので、断片的にいくつかのトークやLTを聴いた 中でも「平成のエンジニアから令和のエンジニアへの遺言〜技術情報を伝達する手段の変遷〜」と、杜甫々さんのキーノートが良かった 40歳を超えると健康の話しかしなくなるw#yapcjapan— magnoliak🍧 (@magnolia_k_) February 10, 2024 マジで伝説の人だ… とほほでHTMLCSS学びました… #yapcjapan pic.twitter.com/XuqYoJ9PUA— Sotaro Karasawa🍺 (@sotarok) February 10, 2024 きっと後日ビデオが公開されると思うので、ぜひ見て欲しい、としか言えないのだけど、YAPCが毎年ちゃんと開催されていることが当に

    YAPC::Hiroshima 2024へオンライン参加した - Magnolia Tech
  • C# での破壊的変更の今後の扱い (続報)

    去年の3月にブログに書いたものの続報。 C# でも限定的に破壊的変更を許していこうかという話だったわけですが、 ちょっと具体化しました。 ある機能を実現するにあたって破壊的変更の原則と進め方についての話をしています。 破壊的変更の候補 C# 13 で導入したい field アクセス(自動プロパティのバッキングフィールドにアクセスするための field キーワード)と、 これまでに破壊的変更を避けるためにちょっと変な設計になっている var (型推論変数宣言)、_ (discard)が検討の対象になっています。 破壊的変更を認める基準 あくまで控えめな破壊的変更で、エンドユーザーに明確なメリットがある 破壊的変更を踏むようなコードは割かしレア 破壊的変更を起こす予定のコードはどういう理由でどこが問題で、どう直せばいいかが明確に示せる 破壊的変更を避けられるよう、完全に自動で、簡単で、堅牢で、

    C# での破壊的変更の今後の扱い (続報)
  • 継承はなんでダメ? - まめめも

    「オブジェクト指向の継承を使うな」という主張が広まっているようです。なんでダメになったんでしょうか。 インターネットで見かけた「継承はダメ」という主張をいくつか眺めて、友人と議論しつつ、考えてみました。 「コードが読みにくくなる」 継承があると、メソッド呼び出しが実際にどのメソッド定義を呼び出すのか字面でわからない。 デバッガを使って、親クラスのメソッドに飛んだり、子クラスに飛んだりするのを追いかけないと行けない。 つらい。という主張。 めっちゃわかる。わかるんですが、これは「高度に共通化されたコードは読みにくい」という一般的な側面がかなり大きいような。 たとえば継承の代わりに高階関数を使うと、関数呼び出しがどのクロージャに飛ぶか字面でわからなくなる。 ひどいとコールバック地獄になって何が何やらになります。 継承がことさらにまずい理由を想像すると、すべてのメソッド呼び出しがポリモーフィック

    継承はなんでダメ? - まめめも
  • Promise.withResolvers によるイベントの Promise 化 | blog.jxck.io

    Intro Promise.withResolvers() は、 Stage 4 であり ES2024 の候補となった。 すでにブラウザでの実装も進んでいるため、その活用方法を解説する。 イベントの Promise 化 JS では、非同期処理 API は長らくイベントリスナベースで定義され、それを組み合わせるフロー制御で処理されてきた。 しかし、 Promise が定義されて以降は、標準 API も Promise を返すようになり、 async/await によって処理されるのが一般的になってきた。 結果、イベントリスナベースの API を Promise 化するような場面も増えた。 例えば以下のようなものだ。 async function request() { return new Promise((resolve, reject) => { document.querySelect

    Promise.withResolvers によるイベントの Promise 化 | blog.jxck.io
  • ■ - hitode909の日記

    が家から保育園のミーティングに出るというので、子とカレーべに行って銭湯に行って、いちごミルクを飲んで、置いてあるを一通り読んで、ダラダラしてから帰ってきた。 21時ごろには一瞬ウトウトしていたけど、もうすぐ23時だというのに、まだ起きていて元気すぎる。 保育園ミーティングが終わったら、明日の工務店との打ち合わせに向けた家庭内打ち合わせをやりたかったのだけど、親のほうが先に眠くなっている。 子供と暮らすときに、騒音を気にしてマンションで暮らすんじゃなく、横や下に誰も居ない家に住みたい、という意見はよくありそうだけど、子がいると建てるべき建物について全然議論できない、という、タイミングがいいのか悪いのかわからない、謎な状況。人間の人生、家の入手、育児、のバランスが悪い。 タカラトミーの株主になってトミカをもらう夢があったのだけど、株価が上がりまくってて全然買えそうにない。2020年3月

    ■ - hitode909の日記
  • 私とテストと自動化と - あどけない話

    何度か講演でこの話をしたのだが、気が向いたのでエッセンスを書き下しておこうと思う。 テスト駆動という言葉が流行る前にプログラマとなった私は、当初どのようにテストを書いてよいのか分からなかった。そんなとき、(当時はオーム社で現在はラムダノートの)鹿野さんから「ビューティフルコード」を献していただいた。分厚いなので、興味ある章から読んでいった。その一つがアルベルト・サボイア氏が書いた7章「ビューティフル・テスト」だ。 ビューティフルコード (THEORY/IN/PRACTICE) 作者:Brian Kernighan,Jon Bentley,まつもとゆきひろオライリージャパンAmazon この章では、例として二分探索が取り上げられる。二分探索のアイディアが出されたのは1946年だが、バグのない実装ができたのは12年後だという。実際に実装してみると分かるが、ソートされた配列の中に目的の要素が

    私とテストと自動化と - あどけない話
  • オブジェクト初期化子中の ^ 演算子

    今日の C# 話はちょこっとした修正の話になります。 これまで new C { [^1] = 1 }; がコンパイル通らなかったみたいで、これが最近修正されました。 (Visual Studio 17.9 Preview 3 (1月17日リリース済み)の時点で実装されていました。 気づいてはいたけども、小さすぎてブログにするかどうか迷ってるうちに3週間ほど経過。) 以下のコードで示すような修正内容です。 // これがコンパイル エラーを起こす。 // (Visual Studio 17.9 Preview 3 以降を使うとコンパイルできるようになった。) var c = new C { [^1] = 1 }; // これなら昔からコンパイル通る。 // (オブジェクト初期化子はこれと同じコードに展開されるはずなのに。) c[^1] = 1; class C { // インデクサーと Len

    オブジェクト初期化子中の ^ 演算子
  • 私のJavaScriptの情報収集法 2024年版

    個人的なJavaScriptの情報収集の方法についてまとめてみます。 JSer.infoなどをやっているので、JavaScriptの情報については色々な情報源を見るようにしています。 JSer.infoの範囲の中での情報源については、次の記事でまとめています。 JSer.info 13周年: JavaScriptの情報源を整理する - JSer.info この記事では、少しスコープを広げてJavaScriptの情報収集についてまとめてみます。 かなりスコープが広がってしまうので、万人向けの方法ではなく、個人的な情報収集方法としてまとめています。 この記事では、膨大な情報の中から見つけるというアプローチをとっているので、人によって向き不向きがあると思います。 情報収集の方法 情報の元となる情報源はさまざまなサイトや人になると思います。 しかし、そのサイトや人ごとに見ていくというのはかなり大変

    私のJavaScriptの情報収集法 2024年版
  • セッション再開に関するTLS1.2と1.3の違い - あどけない話

    これまでTLS 1.3とセッションID方式は実装したことがあったが、この経験だけではTLS 1.2に対するTLS 1.3の利点に気づいていなかった。この二ヶ月の間に、セッションチケット方式を実装し、また引き継いだTLS 1.2のコードを大幅にリファクタリングした過程で、セッションの再開は、TLS 1.2よりもTLS 1.3の方が安全であると気づくことができた。備忘録として安全である理由を書いておく。 以下は、セッションID方式にもセッションチケット方式にも、共通している性質である。説明の都合で、セッションチケット方式を取り上げる。 TLS 1.2 TLS 1.2用のセッションチケット方式は、RFC 5077で定義されている。以下にRFC 5077からTLS 1.2のフルハンドシェイクの図を抜粋する。 Client Server ClientHello (empty SessionTicke

    セッション再開に関するTLS1.2と1.3の違い - あどけない話
  • 時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena

    この文章みてください。 オレはもう20年以上システム業界にいるけどな、その長い経験から言うと、オブジェクト指向なんてものは、理論としては面白いけど、およそ実用的とは言い難いものだな。まぁ、例えばGUIのコンポーネントとかはオブジェクト指向に基づいて作られているようだから、そういうツールとかを作る人には必要なものなのかもしれない。しかし君たちがいずれ作ることになる業務アルゴリズムにはまったく無縁のものだと思ってもらって間違いない。どうもこの業界、オブジェクト指向でなければダメ、というような風潮がまかりとおっているけどな、オブジェクト指向なんか当に使っている人はほとんどいないよ。オレも少し勉強してみたけど、カプセル化とかポリ何とかとか、どうにも利点が理解できなかったね。実際、実業務で使ったことなどないしな…… 「またお前、オブジェクト指向の話をしてるのか」と思ったかもしれませんが、2010年

    時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena
  • 【ジオ用語解説】等高線 - グラフィア - 地図や位置情報に特化したWebメディア「graphia(グラフィア)」

    等高線とは、地図上で同じ高さの地点を結んだ線のことを意味します。地形の起伏を表す手法として広く一般的に使われており、等高線を見ることで標高や地形の傾きを把握できます。 伊豆・大室山の等高線(出典:地理院地図) 等高線の種類 国土地理院の地形図の場合、等高線には大きく分けて主曲線(細い線)と計曲線(太い線)の2種類があり、等高線の途中には標高をメートルで示す数字(等高線数値)が入っています。例えば山頂の標高が347mの山で、山頂の下に標高300mの計曲線が入り、山頂と計曲線の間に4の主曲線が入っていたら、主曲線は10mごとに引かれていることになります。 等高線をもとに標高を読み取るには、知りたい場所の近くにある高い方と低い方の等高線を見てそれぞれの標高を調べた上で、どちらの等高線に近いかを確認して、おおよその標高を割り出します。たとえば知りたい場所が標高50mと40mの等高線の間にあり、お

    【ジオ用語解説】等高線 - グラフィア - 地図や位置情報に特化したWebメディア「graphia(グラフィア)」
  • contextのキャンセル時にtesting.T.Cleanupのようにクリーンアップ処理を実行できるパッケージdonegroupを作った - Copy/Cut/Paste/Hatena

    contextのキャンセルとそれに対応したクリーンアップ処理 Goにおいてcontextはさまざまな値を伝搬させるために使用します。その1つがキャンセル信号です。 ctx, cancel := context.WithCancel(context.Background()) defer cancel() contextを通じてキャンセル信号を送ることによって、そのcontextが伝播した関係するある種のcontextグループでキャンセルに対応した処理を行うことができます。 このcontextのキャンセルに対応した処理を、このエントリでは「クリーンアップ処理」と呼ぶことにします。 クリーンアップ処理の具体例: Graceful shutdown あるミドルウェア(プロキシサーバでもデータベースサーバでもよい)があったとして、そのミドルウェアにはメインの機能以外に「ログやメトリクスを定期的にま

    contextのキャンセル時にtesting.T.Cleanupのようにクリーンアップ処理を実行できるパッケージdonegroupを作った - Copy/Cut/Paste/Hatena
  • previs: 面倒なマークアップは AI にやらせる

    自分はフロントエンドのロジックを考えるのは得意なんですが、CSS は苦手です。 なので 自分は AI にコード変更を依頼して実行結果を目視でプレビューしつつ、その生成結果を受けいれるかどうかの判断だけすればよくね?と考えて、それを CLIとして実装してみました。 ボタンの色を書き換えるという簡単な例ですが、こんな感じで動きます。 主に React Component の修正をターゲットにしていますが、class(Name) を書き換えることを優先するプロンプトを与えているので、ロジックを保ちつつ、見た目を綺麗にするためのツールになっています。 実装した背景 vscode ターミナル上で画像を表示できる OpenAI API はgpt-4-vision-preview のモデルで画像をアップロードして認識させることができる これらを使って、vscode terminal で実行することを前提

    previs: 面倒なマークアップは AI にやらせる
  • TC39 に新設された Stage 2.7 について | blog.jxck.io

    Intro TC39 の Stage 2 と Stage 3 の間に、新たに Stage 2.7 が追加された。 これはなんだろうと思った人が、検索で辿りつけるよう、その経緯と目的をまとめる。 TC39 Stages TC39 は、 ECMAScript (つまりまあ JS) の新機能を議論する Task Group だ。 ここでは、比較的自由に新機能の提案がなされ、定期的に行われるミーティングでの議論や、実装からのフィードバックを経て、 Stage が上がっていく仕組みをとっている。 旧来の Stage は 0~4 まであった。ざっくり言うと以下のようなものだ。

    TC39 に新設された Stage 2.7 について | blog.jxck.io
  • #jsprimer week: 2024-02-05 - 2024-02-11

    先週のtextlint weekに引き続き、今週はjsprimerの開発に集中するjsprimer weekです。 目標としては、次のECMAScript仕様であるES2024に入るProposalが今週のTC39ミーティングで確定するので、それに合わせてjsprimerをどう更新するかを決めることです。 ECMAScript 2024の対応 · Issue #1706 · asciidwango/js-primer ES2024の変更はそこまで大きなものはこなさそうなので大丈夫そうですが、Node.jsの変更が多くなってるのでNode.jsでCLIアプリ · JavaScript Primer #jsprimerをどうするかをちょっと考えたいです。 markedjs v8へのアップデート · Issue #1694 · asciidwango/js-primer utils.parseA

    #jsprimer week: 2024-02-05 - 2024-02-11
  • ChatGPT に Ruby など他のプログラミング言語も実行させたい - ブログのおんがえし

    ChatGPT はたくさんの種類のプログラミング言語のコードを出力できますが、直接実行できるのは現状 Python のみとなっています。Ruby など他の言語も実行することはできないかと考えていました。 1つのアイデアとして思いついたのは ChatGPT に生成したコードを Ruby on Browser に渡す URL を生成してもらい、それをクリックするだけで実行できるようにするという方法です。これなら他の言語でも URL 経由で実行できる処理系なら応用できそうです。(現状は ChatGPT 4 でのみ実行可能な模様) 下準備 まず Ruby on Browser に URL 経由でコードを渡す方法を用意する必要があります。もともとクエリーパラメータ q= で渡せるのですが、文字数を短くするために lz-string という Javascript のライブラリを使っておりそのエンコーデ

    ChatGPT に Ruby など他のプログラミング言語も実行させたい - ブログのおんがえし
  • Node.jsで機能やパッケージの非推奨メッセージを通知する方法

    ライブラリやツールなどを作っているときに、特定の機能やパッケージを非推奨にする場合があります。 これらの非推奨はリポジトリ上のREADMEやIssueなどに書いても、利用者が気づかないことがあります。 そのため、利用者が気付けるように非推奨の機能やパッケージを使った場合に警告を出す方法を紹介します。 非推奨にはいくつかの段階があり、それに応じてやり方を変えられるので、それぞれの方法を紹介します。 パッケージの非推奨化: npm deprecate <package> <message> コードレベルの非推奨化: JSDocタグの@deprecated 実行時の非推奨化: process.emitWarning() パッケージの非推奨化: npm deprecate <package> <message> npmのパッケージレベルで、そのパッケージが非推奨であることを通知するにはnpm de

    Node.jsで機能やパッケージの非推奨メッセージを通知する方法
  • textlint v14をリリースしました

    textlint v14.0.0をリリースしました! リリースノート: textlint v14.0.0 · textlint 変更ログ: Release v14.0.0 · textlint/textlint textlint v14.0.0は、Node.js v18.14.0以降が必要になります。 Node.js 16は既にEOLなので、Node.js 16のサポートを終了しました。 古いNode.jsを使っている場合は、LTS(Long Term Support)版のNode.jsにアップグレードする必要があります。 Download | Node.js ユーザー向けの変更点 基的にはNode.jsのバージョンが18以降なら、特に影響がある変更はありません。 Node.js 16のサポートを終了 textlint v14はNode.js v18.14.0+が必要です。 Node.j

    textlint v14をリリースしました
  • 技術書の積読を避けるためにやっていること - Magnolia Tech

    ついつい技術書を買いすぎて、なかなか読めないまま次を買ってしまったりして、結局読まないままになる、というパターンに時々ハマっている。なるべくそうしないように厳選しているつもりなのだけど、それでもいわゆる積読が発生してしまう。 技術書に関しては、二つのルールを守るようにしている 紙のを買う 電子書籍の方が圧倒的に便利なのは分かっているのだけど、やはり物理的な「圧」が有った方が読もうという気になるので、技術書は可能な限り紙ので買うことにしている 一度に読むを限定する 机の上に無印良品の仕切りスタンドを置いてあって、ここに収まる以外は同時に読まないようにしている 読み終わったら、棚のと入れ替え MUJI 無印良品 スチロール仕切りスタンド・ホワイトグレー 3仕切・大・約270×210×160mm 02856410 MUJIAmazon 無印良品 アクリル仕切りスタンド 3仕切り・約1

    技術書の積読を避けるためにやっていること - Magnolia Tech
  • 週刊Railsウォッチ: aws-sdk-rubyの全gemにRBSファイルが追加ほか(20240207後編)|TechRacho by BPS株式会社

    こんにちは、hachi8833です。RubyKaigi 2024開催まであと4か月ですね。 書きました RubyKaigi 2024の予習をしに沖縄に行ってきた | うなすけとあれこれ https://t.co/lhmOsw7QCF — うなすけ (2/17 高専DJ部#39) (@yu_suke1994) January 28, 2024 週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早

    週刊Railsウォッチ: aws-sdk-rubyの全gemにRBSファイルが追加ほか(20240207後編)|TechRacho by BPS株式会社
  • 週刊Railsウォッチ: Pumaのデフォルトスレッド数変更、Rails 1.0をRuby 3.3で動かすほか(20240206前編)|TechRacho by BPS株式会社

    こんにちは、hachi8833です。Railsガイドを7.1.3向けに更新しました。 #Railsガイド Rails 7.1 が、2024年1月16日にリリースされた Rails 7.1.3 に対応しました🆙🎉 今後もRailsの動向に合わせ、最新のガイドをお届けできるよう励んでいきます📕✨ note 記事はこちら👇https://t.co/i1MkYcriuQ pic.twitter.com/noN3VxC7Uy — Railsガイド 📕 (@RailsGuidesJP) January 24, 2024 週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hac

    週刊Railsウォッチ: Pumaのデフォルトスレッド数変更、Rails 1.0をRuby 3.3で動かすほか(20240206前編)|TechRacho by BPS株式会社
  • 2024-02-05のJS: TypeScript 5.4 Beta、Learn Testing/Performance、Interop 2024

    JSer.info #679 - TypeScript 5.4 Betaがリリースされました。 Announcing TypeScript 5.4 Beta - TypeScript クロージャーにおけるNarrowing結果の改善、NoInfer Utility Typeが追加されています。 また、ES2024のObject.groupBy/Map.groupByをサポート、Import Attributesのサポートが追加されています。 そのほかには、target: "ES3"やoutオプションなどを非推奨として、次のTypeScript 5.5で削除されることがアナウンスされています。TypeScript 5.5で削除されるオプションは、次のIssueにまとめられています。 Feedback: 5.0 deprecations · Issue #51909 · microsoft/T

    2024-02-05のJS: TypeScript 5.4 Beta、Learn Testing/Performance、Interop 2024
  • GitHubのMerge Queueとは何か?それと、認識しておきたいこと - Mitsuyuki.Shiiba

    同僚に「GitHubのMerge Queueってあんまり知らないんだけど、どう思う?」って聞かれて「あー。僕もあれよく分かってないんだよね」って返事をして、ちょうどいい機会なので見てみた 見てみた感想としては、いくつか気をつけておきたい点があるけど、チームの開発の進め方にうまくはまれば便利な機能だな、という感じ(なんでもそうか・・・) Merge Queueって? 2023年の7月にGAになったGitHubの機能 プルリクエストをマージするときに「マージ先のブランチ(ベースブランチ)の最新の変更を取り込んでからChecks(つまりCI)を実行して、それが成功したらマージしといて!」ってお願いできる便利機能。名前のとおりQueueになっているので複数のプルリクエストからenqueueできて前から順番に処理してくれる そうは言われても最初に説明を見た僕は「???」状態だった。「なんでこんな機能

    GitHubのMerge Queueとは何か?それと、認識しておきたいこと - Mitsuyuki.Shiiba
  • アメリカでソフトウェアエンジニアの職を探した - pco2699’s blog

    はじめに 前提 アメリカで働くためのビザ 業務経験 2023年のアメリカのテック業界の状況 具体的な就活のステップ ソフトウェアエンジニアのインタビューで求められることの抽象的な理解 レジュメ Job Descriptionから逆算してレジュメを作る 一枚におさめる 数字を用いてスケールとビジネスインパクトを示す なるべく隙間を埋める フォーマット添削ツールにかける レビューを受ける ネットワーキング・リファラル 応募する アメリカの就活はNumber Game 採用のトレンドを追う 時期を見計らう Linkedinで最新の求人を見つける方法 Promotedをすべて非表示にする "Most Recent"順にする 検索クエリを工夫する 設定をブックマークする 時間を決めて巡回する コーディングインタビュー対策 アルゴリズムの地図を脳内に作る 大学やCouseraでアルゴリズムの授業を取る

    アメリカでソフトウェアエンジニアの職を探した - pco2699’s blog
  • 最近自分がADHD対策でやっていること|牛尾 剛

    私はADHDで短期記憶が最悪で、とても気が散りやすい。些細なことかもしれないが、人にしてはなにやってもめっちゃくちゃ効率わるいし、やる気になるまで相当時間がかかる。よくあるのは休日に「これやらなきゃ」とか思ってスイッチがはいるのが夕の前ぐらいで、夕が始まるからそれも終了…ということもしょっちゅうある。 ADHDの特性の出方はかなり個人差があり、環境によってなにが「困りごと」になるかも様々だから他の人がどんな感じかわからないけど、集中力がクソほどなくて、効率が悪い自分にとって、働きやさ・生きやすさにつながった対処法を紹介したい。 自分が手を動かす前にメモを書く 自分にとってはとても有効な方法で、特に仕事するときとかそうだけど、今から自分が何をするのかの箇条書きを初めて、そこに書かれた通りに作業をする。だから自分は会社に着いたらその日にやることを書きだす癖をつけている。いきなり作業をやり

    最近自分がADHD対策でやっていること|牛尾 剛
  • このホストの講習めちゃくちゃ為になるな→「ホストっていうより、営業職全般に言えることかな」

    めんたいつよし @mentaitsuyoshi @poisoncookie00 ホストっていうより、営業職全般に言えることかな。 それより、先輩に言われて1時間もらって、1ページしか読まない人がいることに驚愕だわ。 2024-01-29 00:14:20

    このホストの講習めちゃくちゃ為になるな→「ホストっていうより、営業職全般に言えることかな」
  • 【ChatGPT】面倒なことはアウラにやらせよう - 本しゃぶり

    ChatGPTは自分オリジナルのGPTを作ることができる。 それを好きな時に呼び出すこともできる。 つまり、こういうことができる。 おわり GPTsの正しい使い方 去年の11月にChatGPTでは、誰でも簡単にカスタマイズされたチャットボットを作れるGPTsという機能が追加された。挙動を自然言語で指示し、名前とアイコンを付けたら完成する。しかも自分だけでなく、他のユーザーに公開することができる。俺もしゃぶりの知識を覚えさせたAishabriを公開してみた。 chat.openai.com OpenAIとしては、様々な目的に特化したGPTsを作ることを想定しているらしい。例としてOpenAIが作成したGPTsがいろいろ公開されているが、データ分析や文章構成など、実用的なGPTだらけだ。 OpenAIChatGPTチームが作ったGPTsの例 GPTsはいろいろと可能性がありそうな機能だが、

    【ChatGPT】面倒なことはアウラにやらせよう - 本しゃぶり
  • 時間記録はいいぞ 〜Focus To-Doで充足感あふれる毎日を〜 - necco note | necco inc.

    2023年、私はneccoでCTO兼フロントエンドエンジニアをしながら、専門学校の外部講師をつとめ、さらにを一冊書き上げました。そのかたわら、STUDIOのユーザーフォーラムにTips記事を投稿したり、個人開発アプリをメンテナンスしたりもしていました。そして主婦として、毎日、自炊や洗濯などをこなし、老の介護も行っていました。私よりも忙しそうな人はたくさんいるものだとは思うものの、1日が24時間しかない中で、これらの膨大なタスクをこなすのは私にとって大変なことでした。 そんな私の支えになっていたのが「時間記録」でした。その内容はシンプルで、やるべきことをリストアップしたら、そのタスクごとにかかった時間を計測、記録していくというものです。 身体が「べたもの」で作られるとしたら、人生は「やったこと」で作られると思っています。時間を記録していくことで、毎日の自分の行動を可視化できるようになり

    時間記録はいいぞ 〜Focus To-Doで充足感あふれる毎日を〜 - necco note | necco inc.
  • プログラミングの終焉と生存戦略|k1ito

    この文章は何: 近年の生成AIブームにより、革命的なまでにプログラミングという仕事の形は変わることが予想され、実際、今までにない速度で世界が効率化され様々なサービスがローンチされていく中「使う側」としても「作る側」としても「IT業界(特にSaaS業界など)での生存」は難しくなっているように感じます。正解を知っていたらとっくに僕は大儲けをしているわけですが、当然わかるはずもなく生存戦略に苦しむだけの中での寝言です。 まとめと結論めいたもの:AI技術の発展により「プログラミング」と呼ばれる「人間の仕事を機械に引き継ぐ行為」のほとんどはゼロコストで行えるようになり、少なくとも今ほどの価値や競争優位の源泉とはならないだろう。今やるべきは、AIを自社の競争優位の源泉とするべく、まるで人材投資のようにAIへの引き継ぎ書を書くことと、AIの研修制度を作ることかもしれない。 プログラミングという仕事の終焉

    プログラミングの終焉と生存戦略|k1ito
  • 「できない理由」を並べる人々は、とりあえず無視して構わない。

    コンサルタントをやっていた時、「できない理由」を並べ立てる人々に数多く出会った。 彼らの習性として「新しい何か」には、ほぼ「忙しい」と反対する。 また、リスクばかりを強調し、その打開策は探そうとしない。 例えば、こんな具合だ。 企画「今年の方針発表にもあった通り、お客さんにサービスの満足度についてヒアリングをしたいのですが。」 営業「いや、今すぐは忙しくて無理ですよ」 企画「社長からは「すぐに」と言う話だったと思いますが……、なぜですか?」 営業「ただでさえ目標がキツイので。目標達成に影響が出ます。」 企画「そうですか。では、我々が動くので。営業の方は何もしなくていいですよ。」 営業「いや、それも困ります。」 企画「なぜですか?」 営業「お客さんを混乱させてしまうかもしれないからです。」 企画「具体的には?クレームが来る、という事でしょうか?」 営業「まあ、そうかもしれません。」 企画「か

    「できない理由」を並べる人々は、とりあえず無視して構わない。