
この記事を読んで1Rustユーザーとして思ったことを書いた。 全体を通して WASM固有の問題にハマってしまっている Rustをスクリプト言語と同じ枠で見てしまっている の2点が辛さの原因であると感じた。 前者について、この方はフロントエンドにRustを使っているようだがここは確かに整備が行き届いてない分野でWASM特有の問題とJSとのFFIの辛さがもろに感じられて辛いと思う。 割となんでもかんでもRustを使う自分であってもWebフロントエンドにはおとなしくTSを使うようにしている(ただ、dioxusはホットリロードを開発中だったりと結構頑張っているようなのでいつかはRustでフロントエンドも現実的になるかもしれない)。 後者について、この記事では全体的に「JSやPythonではこんなに簡単だったのにRustでは難しい/エラーが出る」という評価が多いが、これは後述するようにRustが提供
覚えることが多い 初心者の主観ですがRustが難しい理由はこれに尽きると思います。初心者の感想として覚えることの多さについて書いていきます。 ちなみに、覚えることは多いですが、全部覚えなくても全然やっていけますし、見返りは大きいのでそのことについても書きます。 メモリ管理が難しい? よくRustが難しい理由として真っ先にに挙げられるのがメモリ管理です。しかし、これは実はそうでもないということが使い始めると分かってきました。 というのも、Rustの特徴である所有権とか借用とかライフタイムとかはメモリ管理を意識しなくてもいいようにするためのガーベージコレクションに代わる仕組みなのです。例えば私のようにWebフレームワークを使ってWebサーバーを立てるような型にはまったプログラミングを行うときは、ほとんど意識する必要がありません。 独自の言語仕様が多い 先に書いたメモリ管理だけでなく、エラー処理
0. 前書き - リモートデスクトッププロジェクトとの悲しき邂逅 私がremote-desktop-rsというクロスプラットフォームのリモートデスクトッププロジェクトを始めたとき、Rustの評判を信じていた。「メモリ安全性とパフォーマンスの素晴らしい組み合わせ」「優しいコンパイラエラー」「素晴らしいエコシステム」——本当にそうだったのか? 1. 学習曲線は「少し急」ではなく「エベレスト級」 「所有権の概念を理解すれば、あとは簡単です」と言われ続けた。嘘だ。絶対に嘘だ。 1.1 所有権地獄 私はcommon/src/lib.rsで単純な「ビルド情報」構造体を作成しようとした: // 素晴らしい所有権システムと戦った結果の姿 pub fn build_info() -> BuildInfo { let build_date = chrono::Local::now().format("%Y-%
はじめに こんにちは。CANARY Cloudソフトウェアエンジニアの久嶋です。 今回は自分の提案がきっかけでAntonboom/nilnil(以降nilnil)に「3つ以上の連続するnil値を検出するオプション」が追加されたのでその過程と追加されたオプションの使い方を紹介します。 tl;dr nilnilでreturn nil, nil, ..., nilのような3つ以上の連続するnil値を検出できるようになった golangci-lint経由で呼び出す場合はgolangci-lintの設定ファイルに次のようにonly-two: falseを指定することで有効化できる golangci-lint@v2.0.0以降で利用可能 ここからは上記の機能提案の経緯を説明します。 直面していた課題 CANARY Cloudでreturn nil, nil, nilのようなコードが原因で限られた状況に
【東大理3合格】ChatGPT o1とDeepSeek R1に2025年度東大受験を解かせた結果と答案分析【採点協力:河合塾】 「ロボットは東大に入れるか」 国立情報学研究所 新井紀子教授を中心としたプロジェクトチームが取り組んだプロジェクトの終了から10年経たず、生成AIの発展により東大合格の夢は現実味を帯びてきました。 そこで、今回は昨年に引き続きChatGPTと、「DeepSeekショック」で話題になったDeepSeekに東大の入試問題を解かせてみました! ChatGPTは日本最難関である東京大学に合格できるのでしょうか。 河合塾様に答案の採点協力をいただきました。ありがとうございました。 本記事では東大入試を実際に解かせてみた結果と答案分析によって分かったそれぞれのAIの特徴、河合塾の講師の方からのコメントなどを紹介させていただきます! 本記事はかなりの長文です。下記の目次を参考に
はじめに Gitで管理するプロジェクトには.gitというディレクトリがあり、その中にGitの管理情報が入っている。その中には、全てのコミットや、いろんなバージョンのファイル、ブランチ、タグといった情報が格納されている。Gitを操作するにあたり、この中身がどうなっているかを理解する必要はないし、もし中身を覚えたとしても、操作方法は変わらないまま、内部実装だけ変更になる可能性もある。それでも、Gitの仕組み、特に様々な情報が.gitにどのように格納されているかを知っておくのは二つの理由から有用だと考える。 一つ目の理由は、「物が動く仕組み」を知っておくことが教養だからだ。車を運転するのに、アクセルを踏めば進み、ブレーキを踏めば止まり、ハンドルを回せば曲がることを知っていれば十分だ。しかし、シリンダーにガソリンが噴射され、ピストンで圧縮したところで点火し、爆発する力でピストンが押される、という直
Devinにランチを注文させるとどうなるか検証してみました。 1日目 牛めしが2つ届く初日は「牛丼を注文して」と依頼しました。事前にUber Eatsにログインしていたのと、注文までの流れをSlackで伝えたためか、スムーズに進みました。 しかし、袋を開けると牛丼が2つ入っていました。 なぜDevinは牛めしを2つ注文してしまったのでしょうか。原因を探るべくログを漁ったところ、原因は認識ミスだったことが分かりました。一度牛めしをカートに入れたあと、なぜか一度戻り、またカートに入れていたのです。 一度カートに入れることに成功しているが・・・右上のカートアイコンの①に気付かず、もう一度カートに入れようとしている ちなみに「なぜ2つ注文したのか?」とDevinに聞いたところ、Devinは原因を正しく理解しておらず、適当な理由を創作していました。 その様子はDevinの日記に書かれているので、気に
東京でタクシー運転手になるためには、東京の地理について出題される「地理試験」に合格しなければいけないらしい。これは、東京の地理をどのくらい理解しているかを確かめるための試験だ。 なにやらおもしろそうなので、みんなで集まって問題を解いてみた。 タクシー運転手が受ける「地理試験」とは? タクシー運転手になるためには、普通二種免許という免許が必要なのは、皆さんご存知だとおもう。通常は二種免許を取得し、タクシー会社に入社すればタクシー運転手として仕事ができる……のだが、東京、神奈川、大阪の特別指定地区の場合、国土交通省の国家試験である「地理試験」というものを受験し、合格しなければいけない。 地理試験は、通りの名称、交差点の位置と名称、ランドマークや各種施設などの位置と名称、高速道路の出入口などの位置と名称などから、全40問が出題され、32問以上正解すれば合格となる。 地理試験問題集、1冊930円で
はじめに AWS Aurora MySQLを利用したシステム開発において、フェイルオーバーへの対応は避けて通れない課題です。特にGolangでコネクションプーリングを使っている場合、フェイルオーバー発生時に思わぬトラブルに見舞われることがあります。 今回は、あまり知られていないRejectReadOnlyオプションを使って、この問題を解決する方法をご紹介します。 フェイルオーバー後のDNS更新とコネクション問題 AWS Auroraでフェイルオーバーが発生すると、クラスター内のリーダーノードがライターに昇格し、DNS情報が更新されます。 しかし、アプリケーション側のコネクションプールには古いDNS解決結果に基づいたコネクションが残っているため、以下のような問題が発生します アプリケーションは古いDNS情報に基づいて接続先を選択 書き込み処理が(現在はリードオンリーとなった)旧ライターに送信
この記事について Go1.23によるイテレーター導入から半年以上が経ち、Go1.24では標準パッケージにイテレーターを用いた関数・メソッドが登場するなど、イテレーターはGoのエコシステムの中に徐々に馴染んできているように思います。 今後も利用シーンが拡大していくだろうと予想されるイテレーターについて、本記事では イテレーターを使ってforループを記述すると何が嬉しいの? push型とpull型のイテレーターがあるけど、どのようなときにどっちを使えばいいの? (チャネルとgoroutineを用いたコードとイテレーターって何が違うの?) という部分を解説し、利用者視点でのイテレーターへの理解を深めることを目的としています。[1] 使用する環境・バージョン go version go1.24.0 darwin/amd64 読者に要求する前提知識 イテレーターとは何かという基本的な部分については理
2013年から運営していたwebメディア「fabcross」が2025年3月31日をもって閉鎖されることになりました。 これまでご愛読いただいた読者のみなさまに感謝をお伝えしたいと思い、このnoteを書いています。 こういったことは本来であればfabcrossに載せたほうがいいのですが、fabcrossが利用しているクラウドサーバも3月末で解約(=すべての記事が閲覧不可になる)とのことで、こちらにアップした次第です。 fabcrossはメイテックというエンジニア派遣の会社が新規事業として2013年に立ち上げ、後に紆余曲折を経てブランディングと社員採用の広告ツールとして運営してきました。 いわゆるオウンドメディア的な立ち位置に近い形態ではありましたが、フラットに情報を伝える方針のもと、ウィークデーは毎日更新し、一般的なWebメディアと変わらない体制で運営。編集とは別に校正を置くなど、最近のW
弟がリアル農家なので「Farming Simulator 25」を一緒にプレイしてみた。農家目線での本作の完成度はいかに? ライター:ありみち リアルな農場体験ができる大規模農業シミュレーションゲーム「Farming Simulator 25」(PC / Mac / PlayStation 5 / Xbox Series X|S)は,実在メーカーの農機を操縦したり,農業だけでなく畜産や林業にも取り組めたりと,幅広い遊び方が楽しめる「Farming Simulator」シリーズの最新作だ。 「Farming Simulator」は,シリーズファンやシミュレーションゲーム好きには愛されている作品だが,ニッチなジャンルということもあり,日本のゲーマーのあいだでは知名度はそこまで高くなかった。 しかし,2025年3月に入ったころから著名なストリーマーのあいだで本作がプチ流行し始めると,その動きが次
TL;DR Pythonの型チェッカーを一人で作っていたらそれが仕事になりました。 私は(大学院生として物理学を専攻する傍ら)以前よりプログラミング言語やその周辺ツールのデザイン・実装に興味があり、趣味で開発したプロジェクトをOSSで公開するなどしていました。 ErgはPython APIと互換性を持つトランスパイル型の静的型付け言語で、pylyzerはこれの型検査器を流用したPython向け型チェッカーです。 ありがたいことに両方とも結構反響を受けて、公開から数年経っても未だにissueなど報告をいただいております。これはもう少し大きな話にできるのではないかと考え、Ergの開発の方で2023年度の未踏IT人材発掘・育成事業に応募し、運よく採択され、スーパークリエータにまで認定していただきました。 これだけでもかなりの僥倖ですが、それだけではなく、今年の3月からcontract softw
はじめに こんにちは。宮永です。 最近X(Twitter)やYouTubeで「公衆電話でダイヤルアップしてみた」のような投稿をよく見かけます。令和の時代になぜかブームが来ているようです。そこでダイヤルアップ接続ブーム(?)に乗って、「PPPサーバを立てて公衆電話から自宅にダイヤルアップ接続してみた」ブログを投稿します。 今回はUbuntuサーバと入手が容易なアナログモデムを用いてダイヤルアップサーバを構築し、実際に公衆電話から接続してみるところまでやります。 ちなみに、本来ダイヤルアップの接続先は契約したISPです。ニフティは2024年1月現在もダイヤルアップ接続サービスを提供しているため、多くの「ダイヤルアップ接続してみた」投稿では接続先として使われていることが多いようです。 開発環境 作業は以下の環境で行いました。汎用的な作業しか行っていないので、異なっていても問題ないことが多いと思い
特定非営利活動法人 日本ラジオ博物館 Japan Radio Museum 当館は「おうち平和ミュージアム」に参加しています |お問い合わせ | リンク集 | 図書案内|博物館(松本)案内|活動方針|ENGLISH | |公式ブログ|X(Twitter)|note公式|Instagram| |重要なお知らせ|NPO法人について| あけましておめでとうございます 旧年中は大変世話になりました。 おかげさまで念願のNPO法人化もできました。 今年はラジオ放送100年の節目の年。 当館にとっても飛躍の年になるよう、努力してまいります。 本年もよろしくお願いします。 ごあいさつ 1925年(大正14年)にラジオ放送が始まってからテレビが普及する1960年(昭和35年)頃までの約35年間、ラジオは家庭の情報、娯楽の中心でした。 また、真空管を使った電子回路の最初の応用製品でもあるラジオセットの歴史は
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く