並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 588件

新着順 人気順

低レイヤーの検索結果41 - 80 件 / 588件

  • なぜDiscordはGoからRustへ移行するのか - MISONLN41's Blog

    DiscordがGoで書かれていたコンポーネントをRustに移行しているらしい。Windowsの低レイヤ層の一部で採用されるなど、近年どんどん注目を集めているRustだが、DiscordはなぜRustを選んだのか。その最大の特徴である「パフォーマンスを妨げる要素であるGCを排した上でメモリセーフな言語」であることにクローズアップした面白い内容だったので、えっちらおっちら和訳してみた。英語が得意というわけでもなく、無理やり翻訳しているところも多いのであしからず。ほとんどGoogle翻訳のままというのは内緒。 追記: 7/31にはてブでいっぱいブックマークされたみたい。気になったブコメへの返信を末尾に追記した。 原文: Why Discord is switching from Go to Rust - Discord Blog Rustは様々な分野において第一級の言語になりつつあります。Di

      なぜDiscordはGoからRustへ移行するのか - MISONLN41's Blog
    • エンジニアを分類する、3つのタイプ|山本 正喜 / Chatwork CEO

      エンジニアのタイプは、技術が好きか、プロダクトが好きか、組織が好きかの3つに大きく分類できる。技術の人は技術の本質を追求しテックリード/アーキテクト、プロダクトの人は技術を手段と割り切りフルスタックエンジニア/PdM、組織の人は開発生産性を高めようとEM/PMOを目指すことが多い — 山本 正喜 / Chatwork CEO (@cwmasaki) February 9, 2022 思っていた以上の反響をいただいて、いろいろと「このケースはどうなんだろ」というコメントも多数いただくので、この分類にいたった背景や考察などを、しっかり記事にしてみようと思います。140文字だと伝えきれない・・! エンジニアとしての志向性を技術・プロダクト・組織のどれが好きかで分類すると、目指すキャリアパスを考えやすいよねという話で、私がよくエンジニアの若手に話している内容をツイートしたものでした。 3つのタイプ

        エンジニアを分類する、3つのタイプ|山本 正喜 / Chatwork CEO
      • 安全なシステムプログラミング言語Rustへの招待 | κeenのHappy Hacκing Blog

        # 安全なシステムプログラミング言語Rustへの招待 ---------------------- [IIJ Labセミナー](https://iijlab-seminars.connpass.com/event/152079/) === # About Me --------- ![κeenのアイコン](/images/kappa.png) * κeen * [@blackenedgold](https://twitter.com/blackenedgold) * Github: [KeenS](https://github.com/KeenS) * GitLab: [blackenedgold](https://gitlab.com/blackenedgold) * [Idein Inc.](https://idein.jp/)のエンジニア + 2年半くらい仕事でRustを書いている

        • ソフトウェアエンジニアとして心がけていること|Satoshi Nakagawa

          SF ベイエリアで働く1人のソフトウェアエンジニアとして、楽しくエンジニアリングをやっていくために日頃からぼんやりと心がけている3つのポイントについて今回は書いてみたい。 インフラを作る側にいるソフトウェアエンジニアとして普通の Software Engineer から Senior Software Engineer、Staff Software Engineer とだんだん昇進していくにしたがって、より大きな成果を出すことを期待される。Staff レベルにはチームをまたいだ成果を出すことが求められる。そのためには多くの場所で使われるようなサービスやライブラリを作るのが一番成果としてわかりやすい。 会社とプロダクトが初期段階から成長していく過程で、最初は1つしかなかったエンジニアリングチームが大きくなるにしたがってインフラ側とプロダクト側に分割されていく。そのときにかならずインフラ側に属

            ソフトウェアエンジニアとして心がけていること|Satoshi Nakagawa
          • フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記

            モチベーション なぜRustを選んだか? 私はQEMUは「アーキテクチャエミュレーション界のLLVM」だと思っている QEMUが高速な理由:TCG Binary Translation ゲスト命令(RISC-V) → TCG → ホスト命令(x86)の処理をRustで作ろう RISC-Vの命令をフェッチしてデコードする RISC-Vの命令をTCGに変換する TCGをx86に変換する 実装結果 Binary Translation実行を高速化するための様々なテクニック BasicBlock分まで複数命令をまとめて変換 TCG Block Chainingの実装 評価結果 TB Lookup and Jumpの実装 評価結果 まだ完成していないところ 一部の最適化はまだ未実装となっている ゲストアーキテクチャがx86のみとなっている。TCGによる複数プラットフォーム対応として、まずは環境のそろ

              フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記
            • Goを始めて1年間で最高にお世話になったGo関連ブックマークを晒します。 - Qiita

              自分は普段はChromeのブックマークを使ってよく見返す記事を保存しています。Goを一年間書いてきてブックマークを整理したのですが、せっかくなのでお世話になったブックマーク記事を晒します。 Blog & Serial The Go Blog Goの公式ブログ。深いところまでしっかり書かれているので、調べたいトピックはまずはここで調べたい。 https://blog.golang.org/ Practical Go GoのcontributorであるDave Cheneyさんのブログです。Goで開発&運用する上でのアドバイスが書かれており、入門記事だけでは得られないノウハウがふんだんにまとめられています。 https://dave.cheney.net/practical-go Goならわかるシステムプログラミング @shibukawaさんの連載です。Goで低レイヤーを学んでいきます。根底の

                Goを始めて1年間で最高にお世話になったGo関連ブックマークを晒します。 - Qiita
              • ドメイン知識が求められる開発をどのように乗り切るか - freee Developers Hub

                こんにちは、freee会計のプロダクトマネージャー(以下PM)をしております、gokiです。 皆さん、「ドメイン知識」という言葉、聞いたことありますか? ドメイン知識(英: Domain knowledge)または領域知識は、はっきり限定された、ある専門分野に特化した分野の知識であり、一般知識またはドメイン独立の知識と対比される。 ドメイン知識 - Wikipedia freee会計での開発現場で例示すると「確定申告のプロダクトを作るには、開発技術だけでなくそもそも確定申告業務の理解というドメイン知識が必要だよね」みたいな使われ方をします。 freeeはスモールビジネスの皆さんのバックオフィス業務を改善するプロダクトを作っているので、このドメイン知識が開発においても必要な場面が多いです。 そこで、今回はドメイン知識が必要な開発をどのように進めるか、というコツをPM目線でご紹介しようと思いま

                  ドメイン知識が求められる開発をどのように乗り切るか - freee Developers Hub
                • Rust で Web バックエンド開発をはじめる | CyberAgent Developers Blog

                  こんにちは。サイバーエージェント AI 事業本部 Dynalyst にて、ソフトウェアエンジニアをしている豊田(@helloyuki_)です。また、Rust 領域における Next Experts も務めています。 先日、CA BASE NEXT という CyberAgent が開催する20代が中心のカンファレンス[^1]に、私も一応20代ということで登壇させていただきました。 内容は Web アプリケーション開発を Rust で行った体験談を語るというものでした。実際に2018年〜2020年頃に Rust をとあるチームのアプリケーションに導入し、引き継ぎのために何をしたかという内容をお話させていただきました。 セッション自体は25分しかなく、またコード例をスライドからかなり削るなど、CG スタジオ仕様への対応が必要でした。というわけで、十分に伝えたいことを盛り込めたわけではありませんで

                    Rust で Web バックエンド開発をはじめる | CyberAgent Developers Blog
                  • 満を持して始めるRust

                    Developers Summit(デブサミ) 9-B-9 02/09 17:45 ~ 18:25 「満を持して始めるRust」kenkoooo RustはC++の代替となることが期待されていることから、低レイヤ向け言語という印象を持っている方も多いかもしれません。しかし、Rust 1.0のリリースから7年ほど経ち、言語そのものだけでなく周辺のライブラリやツールも充実し、普段遣いのプログラミング言語として快適に開発できる環境が整っています。 本セッションでは、今日からRustで開発をスタートすることを目指し、Rustそのものの紹介だけでなく、実際の開発におけるコードの書き方や、estieでの導入事例をご紹介します。

                      満を持して始めるRust
                    • WSLはいいぞ

                      この記事は LITALICO Engineers Advent Calendar 2021 その2 の14日目の記事です。 社内slackでMacの民が環境などでハマっているのを見ると、「(WSLはいいぞ...)」と心の中で思ったり冗談半分で言ったりするのですが、なんだかんだで良さをちゃんと列挙したことないなと気付きました。 今後もし本気で布教する機会が来たときに自信を持って推せるよう、ちょいとここらで想いを書き出してみようと思います。 布教ターゲット 本記事の想定読者、もとい布教ターゲットは、 ソフトウェア開発、特にWeb系の開発をする人 特に強い理由がなくMacを使っている人 宗教上の理由でMacを使わずLinuxを使っているが、ぶっちゃけつらい人 フルスペックなゲームプレイと開発を一つのマシンで欲張りたい人 となっています。信念を持ってMacを使っている方やLinuxデスクトップをガ

                        WSLはいいぞ
                      • リモートでアメリカの大学院に通い始めた - k0kubun's blog

                        今年春に出願、夏に合格して秋学期からオンラインのコンピュータサイエンス修士コースで勉強している。ちょうど秋学期が終わって成績が返ってきたので、どういう感じだったか書いておく。 I've been officially admitted to Georgia Tech's OMSCS (Online Master of Computer Science). I'm excited for being a student again. I chose the online course to take it without quitting my job, but due to COVID-19 it's probably not that different from other people's experience.— k0kubun (@k0kubun) July 31, 2020 ど

                          リモートでアメリカの大学院に通い始めた - k0kubun's blog
                        • JavaScript で CPU が Intel かどうかを判定する(ついでに JIT を検知する)

                          先日、次のような Tweet を見かけました TIL I discovered that TensorFlow.js uses an interesting trick to sniff your CPU architecture in WebAssembly. pic.twitter.com/LVyywIM48I — Robert Knight (@robknight_) January 4, 2023 面白かったので、なぜこうなるのかの解説と、ついでにこのテクニックを使った JIT 検知方法などについて紹介します。 JavaScript における低レイヤーの扱い JavaScript においては、挙動が比較的しっかりと仕様に定められているために、環境による振る舞いの違いはあまり発生しません。しかし、低レイヤーに降りるほど振る舞いは実装依存になり、環境差が発生する余地が出てきます。 一番

                          • 環境変数を設定するだけでRuby on Railsサーバが10%高速化する(かもしれない)話 - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

                            この記事は Akatsuki Advent Calendar 2019 1日目の記事です。 はじめに アカツキでは Ruby on Rails を使ったゲームサーバを開発・運用しています。ゲームの体験を向上するために、レスポンスタイムは一つの重要な要素となるため、種々のパフォーマンスチューニングを行なっています。今回はその一例として、環境変数を1つ設定するだけで、あるAPIのレスポンスタイムが10%も改善した例をご紹介します。 TL;DR 多数の時刻を含むレコードを扱う Ruby on Rails サーバでは、 TZ 環境変数を設定することで、デフォルトタイムゾーン設定ファイル /etc/localtime へのアクセスが減り、高速化が図れるかもしれません。 効果は Time オブジェクト1個あたり数μsの短縮といったオーダーですが、チリも積もれば山となり、数千個のレコードを処理するAPI

                              環境変数を設定するだけでRuby on Railsサーバが10%高速化する(かもしれない)話 - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)
                            • 「プログラマーのための CPU 入門 ― CPUは如何にしてソフトウェアを高速に実行するか」を読んだ - おしぼりの日常

                              年明けの暇な時間を利用して読んでみました。 書籍のリンク 技術書としての感想 良かった点 悪かった点 注意点 総評 技術書としての感想 良かった点 とにかく文章が分かりやすい 色々な用語の使い方に違和感がない 言葉にすると簡単ですが、本当に分かりやすかったです. 具体例が豊富 図が豊富 コード例が豊富 実験例が豊富 まず、「〇〇 な場合に命令の処理が詰まって遅くなります」といった説明の後に、「では、具体的にこういったケースを考えてみましょう」という具体例を持ってくる展開が多く、とても親切だと感じました.また、このような具体例の説明のときにほぼ必ず図が用いられています.特に全体を通して頻繁に出てくる命令流の図は非常に分かりやすかったです.また、コード例とそれを用いた実験も豊富でした.具体的には、キャシュの章では実際にキャッシュミスを意図的に起こすコード・キャッシュヒットを意図的に起こすコード

                                「プログラマーのための CPU 入門 ― CPUは如何にしてソフトウェアを高速に実行するか」を読んだ - おしぼりの日常
                              • 37歳Web系ソフトウェアエンジニアの転職活動ふりかえり - スペクトラム

                                2023年4月中ごろから6月の今日までの2ヶ月と少しかけた転職活動が終了したので、記録ついでに振り返りたいと思う。 あくまで個人的な記録である。 応募手法 応募方法は、さまざまな方向から行った。 Twitterでの公開募集 エージェント経由 YOUTRUST経由 直接応募 Twitterでの公開募集 正直なところ、一回やってみたかったという部分が大きい。今回の転職活動における大きなチャレンジだった。ありがたいことに20社以上から声をかけていただいた。知り合いのフリーランスの方から「うちが関わってるところどうですか?」という声がけも3名からあった。その節はありがとうございました。 数は多いものの、話を聞く聞かないを考えなくてはならなくなり対応に追われた。公開募集とは、受動的な方法なのだと痛感した。また「会社名も書いてないから怪しいな?」と思ってDMの送信主を調べたら国際指名手配者だったという

                                  37歳Web系ソフトウェアエンジニアの転職活動ふりかえり - スペクトラム
                                • 『天穂のサクナヒメ』には別の同人サークルが開発した「ラグナロクエンジン」を使用。複数のサークルが制作に携わる独自のゲーム開発体制を代表者らが解説

                                  同人ゲームサークル「えーでるわいす」が開発し、マーベラスから発売されたアクションRPG『天穂のサクナヒメ』。稲を育てながらキャラクターを育成し、横スクロールアクションを体験していくという斬新なコンセプトで、パッケージ版が品薄になるなどSNSを中心にゲーマーたちの話題をさらっている。村山竜大氏による可愛らしいキャラクターデザインも好評だ。 そんな『天穂のサクナヒメ』について「えーでるわいす」代表のなる氏がTwitter上にて、同作は同人ゲームサークル「にゃっほい屋」が開発した「ラグナロクエンジン」が使用していることを明らかにした。 (画像はSteam『天穂のサクナヒメ』より) 本作の開発のきっかけについては、2018年の「BitSummit」のステージイベントで明らかにされており、「えーでるわいす」が手掛けた『アスタブリード』をBitSummitに出展していたところ、マーベラスUSAからオフ

                                    『天穂のサクナヒメ』には別の同人サークルが開発した「ラグナロクエンジン」を使用。複数のサークルが制作に携わる独自のゲーム開発体制を代表者らが解説
                                  • レイヤードアーキテクチャ - kawasima

                                    POSAでの定義 レイヤードアーキテクチャを、体系だって書いたのは「Pattern-Oriented Software Architecture, Volume 1, A System of Patterns」だろう。まずはその原典に立ち返って、レイヤードアーキテクチャとは何かをみてみる。 コンテキスト ソースコードの変更がシステム全体に波及させたくない。それが1つのコンポーネントに閉じられ、他に影響を与えないようにすべきだ。 インタフェースは安定している。標準化団体によって規定されている場合もある。 システムの一部は交換可能である。コンポーネントはシステムの他の部分に影響を与えることなく、実装を入れ替えることができる。 現在設計しているシステムと同様の下位レイヤの課題をもつ他のシステムを、将来構築することがあるかもしれない。 理解のしやすさと保守性のために同じ責務はグルーピングしておきた

                                      レイヤードアーキテクチャ - kawasima
                                    • ソフトウェア開発者人生に影響を与えてきた本

                                      はじめに なんとなく書きたくなったので書きます。詳しいレビューなどは書きません。書いても一言程度。実は昔似たようなエントリを書いたことがあるんですが、そちらは初心者+αくらいの人に勧める本についてのもので、こちらはあくまで私に刺さった本です。 達人プログラマー ソフトウェア技術者としての考え方のいくつかはこの本の影響によって身に着けました。この手の本は抽象的でスカスカなことが多いのですが、この本は著者の文書作成技術が高いこと、例が具体的なこともあって、ずいぶん納得できることが多かったです。わたしが読んだのは第一版ですが、あえて第二版へのリンクを張っています。 プログラミング作法 よいプログラムをどう組めばいいかということを学べました。いろいろな言語を題材にしていますが、どういうものを使っていても役に立つ実践的なことが書いています。 珠玉のプログラミング アルゴリズムについて、具体的にどう役

                                        ソフトウェア開発者人生に影響を与えてきた本
                                      • 低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書

                                        はじめに ITの世界で「低レイヤ技術」と呼ばれるものがあります。明確に定義されているわけではありませんが、アプリケーションのような直接エンドユーザに触れる部分ではなく、しかもなるべく生のコンピュータに近い部分、たとえばOSカーネルやコンパイラ、CPUを開発する技術などがあります。これらの技術に明るい人はそうそういないのですが、「やってみたい」という根強い人気があります。 学生のかたでもセキュリティキャンプなどで実際にある程度身につけてしまうような人もいます。そしてますますこの手の技術に趣味としてのめり込んでいって楽しくなる…というところまではいいのですが、「ではこの技術を会得した先に何があるのか」と不安になる人も多いようです。とくに学生さんの場合は「低レイヤ技術を使って今後なんらかの仕事をして生きていけるのか?」といったことが気になるようです。今日もそのような話を少し耳にしたので、自分の経

                                          低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書
                                        • Cコンパイラを作ろう!

                                          こんにちは、21Bのseasonです。この記事はtraP夏のブログリレー3日目の記事です。 自作Cコンパイラでセルフホスト達成しました。 リポジトリ: https://github.com/season1618/c-compiler/tree/main 自作Cコンパイラでセルフホスト達成しました!!!!!!🎉🎉🎉https://t.co/8fLIAJWksQ pic.twitter.com/2fgH5sKoZ0 — season (@season1618) July 27, 2022 実際にどうやって作るかを書くと長くなるので、ここでは経緯とか完成までの流れとかを書こうと思います。一応開発メモは以下に上げておきました。 開発メモ: https://github.com/season1618/note/blob/main/cs/c-compiler/index.md 経緯 大学の講義で

                                            Cコンパイラを作ろう!
                                          • RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも!|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                            ハイクラス求人TOPIT記事一覧RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! 安全性に大きな特徴があるプログラミング言語Rustは、C言語やC++に代わるシステム記述言語として注目されてきました。しかし、その安全性とパフォーマンスの高さにより、ビジネスアプリケーションの構築にも採用されています。この記事ではキャディ株式会社による事例を紹介します。 こんにちは。キャディ株式会社バックエンドエンジニアの松田と申します。 キャディ株式会社では、「モノづくり産業のポテンシャルを解放する」をミッションとして、製造業分野に関連するさまざまなソフトウェアの開発を行っています。また、そのための主要な開発言語としてRustを採用

                                              RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも!|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                            • Webエンジニア(30歳)だけど4年かけて工学学士を取った - Qiita

                                              0. はじめに Bizer株式会社でフルスタックエンジニアとして働きながら、国立大学法人電気通信大学の先端工学基礎課程(通称 K課程)という社会人向けの学士課程に在籍しています。 この春(2021年3月)に卒業予定のため、いちソフトウェアエンジニアから見た大学教育や学歴に対する考えをまとめておきます。 1. 対象読者 理系大学のカリキュラムがソフトウェアエンジニアという仕事にどう活きるか分からない方 就業しながら学士を取ろうとしている方 ソフトウェアエンジニアと学歴の関係性を不透明に感じている方 2. 現職エンジニアが工学学士を取る理由 18歳で最初の大学を中退しエンジニアとして働き始めたため、途中の放浪期間などを差し引き、ソフトウェアエンジニアとしてのキャリアは現在10年程です。つまり大学入学時点では6年程のキャリアがあり、それなりに幸せなエンジニアライフを送っていました。 ではなぜ既に

                                                Webエンジニア(30歳)だけど4年かけて工学学士を取った - Qiita
                                              • EC2が複数VPCにENIを足出しできるように!でもみんな戦々恐々としてるのはなぜ…? - Qiita

                                                AWSのVPCに大きなアップデートが! 今週10/26、AWSにこんな機能アップデートが発表され大変話題になりました。 簡単に言うと 「EC2インスタンスから複数のVPCに対してENI(NIC)を足出しできるようになった」 という大きなアップデートでした。 みんな戦々恐々? しかし、Twitterのオンプレミス経験者たちは口を揃えて懸念を漏らしています。 「これ、クラウド初心者がオンプレからの移行で "監視セグメントVPC" みたいなものを作ってしまうんじゃなかろうか…」 今回のアプデを見て「ウッ…😅」と感じた方も、改めて何が問題なの?と聞かれると意外としっかり言語化できないかも知れません。これを機にAWSの代表的なサービスであるマネージド論理ネットワーク「VPC」の基本をおさらいしてみましょう。 オンプレ時代の基本を振り返る パブリッククラウド普及前のオンプレミス時代では、企業のシステ

                                                  EC2が複数VPCにENIを足出しできるように!でもみんな戦々恐々としてるのはなぜ…? - Qiita
                                                • エンジニア飲み会を開催したら意表を突かれた参加者が集まった「世の中いろんな技術者がいるんだな」

                                                  ぶらこん @burakon "エンジニア飲み会"というものを過去何度か開催したんですけど、意表を突かれた参加者 準優勝は「エンジニアというので来ちゃった電気設備工事系エンジニア」 優勝は「インフラエンジニアと聞いてたけど海底光ファイバーケーブルの監視という地球レベルで低レイヤーのインフラエンジニア」でした 2023-01-27 00:39:37 ぶらこん @burakon 電気保全、旋盤フライス盤、溶接、PLC、ソフトウェア、ハードウェアなど幅広く学ばせてもらう機会があったけどそれでもまだ「技術者」という意味では本当にほんの一部しか知らないんだなと感じました 2023-01-27 17:21:51

                                                    エンジニア飲み会を開催したら意表を突かれた参加者が集まった「世の中いろんな技術者がいるんだな」
                                                  • 私の Rust 学習記録 2021

                                                    ※ この記事は 2021/10 時点での内容です。 社内勉強会で 2021 年に発表した内容で、外部公開しようと思って寝かせてしまっていました。 記事としての鮮度は落ちてますが、頑張って書いたものなので Zenn に公開しておきます。 概要 社内異動を機に業務で Rust を書けることになった私の Rust 学習記録です。 今までの言語経験はメインが Ruby、少し JS/TS、趣味で Go をやっていたぐらいです。 学習の方針 なんでもかんでも Rust で書く。 Rust は GC のないシステムプログラミング言語として大体 C 言語と同等のレイヤーからカバーできるので、書こうと思えば OS から Web アプリまで書ける。 yew のような UI 構築用のライブラリもあるので、フロントエンド開発もできる。 というわけでなんでもかんでも Rust で書ける。 リポジトリ運用 デプロイの

                                                      私の Rust 学習記録 2021
                                                    • 分業化するWeb開発からフルスタックなIoTシステムへ ─ 育てたスキルは次のキャリアへ地続きに広がっていく - Findy Engineer Lab

                                                      こんにちは、はじめまして。株式会社ソラコムでIoTエンジニアとして働いている@moznionと申します。主に、IoTプラットフォームの開発・運用に従事しています。 このたび「わたしの選択」というテーマで寄稿の機会をいただいたので、かつてレイヤ7(アプリケーション層)で動作するソフトウェアを書いて日々を過ごしていた人間が、いかにしてIoTというIT技術の総合格闘技のフィールドへ身を投じるに至ったかをお話ししたいと思います。 IoTエンジニアをやっていると、よく「正直、何をやってるのか分からない」だとか、「特殊業界っぽい」「Web系とはいろいろかけ離れてるんでしょ?」とか、「俺には関係ないね」だとか、さまざまな所感を耳にします。本記事によって、そういった疑問をお持ちの方にもIoT開発の雰囲気が伝わり、IoTエンジニアというロールに少しでも興味を持っていただけたら幸いです。 なお、私は普段、自ら

                                                        分業化するWeb開発からフルスタックなIoTシステムへ ─ 育てたスキルは次のキャリアへ地続きに広がっていく - Findy Engineer Lab
                                                      • Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ

                                                        eBPF(extended Berkley Packet Filter)という用語を著者が初めてみかけたのは、2015年ごろだった。最初は、eBPFをその字面のとおり、パケットキャプチャやパケットフィルタリングを担うだけの、Linuxの新しいサブシステムであろうと認識していた。しかし、実際にはそうではなかった。 システム性能の分析のための方法論をまとめた書籍Systems Performance 1 の著者で有名なBrendan Greggが、Linuxのネットワークサブシステムとは特に関係ない文脈で、古典的なシステム性能計測ツールでは計測できないことを計測するツールを作っていた。その計測ツールがeBPFという技術によって実装されていることを知ったときに、eBPFに興味をもったのだった。また、eBPFは、システム性能を調べる用途以外にXDP(eXpress Data Path)と呼ばれるプ

                                                          Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ
                                                        • YouTubeにあるライブコーディング動画を見て Rust を学ぼう

                                                          この記事は Rust Advent Calendar 2020 2日目の記事です。 1日目は Rust で競技プログラミングの作問支援ツールを作った話 (@kobae964 さん) 3日目は Rustの日本語書籍紹介 (@dalance さん) ライブコーディング動画の良さ こんにちは、@magurotuna です。 みなさん、ライブコーディング動画はご覧になりますか?僕は結構頻繁に見ていて、たとえば寝る前、例えば作業用BGM代わりに垂れ流す、といった感じで視聴しています。 熟練のエンジニアによるライブコーディングを見ることで、彼ら/彼女らが 何を考えながらコーディングをしているのか どのような順番で順番でコーディングするのか エディタ、ターミナルをどのように操っているのか ドキュメントをどのように読んでいるのか など、数多くのことを学ぶことができます。 もちろん上記に加えて、取り上げられ

                                                            YouTubeにあるライブコーディング動画を見て Rust を学ぼう
                                                          • eBPFに3日で入門した話 - CADDi Tech Blog

                                                            はじめに eBPF とはなにか ざっくり概要 「Packet Filter」なのに「Virtual Machine」? eBPFでなにができるか? カーネルイベントのフック ユーザーランドアプリケーションとのやりとり eBPFの主な用途 eBPFが注目される背景 eBPFの仕組み アーキテクチャと処理フロー カーネルモジュールとeBPFの違い eBPFプログラムの作り方 eBPFプログラムを作ってみる 環境の準備 Hello world もう少し複雑なサンプル その他のサンプル HTTPリクエストのダンプ TCP接続先の調査 tcplife dirtop filetop oomkill まとめ eBPFはなにに使えるか 参考サイト はじめに こんにちは、Platformチームの小森です。 eBPF (extended Berkley Packet Filter) について、2022年8月2

                                                              eBPFに3日で入門した話 - CADDi Tech Blog
                                                            • フロントエンドのテストのモックには msw を使うのが最近の流行りらしい

                                                              皆様フロントエンドのテストを書いていらっしゃいますでしょうか? フロントエンドのテストを書くときには API コールする処理を全てモックする必要があります。外部の API をコールする処理をテストに含めると API サーバーが落ちているなどの外部の要因によってテストが失敗してしまう可能性がありますし、テストを実行するたびに実際に API をコールしてしまうとサーバーに負荷がかかってしまうなど外部に対しても悪影響を与えてしまいます。 さて、従来のモックする手段としては Jest のモックを利用して axios や fetch などのモジュールをモック化する手法がよく使われていたかと思います。 最近のテスト手法として API コールをモックする際に Jest ではなく Mock Service Worker (以下 msw )を使用する手法が注目されています。実施にどのように使用されているのか

                                                                フロントエンドのテストのモックには msw を使うのが最近の流行りらしい
                                                              • 【競プロ】新人SEがAtCoderを始めて水色になった【色変記事】 - Qiita

                                                                AtCoderで水色になりました。いわゆる色変記事です。 本記事では以下の4点について書きます。 競プロをしていて良かったこと・できるようになったこと 勉強したこと・改善案 レート推移や目標ラインの話 環境やマクロの紹介 最初に自己紹介すると、自分は情報系出身のSEで、現在は2年目です。 今年の頭に競プロをはじめ、先日水色になりました。 「プログラミング未経験から~」「50歳を超えて~」みたいな少数派ではないですし、「たったN回で達成!」「M年の苦闘の末に」みたいなドラマもありません。 普通に勉強しているエンジニアが競プロを半年間そこそこ頑張ったみたいな記事です。 バッググラウンドや参加回数については③で詳しく書きます。 なお、競技プログラミングについてザックリ知っている前提で書きます。 「競プロってなに?」「水色ってどのあたりなの?」という場合は が良くまとまっています。 ① 競プロをし

                                                                  【競プロ】新人SEがAtCoderを始めて水色になった【色変記事】 - Qiita
                                                                • ゼロからのOS自作入門をRustで実装した

                                                                  概要 OSを座学・書籍で学ぶだけでなく実際に作ってみたくて、またRustでなにかを作りたくて、 ゼロからのOS自作入門(以下みかん本)で作るMikanOSをRustで実装しました[1]。 先駆者はいくつか見かけましたが、最後まで実装されている方は見つけられず、 もしRustで実装しようとしてハマっている人や途中で諦めてしまった方がいれば参考になるかと思い、記事を書きました。 実装者のレベル 一応、私のレベル感を書いておきます。 OSの開発経験はなく、低レイヤーっぽい開発経験もひとつだけ Nand2tetris Rustは以下のように多少の経験はあるが業務で利用したことはなし the book はほぼ読んで写経した Rustで始めるTCP自作入門 はやった Programming Rust, 2nd Edition は気になるところを読んだ というような感じで、OS開発もRustも経験が浅い

                                                                    ゼロからのOS自作入門をRustで実装した
                                                                  • 2023年読んで良かった技術書Top5

                                                                    こんにちは。uenikiです。2023年も残すところ後10時間となりました。 今回は2023年に読んで良かった技術書を紹介します。マネジメント系の本は抜きにして、ピュアに技術的な本を紹介します。これまであまり振り返りというものをせずに生きてきたのですが、たまには振り返りというものをしてみたいと思います。 2023年はたくさん言語化をしてきて、言語化することの気持ちよさにハマりつつあるので、アウトプットしてみようと思い立ちました。 Top5のご紹介 なっとく!関数型プログラミング まずは関数型プログラミングの入門書である本書を紹介します。人生を変えてくれる予感のある本に数年ぶりに出会った気がします。何よりも読んでいて楽しく、ワクワクします。 関数型プログラミングの原則から始まって、関数型独自の概念を一つ一つ丁寧に、なぜその概念が必要なのか?を解説してくれています。命令型の問題点を一つ一つ解決

                                                                      2023年読んで良かった技術書Top5
                                                                    • 『基礎から学ぶ 組込みRust』を書きました - 低レイヤ強くなりたい組込み屋さんのブログ

                                                                      はじめに 2021年4月20日、『基礎から学ぶ 組込みRust』(C&R研究所) を出版します。Rust の文法から組込み Rust でファームウェアを作成するところまでを、片手で持てる (多分!まだ持ったことないけど!) 1 冊の本にまとめた、喉から手が出るほど (私が) 求めていた書籍です。 先日、無事入稿を果たしたので、今の気持ちを徒然なるまま綴ったのが、このエントリです。 基礎から学ぶ 組込みRust 作者:中林 智之,井田 健太発売日: 2021/04/20メディア: 単行本(ソフトカバー) 一番始めに言いたいこととしては、今現在、「組込み Rust がプロダクションレディか?」、と問われると、「ほとんどのプロジェクトに対してそうではない」というのが私個人の見解です。セーフティクリティカルな分野では、機能安全をはじめとする認証の問題があり、そんなにおいそれとプログラミング言語変更

                                                                        『基礎から学ぶ 組込みRust』を書きました - 低レイヤ強くなりたい組込み屋さんのブログ
                                                                      • 10年かけてカナダでソフトウェアエンジニアになるまでの道のり - As a Futurist...

                                                                        修士課程を退学した15年前に、僕は全く実現可能性を考えずに”30歳までにアメリカの大学院に留学”という目標を立てました。 もう一度大学院に行きたい、行くなら世界トップのアメリカがいいだろう、そんな程度の認識でした。 ただ、これはどちらかといえば無理やりひねり出した30歳まで生きる理由であって、そこまで強い意志があったわけではありません。 しかし、おかげで何とか30歳を超え40歳目前まで生き延びることはでき、気が付けばアメリカではなくカナダで永住権を取って暮らしています。 大学院留学は引き続き他のハードルが高くて達成できる気はしませんが、15年前に目標を立てた時点では認識できていなかった 「海外に移住する」という難儀を10年ほどかけて乗り越えることはできました。 けれど、そういえば事の顛末を一つにまとめたことが無かったなと気づいたので、僕のキャリア10年+αを振り返って記事にしてみました。

                                                                          10年かけてカナダでソフトウェアエンジニアになるまでの道のり - As a Futurist...
                                                                        • JavaScript 実行エンジン V8 の JIT 出力コードを読んでみよう

                                                                          Chrome の JavaScript はとても高速なことでも有名ですが、その実行エンジンは V8 と呼ばれます。V8 自体は独立したモジュールであり、Node.js 等にも使われております。 V8 が JavaScript を高速に実行する技術の一つが JIT (Just In Time) コンパイルです(一般的に JIT と呼ばれます)。これは、そのまま実行すると遅い JavaScript を実行中にリアルタイムに直接マシンコードに変換し(これが Just In Time と呼ばれる所以です)、途中からそのコードに入れ替えて実行することで高速化を達成しています。特に何度も実行される関数で効力を発揮します。 JIT という名前は聞いたことがあろうとも、実際に JIT がどのようなコードを実行しているのかを確認する機会は滅多にないでしょう。この記事では、実際に V8 の JIT の出力を確

                                                                          • 「スタンディングデスク」で在宅環境を良くしたい! コンパクト&お手頃価格なデスクを3人のユーザーがプレゼン #ソレドコ - ソレドコ

                                                                            新型コロナウイルスの影響で、しばらく自宅でリモートワークを続けるという人も多いはず。しかし、長期化する在宅勤務によって、腰を痛めるなど体に不調が表れ始めた人もいるのではないでしょうか。 そこで「もう少し作業環境を良くしてみよう」と考えたときに、改善策として「スタンディングデスク」の導入を検討する人もいるかと思います。立ったまま作業できたり自由に高さを変えられたりできる一方で「価格が高い」「場所をとりそう」といったイメージもあることから、及び腰になり、購入を諦める人もいるかもしれません。 しかし、スタンディングデスクの中には意外と「コンパクトなサイズかつ手頃な価格」で手に入るものがあります! 今回は、手頃な価格でスタンディングデスクを取り入れた3人のブロガーに、使用しているスタンディングデスクと、それぞれの特徴やおすすめポイントについて、実際の使用感も含めてプレゼンしていただきました! コン

                                                                              「スタンディングデスク」で在宅環境を良くしたい! コンパクト&お手頃価格なデスクを3人のユーザーがプレゼン #ソレドコ - ソレドコ
                                                                            • インフラエンジニアへ期待すること|しょっさん

                                                                              ブラックボックスな PaaS/SaaS のインフラが気になって仕方ない、元インフラエンジニア、現プラットフォームエンジニアのしょっさんです。立場上、Salesforce のことは色々知っていますが、他社のクラウドなどはもちろん知りもせず。想像をしてはニヤニヤする日々です。 さて。これからインフラエンジニアになる人も、すでにインフラエンジニアをやっていて、もっとスキルを磨いていこうと考えいる人にも、ハードウェアをおろそかにしないということを期待しています。 クラウド時代のインフラエンジニアのスキルクラウドファーストな考え方も相まって、インフラエンジニアの求められるスキルも変わってきました。「いま、インフラエンジニアが必要なスキル」なんてものを見てみれば、TCP/IP すらなくL7のプロトコルだったりします。ミドルウェア中心の世界観ですね。ハードウェアエンジニアとして仕事を始めた私からは、びっ

                                                                                インフラエンジニアへ期待すること|しょっさん
                                                                              • Writing NES Emulator in Rustをやった

                                                                                Writing NES Emulator in Rustというサイトがある。これはRustでファミコンエミュレータ(通称: NES)を実装する方法をステップバイステップで解説してくれる親切サイトだ。NES初心者でも比較的容易に取り組めるので自力でNESエミュレータの実装するのはちょっと...といった人に特におすすめ。自分は数年前にNESの実装にチャレンジしたが途中で挫折した経験もあったのだけど、このサイトで言われた通り少しずつ進めていくことでなんとか一通り実装をし終えることができた(まぁまだバグだらだけど...)。 今回はその中でも初心者が事前に知っておいたら良さそうと思った知識や概念なんかを雑に書いてみる。 ちなみに各構成要素の詳細な解説や仕様などについては日本語・英語問わず先人の遺産がネット上に大量に存在しているのでググってほしい。とりあえず自分が何回も参照したサイトだけ下記に列挙して

                                                                                  Writing NES Emulator in Rustをやった
                                                                                • マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え

                                                                                  怒田さん*1のこの記事、「CとRustで一から作るマイクロカーネルOS」のおかげで、マイクロカーネルとRustが今ホットです。そこで、技術書典6, 7に出展したYabaitech.tokyoにて連載している、"Writing a (micro)kernel in Rust in 12 days"から、マイクロカーネルとL4についての話を書いた"1日目"の記事の一部冒頭を、いい機会なので再編集してご紹介します。「マイクロカーネルってタネンバウム教授とリーナスの論争のあれだよね?」とか、「L4ってなに?」って方に読んでいただいて、L4ファミリーとマイクロカーネルについて簡単にご紹介できればなと思います。 ちなみに抜粋元の上述の記事は、僕が怒田さんと同じようにRustでマイクロカーネルを書いてみよう、という趣旨の企画です。なので、Yabaitech.tokyoの方もよろしくお願いします!ただし、

                                                                                    マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え