並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 7545件

新着順 人気順

Rustの検索結果161 - 200 件 / 7545件

  • GitHub - Dhghomon/easy_rust: Rust explained using easy English

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

      GitHub - Dhghomon/easy_rust: Rust explained using easy English
    • Rust を ChatGPT だけで勉強する【実験記録】

      C++ 経験者が、ChatGPT との対話だけで Rust を学んでみる実験の記録です。 期待した回答が得られなかった際には、質問文を変えたり、回答を再生成したりしています。 AI の回答には不正確な情報が含まれている可能性もあります。不正確な技術情報が拡散しないよう、AI の回答は画像で掲載しています。

        Rust を ChatGPT だけで勉強する【実験記録】
      • Node.js の原罪 - from scratch

        Intro ちょうどタコピーの原罪が流行ってるのでこのタイトルにしたけど結構気に入ってる。 d.potato4d.me この話を読んでの感想とここまで大きくなった Node.js の振り返りをしようと思う。 どんなプログラミング言語であってもみんなから使ってもらって開発者をハッピーにしたいと思ってる。ただ最初は良かったと思ってた機能がなんか古臭くなったり、他にクールな機能を持ったものが登場したことによって徐々に飽きられていき、最終的に他の言語に乗り換えられる。 まぁどんな言語も同じだと思う。C言語だって生まれた当初はすごくクールでみんなをハッピーにしてた。今丁度「戦うプログラマー」を読んでるが、C++が出てきて、周りのエンジニアが C++ を使おうとするシーンが出てくる。そこで、「あんなの使って何が良いんだ、Cで十分だろ」とWindows NT 開発リーダーのデーブカトラーが言ってたりする

          Node.js の原罪 - from scratch
        • 軽量RustフレームワークTauriでデスクトップアプリ開発をはじめよう | gihyo.jp

          TauriはRustで書かれた軽量なGUIフレームワークで、Windows、macOS、Linux向けのデスクトップアプリを開発できます。2022年6月に最初の安定版であるバージョン1.0がリリースされました。 Tauriでは、メインプロセスはRustで記述しますが、UI(User Interface)にはWeb技術を利用します。ReactやVue.jsのようなJavaScriptフレームワークがそのまま使えるので、インタラクティブで見栄えの良いUIを簡単に構築できます。同種のフレームワークにElectronがありますが、後発であるTauriにはインストーラのサイズを小さくできるなどの強みがあります。 Tauriのロゴは、おうし座の二重星であるシータタウリ(θ Tauri)をモチーフ[1]にしており、Webとネイティブアプリの相互作用を意味しています。 図1 Tauriロゴ 本稿では、Ta

            軽量RustフレームワークTauriでデスクトップアプリ開発をはじめよう | gihyo.jp
          • 実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは

            ゲーマー向けの無料音声テキストチャットアプリケーション「Discord」を開発、提供するDiscordは2020年2月5日(米国時間)、アプリケーションを支える基盤サービスの一つである「Read States」をRust言語で再実装し、その結果サービスのパフォーマンスが大幅に向上したと公式ブログで明らかにした。 Read StatesサービスはこれまでGo言語で実装されていた。それにもかかわらず、なぜRead StatesをRustで再実装しようとしたのか、どのように再実装したのか、再実装によってどのようにパフォーマンスが向上したかを解説した。 Rustで再実装した背景とは Read Statesサービスの目的は、Discordユーザーがどのチャンネルのどのメッセージを読んだのかを追跡することだ。つまり、ユーザーがDiscordに接続したり、メッセージを送信したり、メッセージを読んだりする

              実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは
            • C++の後継目指すプログラミング言語「Carbon Language」、Googleの技術者が実験的公開。C++は技術的負債で改良が困難と

              Googleの技術者Chandler Carruth氏らは、C++の後継を目指す実験的なプログラミング言語として「Carbon Language」(以下、Carbon)をGitHubで公開しました(Chandler Carruth氏のツイート)。 GitHubのドキュメントでは、C++が性能を重視するソフトウェア開発において主流のプログラミング言語である一方、言語そのものにおいて数十年にわたる技術的負債が蓄積されていることなどにより段階的に改良していくことが極めて困難になっていると指摘。 一方で、GoやSwift、Kotlin、Rustを始めとする優れた開発者体験を提供する多数のモダンな言語は、C++の代わりに採用する、あるいはC++の開発から移行するには、プログラミング言語の違いや性能のオーバーヘッドなど障壁が多すぎるといった課題があるとも指摘しています。 そこでC++の段階的な改善では

                C++の後継目指すプログラミング言語「Carbon Language」、Googleの技術者が実験的公開。C++は技術的負債で改良が困難と
              • iTermをやめてWarpというモダンターミナルアプリを導入したら、生産性がやはり爆上がりした件

                Warpとは Warpとは、多くの便利な機能と最新のコードエディタのような操作感が実現されている非常に高速なRustベースのターミナルで、モダンなUIで利用体験も良く、生産性を上げられそうなアプリケーションです。 以下公式サイトもしくは、Homebrew経由でインストールできます。個人であれば、無料で利用することができます✨(2023年8月現在、Mac OSのみ対応しており、Windows版は開発中) 初回起動時はGithubのサインインが求められたり、簡単な質問に答える必要があります。ただ、導入自体はサクッと進めることができたり、Zshがデフォルトのシェルとして設定されているので、手間がかからないのも有り難いですね。 ■ 公式 ■ Homebrew iTermからの卒業 わたしは今まで、主にiTermを使ってターミナル操作を行ってきました。 ただ、iTermのデフォルト設定では、Mac内

                  iTermをやめてWarpというモダンターミナルアプリを導入したら、生産性がやはり爆上がりした件
                • 1年半のソフトウェアエンジニア長期インターンで出会ったオススメ本をたくさん紹介します - Qiita

                  イントロ ABEJAアドベントカレンダーの4日目に一昨日飛び込みました、長期インターン生の佐藤(Twitter: @TodayInsane)です。 去年は機械学習を通して、TWICEというK-POPグループへの愛を語りました。 ABEJAには昨年4月、「本当に何も出来ないけど、休学してプログラミングとかエンジニアの経験を積みたいんです」という何とも不安な主張をするぼくを受け入れていただきました。 この1年半のエンジニア / リサーチ両インターンの過程で出会った良い本をどしどし紹介します。 ちなみにインターン開始時は プログラミング、Pythonだけならちょびっと書けます!(ABCのB問題とか機械学習ライブラリの写経) HTMLってどんな風になってるんですか?(?) サーバ...??リクエスト...?? JavaScript、名前は聞いたことあります 英語の論文しんどい、2時間ぐらいかけてI

                    1年半のソフトウェアエンジニア長期インターンで出会ったオススメ本をたくさん紹介します - Qiita
                  • Cloudflare Workers 面白い - ゆーすけべー日記

                    追記 Cloudflare Workers向けのWebフレームワークを作っているので、そちらを是非チェックしてみてください! honojs/hono: Ultrafast web framework for Cloudflare Workers. Fast, but not only fast. Cloudflare Workers が面白い。面白いので、いくつか簡単なアプリを作ってみた。例えば、そのひとつが Slack Bot で「yusukebe++」とかやるとインクリメントされるやつ。 今回は Cloudflare Workers の面白さについて解説する。より興味のある方がいれば、上記のコードを参考にしてもらうといいだろう。 Cloudflare Workers とは? Cloudflare の CDN エッジでスクリプトが動くのが Cloudflare Workers。いわゆる

                      Cloudflare Workers 面白い - ゆーすけべー日記
                    • 自作RDBMSやろうぜ!(Zenn出張版)

                      Disclamer 本記事は自作DBMSやろうぜ! のページの 22/05/27 JST 22:38 の時点での内容をZenn記事向けに修正して作成したものです 元コンテンツのライセンスについては以下をご参照ください LICENCE 元コンテンツの方は更新が継続されていますので、よろしければそちらもご覧ください この記事の目的 RDBMS(いわゆるリレーショナルデータベース)というものはプログラミング言語の処理系や、OSなどと同様に、世の中で広く使われているソフトウェアであるにも関わらず、いざ自作してみようと思うと日本語で記述されている必要な情報・情報源がまとまったサイトやブログ記事がないことに気づきました そこで、叩き台として、筆者および数名のコミッタで開発している自作RDBMSである SamehadaDB が軌道に乗るまでの経験をベースに、自作RDBMSに関する情報をある程度整理して書

                        自作RDBMSやろうぜ!(Zenn出張版)
                      • Goで作るテキストエディタ - Sansan Tech Blog

                        はじめに みなさんこんにちは。Sansan事業部プロダクト開発部のiOSエンジニア荒川です。 以前はRDBMSの記事*1を寄稿し、好評いただいたこともあり、定期的に車輪の再発明系の記事を書いていこうと思います。 さて本日はタイトルの通り、VimやEmacsに代表されるターミナルで動作するインラインテキストエディタをGoで開発してみました。 ソースコードは以下のリポジトリに置いているため、ぜひ参考にしてください。 github.com 完成品 文字だけだとイメージも湧きにくいので、まずは完成品をお見せします。 最低限エディタの動きは出来ている、というレベルの完成度ですね🙏 特徴 1000行インラインエディタ 文字入力/挿入/削除 画面スクロール キーボードショートカット ファイル読み込み/保存 Goのコードハイライト機能 実装の方針 今回はただ開発するだけではなく、いくつかのこだわりポイン

                          Goで作るテキストエディタ - Sansan Tech Blog
                        • ゲーム製作で最初に試みない方がいいn個のこと – 東京工業大学 ロボット技術研究会公式ブログ

                          東京工業大学 ロボット技術研究会公式ブログ 東京工業大学の公認サークル「ロボット技術研究会」のブログです。 当サークルの日々の活動の様子を皆さんにお伝えしていきます。たくさんの人に気軽に読んでもらえると嬉しいです。 どうもこんにちは。14の らりお と申します。 この記事は春の新歓ブログリレー19日目の記事です。進捗どうですか! このブログを読んでいる人には、ロ技研に入りたい人も、入るか迷っている人も、関係ない人もいることと思います。この記事では、ゲーム製作やプログラミングに興味がある新入生(ゲーム製作初心者)に向けて、私の試みと後悔と、そこから得た微妙な教訓を綴ります。 題して『ゲーム製作で最初に試みない方がいいn個のこと』です。 ケーススタディ 入出力ライブラリから作ろうとする やろうとしたこと: std::iostream のインターフェースで、透過的に圧縮・展開を行う I/O ライ

                          • 6x6リバーシの神 - まめめも

                            絶対に勝てない6x6リバーシを作りました。あなたは黒番、AIが白番です。 絶対に勝てない6x6リバーシを作りました! ぜひ挑戦してみてくださいhttps://t.co/Ul5n3q9jMp— Yusuke Endoh (@mametter) December 30, 2021 これは何? 6x6の盤面のリバーシは後手必勝 *1 であることが知られています。 このAIは白番(後手)で完璧にプレイします。つまり黒番のあなたは絶対に勝てません。無力感を楽しんでください。 技術的な話 このAIはWebAssemblyになっているので、全部あなたのブラウザの上で動いてます。真のサーバーレスです。 AIのソースコードはRustで書きました。わりと堅実なゲーム木探索になってます。UIは普通にTypeScriptとthree.jsで実装しました。 github.com 作った順に説明します。 盤面の表現

                              6x6リバーシの神 - まめめも
                            • 2023 年に読んでよかった本

                              2023 年に読んでよかった本 2023.12.30 年末なので 2023 年のまとめっぽい記事を書きたくなりました。今年は 1 年間でおおよそ 300 冊の本をよんだようです(そのうち 3 割ほどはラノベなのですが...)。その中でも特に印象に残った本を紹介します。 年末なので 2023 年のまとめっぽい記事を書きたくなりました。 今年は 1 年間でおおよそ 300 冊の本をよんだようです(そのうち 3 割ほどはラノベなのですが...)。その中でも特に印象に残った本を紹介します。 忘れる読書 この本では「本は忘れるために読んでいます」と語られています。というわけでこの本の内容もあまり覚えておりません(?)。 本を読むときには一字一句正確に覚えるような読み方をしていると、「覚えなきゃ」という気持ちが芽生えてしまい、本を読むことが苦痛になってしまうことがあります。そうではなくて、パラパラとペ

                                2023 年に読んでよかった本
                              • AdobeがFlash Playerの配布と更新を2020年12月31日に終了、期限後はFlashコンテンツ実行をブロック

                                Adobeが、2017年に表明した2020年末をもってFlash Playerの更新と配布を終了する方針を、改めて公式サイトで明らかにしました。サポート終了日を過ぎると「Flash Playerでコンテンツの実行がブロックされる」ようになるとのことです。 Adobe Flash Player End of Life https://www.adobe.com/products/flashplayer/end-of-life.html Adobe Flash Playerサポート終了 https://www.adobe.com/jp/products/flashplayer/end-of-life.html かつてはネットで動画を見られるサイトではFlash Playerが広く用いられてきましたが、2015年にYouTubeがムービー再生の初期設定をHTML5に変更。 YouTubeがFla

                                  AdobeがFlash Playerの配布と更新を2020年12月31日に終了、期限後はFlashコンテンツ実行をブロック
                                • シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita

                                  はじめに ことの始まりは「シェルスクリプトでツールを作ったけど速度が遅くて使い物にならなかったので供養」というツイートを見たからです。コードを見てみると、実例をあまり見ないシェルスクリプトのリファクタリング例として丁度良い内容と分量だったため記事にいたしました。記事を書くにあたりコードの利用を快く承諾していただいた @Hayao0819 様にはこの場を借りて御礼を申し上げます。 内容は章立てで構成しており、序章で事前調査をし、第一章で一般的なリファクタリング、第二章でパフォーマンスを重視したリファクタリング、終章で少し余談をして締めくくっています。最初はパイプは並列処理されるから速くなるというのは神話(そうとは限らない)についても書いていたのですが流石に長いので分けました。それでも書きたいことを色々書いていたらめちゃくちゃ長くなってしまいましたので読み物として私がどんなことを考えながらリフ

                                    シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita
                                  • 大学でRustを教えた話 - 未完成な論を綴るブログ

                                    このブログ記事は、Advent Calender 2020, Rust 3、23日目の記事となります。自分は現在大学で教員をしていまして、セキュリティ系の研究室に所属しています。現在はセキュリティの講義を担当しており、そこでRust言語を教えているため、その内容を紹介しようと思います。 はじめに 皆さんご存知のようにソフトウェアの脆弱性は今でも大きな問題となっていますが、それを完全ではないにしろ根本から解決するための技術的手法として型システムが注目されています。型システムの考え自体は古くからありますが、最近ではRust言語が登場し、OSなどいわゆる低レイヤーなソフトウェアも型システムの恩恵を預かることができるようになってきました。SMTソルバや定理証明などと言った難しい(かつ面白い)手法でC言語やC++言語で書かれたソフトウェアを解析する方法もありますが、セキュアソフトウェアを語る上では、

                                      大学でRustを教えた話 - 未完成な論を綴るブログ
                                    • RustCoder ―― AtCoder と Rust で始める競技プログラミング入門

                                      AtCoder のジャッジシステムを利用しながらプログラミング言語 Rust について解説します.C++ や python のような他の言語に触れたことのないプログラミング初心者でも読めるよう努めています.更新履歴は github ( https://github.com/fiveseven-lambda/zenn/commits/main/books/rust-atcoder ) から見られます.内容に関するご意見やご指摘などは,プルリクエストか twitter ( https://twitter.com/57tggx ) で遠慮なくお願いします.カバー画像: GRAPHY 筧様

                                        RustCoder ―― AtCoder と Rust で始める競技プログラミング入門
                                      • 🚀 プロンプトを超絶おしゃれにする Starship を紹介 - Qiita

                                        公式: https://starship.rs GitHub: https://github.com/starship/starship Starship はプロンプト(ターミナルに表示されるカレントディレクトリやユーザーの情報) のカスタマイズを行うプラグインのようなもので、特徴としては 公式より引用 Starship is the minimal, blazing fast, and extremely customizable prompt for any shell! The prompt shows information you need while you're working, while staying sleek and out of the way. Rustで作られているために高速に動くそうです。 インストール Macであればとても簡単に、

                                          🚀 プロンプトを超絶おしゃれにする Starship を紹介 - Qiita
                                        • 【重要】学習・開発で必ず確認するべきOSS

                                          はじめに 今回の記事では、プログラマーが学習・開発を円滑に進めるために知っておきたいOSSを紹介する。特に開発されているアプリケーションに焦点を当てて紹介する。今回の記事では、主に著者の得意分野や興味のある分野に絞って確認するべきGitHubリポジトリを紹介する。 紹介する分野は主に以下の通り。 Web Android Flutter 学習・開発でOSSを使うメリット プログラマーが学習・開発でOSSを使うメリットは以下の通り。 ソースコードを通して、開発したいアプリケーションの具体的なイメージや自分に足りないもの(必要な知識や言語等のスキル)を理解できる 自分が普段学習・開発で使っている言語の活用事例を確認できる アプリケーションの構造や開発フローを理解できる 確認が必須であるWebサイト OpenSourceAlternative.to 世界中のオープンソースのアプリケーション(特に有

                                            【重要】学習・開発で必ず確認するべきOSS
                                          • ゲームでよくある「NATタイプ」はどう判定しているの?

                                            はじめに 家庭用ゲーム機などのネットワーク設定で「NATタイプ」というのを見たことがある人は多いと思います。 これはオンラインマルチプレイなど通信を行うゲームをする際、ゲーム機器同士で通信可能かどうかを見極める目安として使われます。 本記事では、このNATタイプをどのように判定するのか、 RFC 5780 ベースで簡単に説明します。 この記事はDeNA Advent Calendar 2021の8日目の記事です。 なぜNATタイプの判定を行うのか 一般的なクライアント/サーバモデルの通信であれば、そもそもNATタイプが何であるか気にすることはないと思います。 では、家庭用ゲーム機などがなぜNATタイプを判定するのかというと、「P2Pが成立するかどうか」を見極めるためです。 P2Pで通信を行う際は、NAT(NAPT)が存在する場合、いわゆる「NAT越え」が必要になります。 NATがあると、イ

                                              ゲームでよくある「NATタイプ」はどう判定しているの?
                                            • 株式会社ゆめみサーバサイドコーディング試験模試(2023年度版)の回答例とフィードバック例 - Qiita

                                              はじめに 株式会社ゆめみでは、採用時にコーディング試験を課しています。 2023年5月中旬より、数年間内容を更新せずに利用してきたこのコーディング試験の内容を刷新、合わせて模試も新しいものにすることとしました。(※まずは2025年度新卒採用から変更しますが、順次展開する予定です。) この記事では、2023年度版のサーバサイドコーディング試験の模試の内容、およびそれに回答があった場合にゆめみがどういう観点でどういうレビューを実施するかをまるっと全部解説します。 過去のコーディング試験の目的とレビュー観点はこちらを御覧ください。 刷新した理由 5年以上同じ問題を利用してきて、準備されたテストケースの通過率がほとんどの人が90%以上となってしまったこと。 応募者のレベルが上ってきたことに合わせて、より難易度を上げないと差別化が難しくなってきたこと。 【New!!】本試験もChatGPTに回答でき

                                                株式会社ゆめみサーバサイドコーディング試験模試(2023年度版)の回答例とフィードバック例 - Qiita
                                              • 年収1000万円を超えるエンジニアが知っておくべき最低限の各言語の特徴 - Qiita

                                                初めに、そして結論 本当は冒頭にこういう言い訳がましいことを書くのは好きではないのだが、例によってディスり成分が多めなので、筆者はそういうキャラということでそこは目を瞑って欲しい。実体験に基づいて書くので業務上あまり触ってこなかった言語については記載が少ないが、読者のみなさんが詳しいことや私の記述で事実と異なる部分については謝罪して訂正したいのでプルリク、コメント等熱望している。あと筆者はサーバーサイドエンジニアであってフロントの事が全然わからんのでその辺はさっぴいて読んでほしい。結論から言うとRustを使え。 古生代 アセンブラ以外の高水準プログラム言語の歴史は1950年代から1であるが、筆者の実体験に基づいて話をするので'80年代まですっ飛ばす。 N88-BASIC N88といえばN88-BASIC(86)を思い浮かべる読者が多いと思うが、筆者はPC-8801mkIIユーザーだったので

                                                  年収1000万円を超えるエンジニアが知っておくべき最低限の各言語の特徴 - Qiita
                                                • 開発に使える脆弱性スキャンツール - NTT Communications Engineers' Blog

                                                  この記事は、 NTT Communications Advent Calendar 2022 7日目の記事です。 はじめに こんにちは、イノベーションセンター所属の志村と申します。 「Metemcyber」プロジェクトで脅威インテリジェンスに関する内製開発や、「NA4Sec」プロジェクトで攻撃インフラの解明・撲滅に関する技術開発を担当しています。 今回は「開発に使える脆弱性スキャンツール」をテーマに、GitHub Dependabot, Trivy, Grypeといったツールの紹介をさせていただきます。 脆弱性の原因とSCAによるスキャン 現在のソフトウェア開発は、多くのOSSを含む外部のソフトウェアに依存しています。Python、Go、npm など多くの言語は、様々なソフトウェアをパッケージとして利用できるエコシステムを提供しており、この仕組みを利用してOSSなどのコンポーネントをソフト

                                                    開発に使える脆弱性スキャンツール - NTT Communications Engineers' Blog
                                                  • VSCode のおすすめ拡張機能 2023年度版

                                                    株式会社ゆめみの 23 卒 Advent Calendar 2023の4日目の内容です。 2022年のはじめに自分の開発環境を紹介する記事を投稿したのですが、思いのほか読んでいただいているので2023年度版を作成しました。 今回は拡張機能編です。キーバインドなどは後日公開します。 今年1年間で JetBrains 製品や、neovim を使ってみたりしましたが、紆余曲折あり現在は VSCode に落ち着いたのでいつかその辺りも紹介出来ればと思います。 VSCode 関連記事 下記にキーバインドや設定周りの記事リンクを追加していきます 汎用的な拡張機能 BracketLens 右括弧の左側にスコープの情報が表示されるようになる。 ChangeCase 選択範囲のテキストの case を変更することが出来る CodeSpellChecker スペルチェッカー EditorConfig .edi

                                                      VSCode のおすすめ拡張機能 2023年度版
                                                    • 浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記

                                                      お近づきになりたい人向けシリーズです。 いろいろなトピックを詰め込みましたが、「これら全部を知らないといけない」のようなつもりではなく、いろいろなことを知るきっかけになったらいいなという気持ちなので、あまり身構えずにちょっとずつ読んでもらえたらうれしい気がします。 まえがき 予備知識 規格 用語 精度という語について 記法 表現について 有限値の表現について エンコードについて 丸めについて よくある誤差や勘違いの例 0.1 = 1 / 10? 0.1 + 0.2 = 0.3? 整数の誤差 Rump’s Example 基本的な誤差評価 用語に関して 実数の丸め 有理数の丸め 基本演算の丸め 差について 複数回の演算 補題たち 桁落ちについて Re: Rump’s example 融合積和 数学関数に関する式の計算 誤差の削減に関して 総和計算 数学関数の精度について 比較演算について 雑

                                                        浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記
                                                      • プログラミングに必要なブレイクスルー

                                                        Yoyo Code (Matyáš Racek's blog)より。 ソフトウェアの開発方法を劇的に変えるには、いくつかのブレイクスルーが必要だと感じています。ブレイクスルーといった場合、それは大きなブレイクスルーを意味します。例えば、「構造化プログラミング」のブレイクスルーのようなもので、プログラミングに対する私たちの考え方を完全に変えてしまうようなものです。ここでは、それに関するいくつかの見解とアイデアを紹介します。 グルーコードや定型文を書くのは無駄だ 私が書くコードのほとんどは、面白いことはするわけではなく、定型文か、サブシステム同士を繋ぐための糊のようなものです。この種のコードは、すでに何度も書かれていて、これからも何度も書かれるような気がします。それなのに、なぜまた書かなければならないのでしょうか? 問題は、コードがかなり異なっていることで、通常は既存のコードをそのまま使うこと

                                                        • オンラインドキュメントと日本語全文検索

                                                          自社では Sphinx というドキュメントツールを利用しているのですが、残念ながらこれに付属している検索機能の日本語検索はかなり厳しいです。また残念ながら Sphinx 開発側も検索周りを改善するという予定は直近ではないようです。 そして検索というのはとても難しい技術なため自分のような素人では導入して「普通に期待する動作」をさせるまでの距離はとても遠いです。 ただ、なんとかして日本語全文検索を実現したいという思いはここ10 年くらいずっと思っていました。これは自社の Sphinx テーマを作ってくれている社員ともよく話をしていたのですが、どうしてもリソースをつぎ込めずにいました。 まとめ日本語検索に対応している Meilisearch を採用したドキュメントスクレイパーの実行は GItHub Actions (Self-hosted Runner) を採用した自社 Sphinx テーマの検

                                                            オンラインドキュメントと日本語全文検索
                                                          • 二分木 - Rustではじめるデータ構造とアルゴリズム(第1回)

                                                            Rustの特徴のひとつは、所有権(ownership)・移動(move)・借用(borrow)の概念です。これらがコンパイル時に厳格にチェックされることにより、古くから未定義挙動でプログラマを悩ませてきたダングリングポインタなどの問題がなくなり、メモリ安全性がもたらされます。 しかし一方で、自分で多少複雑なデータ構造を定義しようとする場合にはコンパイルを通すだけでもかなりの知識・力量が要求されます。 この(不定期)連載では、 Rustではじめるデータ構造とアルゴリズム と題し、プログラミングコンテストなどでよく見かける基礎的なデータ構造とアルゴリズムを、できるだけシンプルにRustで実装していきます。 &, &mut, Box, Rc, Cell, RefCell などの使い分けや、なぜそれを使う必要があるかの解説を、実例を通して行います。 第1回は、最もシンプルな木構造である 二分木 を

                                                              二分木 - Rustではじめるデータ構造とアルゴリズム(第1回)
                                                            • sudoとsuがRustで書き直される。メモリ安全性向上へ

                                                                sudoとsuがRustで書き直される。メモリ安全性向上へ
                                                              • 自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理

                                                                切り替える理由 自社の主力製品で利用している技術(WebRTC / WebTransport)がブラウザベースのため TypeScript を利用する Go を採用したのは sqlc が使いたかったという理由 sqlc-gen-typescript が出てきたのでもう Go を使う理由がなくなった 自社サービスチーム全員が Go にまったく興味が無い sqlc 自体は便利 そもそも自社に Go への興味がある人がいない 自社サービスの規模ではボトルネックになるのはデータベースであって言語ではない もしアプリでスケールが必要なときは Rust や Erlang/OTP に切り替えれば良い コネクションプールは PgBouncer を利用すればいい TypeScript からは 1 コネクション 1 接続で問題無い どうせフロントエンドでは TypeScript を書く 自社では React

                                                                  自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理
                                                                • マネジメントの極意は「自分のことは棚にあげる」こと, MacBook Pro M1 Max を 1 週間使ってみての感想 - HsbtDiary(2022-02-04)

                                                                  ■ マネジメントの極意は「自分のことは棚にあげる」こと タイトルは https://qiita.com/jnchito/items/0a0b46106681f41f2f0e のインスパイアです。 昔エンジニアなどをやっていた時に、マネージャや上司から何かコメントを受けると「とは言っても、このコードも書けないのにさあ」というような気持ちになった経験から、自分が実際にマネジメントをする立場になると、「は〜、React とかあまりわからんので方針とか出しにくいなあ」となって止まってしまうことがあります。 昨今のソフトウェアエンジニアリングは幅も深さも異次元のレベルまで広がっているので、全てのことをマネジメントが実践できるというのは正直無理な話です。自分ができることしかマネジメントできないなら、ソフトウェア開発の世界では何もできないのに等しいです。 そこで必要なことは「自分のことは棚にあげる」です

                                                                  • 50代のフルスタックエンジニア - nunulkのプログラミング徒然日記

                                                                    はじめに この記事について 以下の記事を読んでわりと「うんうんわかるわかる」と思いながら読みましたが、50歳に至るまでの間にもうひとつ別の景色も見えてきていたので、そのあたりを一度言語化してみようという試みです。 note.com フルスタックとは 上記記事へのブコメには「フルスタック」と書きましたが、自分としてはあまりフルスタックと名乗りたくない、という気持ちはありまして、普段は「ウェブアプリケーションエンジニア」と自称しています。 ただ、今回は、元の記事に合わせるために本記事における「フルスタック」の定義を定めておきます。 以下の領域の技術を理解し使える インフラ アプリケーションが動作するサーバや協調するミドルウェア バックエンド サーバーサイドのアプリケーションに用いる言語やライブラリ フロントエンド クライアントサイドのアプリケーションに用いる言語やライブラリ すべてを理解してい

                                                                      50代のフルスタックエンジニア - nunulkのプログラミング徒然日記
                                                                    • Scalaはもうだめなのか?…というかJVM言語がもうだめじゃん?|sugitani

                                                                      AndroidのためのJava/Kotlinはスコープ外とします まず断っておくと、俺はScalaが好きだ。 自分が作ったScalaプロダクトは二個現存している。うち一つはまだまだ自分が開発している。というか今は会社を作って1人でプロダクトを作っている身なのだが、それもScala3+ZIO2でゴリゴリ書いている。 でも残念、もうScalaというかJVM言語がオススメできません。TypeScriptかGoかRustをオススメします。 どういうこと?まずこの記事を見ていただくのが一番分かりやすい。 https://aws.amazon.com/jp/builders-flash/202310/java-serverless-saas-backend/?awsf.filter-name=*all 素晴らしいエントリーだ。読みに行かないせっかちな方のために概要を紹介する JavaプロダクトをAWS

                                                                        Scalaはもうだめなのか?…というかJVM言語がもうだめじゃん?|sugitani
                                                                      • どのようにTypeScriptを使うのか - uhyo/blog

                                                                        現在、TypeScriptの重要性は、フロントエンド開発を中心としてますます増すばかりであります。それだけに、TypeScriptをどのように使うべきかという問題については多様な意見が見られます。 これまで筆者はTypeScriptの使い方に、特にコンパイラオプションの使い方について意見を散発的に発信してきましたが、このたび記事にまとめました。この記事では、特に次のような意見に対しての反対意見を述べます。 厳しいコンパイラオプションは型パズル愛好者のためのものであり、普通の人は細かいことを気にせず緩い設定でよい。熟練のJavaScript使いにはTypeScriptは必要ない。例え話最近はTypeScriptを補助輪に例えたりするのが流行っていますので、この記事でも例え話をしてみます。筆者の考えでは、TypeScriptというのは例えるならば料理人が使う包丁のようなものです。コンパイラオプ

                                                                          どのようにTypeScriptを使うのか - uhyo/blog
                                                                        • Macの端末をいろいろ検討した結果iTerm2になった

                                                                          執筆時(2021年7月)の結論はiTerm2でしたが、その後(2021年10月)にkittyへ変更しています https://zenn.dev/link/comments/042910c9f19999 Macで開発をするうえで、基本的には標準のterminal.appを使っていました。 特に不足を感じていなかったのですが、先日の記事で「True colorに対応していない」という弱点が発覚しました。 これに伴い、ターミナル系アプリをいろいろ比較した結果を残しておこうと思います。 ターミナルのカタログとしてお使いください。 あと、自分がマイナスを感じて使用を止めてしまったものもあるのですが、あくまで個人的な感想ということでよろしくお願いします。 作業記録(Zenn Scrap)はこちら Alacritty Rust製ターミナルです。爆速らしいです。 ただかなり思想が振り切っていて、タブ機能な

                                                                            Macの端末をいろいろ検討した結果iTerm2になった
                                                                          • なぜRustなの?と言われた時のために

                                                                            20 秒で概要 当記事では、Rust における以下の 4 つのいいところを特徴を紹介します。 他の言語と比較しながらコンセプトを学ぶことで、なぜ今 Rust を学ぶべきかを理解できます。 Rust はメモリ安全な言語です Rust はリッチな型システムがあります Rust はエラー処理が分かりやすい Rust は健全なコミュニティの有るエコシステムです また以下のような、Rust 学習における最初の一歩のお手伝いもします。 環境のセットアップ 写経に適したチュートリアルの紹介 躓きポイントの紹介 Rust のいいところ Rust はメモリ安全な言語です。 これまでのメモリ管理手法 プログラミング言語によるメモリ管理には、これまで 2 種類の方法が有りました。 プログラマが全責任をもって管理する 例)C 言語 char *str; int length = 100; // 100byte(半

                                                                              なぜRustなの?と言われた時のために
                                                                            • Reactを使うならReact Developer Toolsの再レンダリング時ハイライトくらい設定してくれ

                                                                              モダンフロントエンドについて初めて書きます。お手柔らかに。 最近 React と Next.js に入門したのですが、入門時点で一番最初に知っておきたかったことについて書きました。 「React 初心者が useState とかを学習する前にまず一番にやることはこれ」っていう内容です。。 タイトルは自分への戒めです。 TL;DR この記事を読むと React Developer Tools の簡単な使い方を知り、useState の再レンダリングについて動きがイメージできるようになると思います React Developer Tools これのこと。React を使った開発をするのであれば、必ず導入しないといけないレベルのもの。 再レンダリング時ハイライトの設定 React Developer Tools をインストールした後、F12 を押下して Component を選択この歯車を押下す

                                                                                Reactを使うならReact Developer Toolsの再レンダリング時ハイライトくらい設定してくれ
                                                                              • SSH and Git, meet 1Password 🥰 | 1Password

                                                                                1Password now includes full support for SSH keys, providing the easiest and most secure way for developers to manage SSH keys and use Git in their daily workflow. The magic of 1Password has always been making the secure thing to do the easy thing to do. Today I’m thrilled to announce that we’re bringing this magic to development teams everywhere with the all-new 1Password SSH Agent. 🦄 In today’s

                                                                                  SSH and Git, meet 1Password 🥰 | 1Password
                                                                                • えっちな grep をつくった - はやくプログラムになりたい

                                                                                  H(uman-friendly) な grep コマンド hgrep をつくりました. github.com '\w+ で検索した時の出力 ファイルを特定のパターンで検索し,マッチした箇所を構文ハイライトしたコード片で表示します.超ざっくり言うと,ripgrep で検索して bat でマッチ箇所付近を表示するような感じです. grep -C によるコンテキスト表示に似ていますが,マッチ行が近い時は1つのコード片にまとめる,周囲何行を表示するかをヒューリスティックに少し賢く決めているなど,ちょっと出力は工夫しています. 動機 手元のリポジトリでコードを検索する時は 単純に grep で検索してマッチ結果を眺める grep | fzf のように検索結果を fzf で絞り込んだりプレビューする vim $(grep -l ...) のように検索結果をエディタで開く あたりを使い分けているのですが

                                                                                    えっちな grep をつくった - はやくプログラムになりたい