めまぐるしく変化するテックの世界。技術を身に着けるうえで学ぶべきポイントや学習環境なども年々変わっています。 そこで「もしもいまの環境で、テックのことをイチから学び直すことになったら、自分はどんな風に勉強したいか」というIFストーリーを通じて、技術との向き合い方を考え直してみる企画「テック転生」。 今回は『Rust実践プログラミング入門』共著者の松本健太郎(@matsu7874)さんに“自分だったらこう進めたい、Rustの学習ロードマップ”をご寄稿いただきました。 無理なく2ヶ月でWeb開発をRustで始めるロードマップ 株式会社estieでソフトウェアエンジニアをしているmatsu7874です。2024年8月の今、イチからRustを学び直すロードマップ(あるいはリソースガイド)を考えてみました。仕事の合間にやっていくとして数週間、長くとも2ヶ月くらいでRustで開発している会社に入っても
モブプログラミングは、なぜ5人が1台のPCで仕事をしているのに生産的になれるのか(前編)。モブプログラミングの生みの親が解説するその理由と効果とは? 2人のプログラマが協力して同じコードに対してプログラミングを行う「ペアプログラミング」に対して、モブプログラミングは3人以上のチームメンバーが協力してプログラミングを行う方法です。 このモブプログラミングの生みの親であるWoody Zuill氏が、今年(2024年)1月に東京都内で行われたイベント「Regional Scrum Gathering Tokyo 2024」の基調講演「Software Teaming (Mob Programming) and the Power of Flow.」(ソフトウェアチーミングと「フロー」のチカラ)を行いました。 講演のなかでZuill氏は、なぜ一見すると手分けをして作業するよりも効率の悪そうなモブプ
結果的に1200行を越えましたが。 kilo 成果物はこれ↓ 参考サイトはこれです↓ インスパイア元↓ 感想 C言語は10年ぶりくらいに書いた 進めていくうちになんとなく思い出すことができた 最初にちゃんと授業で学んだ言語なので懐かしく思った Cに出会っていなければプログラミングしてなかったかもしれないので感慨深い しかしこのレベルのメモリ管理は正直たいへん 「この関数で確保したメモリはこっちの関数で開放されるので問題ありません」みたいな この調子でやっていったらバグる未来しか見えない 1000行・1ファイルというコンセプトは良いのだがファイル分けて管理したいナ〜〜と思った 配列や文字列の操作、メモリ管理がやりやすい別の言語で書き直したい Cを書くの大変だな…という感想を持った 速さはともかく他の言語で書きたい もっとimmutableに… お手本よりも行数が増えた 1行のif文などでもブ
こんにちは。AWS Container Hero の新井です。 Amazon ECS の登場から間もなく 10 年が経ちますが、その間、ECS ⾃体の進化に加えて、さまざまな AWS マネージドサービスとの連携が可能になりました。 現在では、コンテナベースのワークロードを活⽤することで実現できないことを探す⽅が難しいほど、柔軟なアーキテクチャが構築できるようになっています。 しかし、⾃由度が⾼い分、要件に合ったアーキテクチャを模索する際には、迷うことも多いでしょう。 AWS上でシステムを適切に構築するためには、あらかじめサービス間のつなぎ⽅やパターン、その特徴を把握しておくことが重要です。 これにより、フィージビリティを迅速に確認でき、その後のトライアンドエラーのサイクルを加速させることができます。 今回は、最新の AWS サービスアップデートを踏まえつつ、Amazon ECS / AWS
Seleniumの独自実装が元となって2018年にはW3C勧告として標準化されました。[1] 言葉の使い方が非常にややこしいのですが、ここでいうW3CのWebDriverはChrome Driver, geckodriverといった具体的な実装ではなく、ブラウザを自動化するためのAPIとプロトコルを規定したものを指しています。 Selenium4を例にとるとWebDriver型のツールは次の流れで動作しています。 Driverに対してクライアントから自動化コマンドを送る Driverが実際のブラウザ操作に変換し、ブラウザを自動操作 Architecture of Selenium WebDriver この方式はW3Cの標準が存在しクロスブラウザ対応が容易な点でメリットがあります。一方で仕組み上flakyになりやすかったり、websocketを使った実装に比べて低速であるというデメリットがあ
こんにちは、今年40歳のプログラマ@zaruです。今更ながらですが英語学習を初めました。まぁ何事にも学ぶのに遅すぎることはないって言うくらいだし、40歳から始めても良いでしょう。 この記事では、英語学習を始めて2–3ヶ月経過し、今のところ継続ができているので学習記録の最初の1つとしてやっていることと感想を書き残しておきます。 基本、手で書いて、本で学ぶスタイル今の英語力はどれくらい?ぼくは中学・高校時代はまともに授業を聞かずずっと本を読むか、教室から抜け出して学校をウロウロして過ごしていることが多かったため成績がめっちゃ悪かったです。赤点マン。英語も当然できません。 4–5年くらい前に受けたTOEICでは450点くらい。先月、英検準2級の過去問を解いたら合格ラインを超えてた、くらいの感じです。 海外では全く英語が話せず雰囲気で過ごしていましたし、日本で海外からの観光客に道を英語で聞かれて身
fujipon.hatenablog.com 「四十代最後の夏が終わろうとしている」というブログ記事を書くつもりでしたが、fujiponさんの上掲記事を読んで、何か鳴き声をあげたくなったのでクマーとさけぶことにしました。 fujiponさんが上掲記事でおっしゃっているように、SNSを介して色々なことが起こるようになりました。その「色々なこと」のなかには良いこともあれば悪いこともあり、ふさぎ込んでいる時など、悪いことのほうに心が引っ張られがちだと感じます。 しかし、現行のSNS、特にXについてはスケールメリット、それか、スケールデメリットとでもいうべきものが一番大きいのではないかと私は思います。 既に色々な人が述べているとおり、Xは極端な言葉ばかりになっており、インターネットの最悪が詰まっている感がありますが、他方でインターネットが「便所の落書き」とみなされていた時代においても、極端な言葉は
本記事について 国内の IT 業界について、ネット上では「SIer」VS「Web系」の構図がしばしば見られる。本記事は前者、SIer の世界観をひとりの当事者として雑多にまとめたものである。記事としては読み物、特にポエムの類。 対象読者 以下を想定する。 ITエンジニアまたはその卵で、 SIerを知らないWeb系の人 SIerに入社した新人や中途入職者 SIerにてSEまたはマネージャーして働いている者 SIerにてSEではないが裏方で働いている者(開発、研究、調査、教育、管理など) 学習や就労の初歩として参考にしてもいいし、議論やキャリアのダシに使っても良いだろう。 筆者について 吉良野すた: https://stakiran.github.io/stakiran/ 国内の大手 SIer に勤めるサラリーマン。現場には出ておらず、裏方で支えてメシを食べている。SI にも IT にもさほど
これらの JavaScript エンジンのうち、以下では特に JavaScriptCore を扱います。 最適化の基本戦略 JavaScript をはじめとする動的言語は、主にインタープリタにおいて実行されます。しかし、インタープリタはコンパイルされたコードと比較して実行に時間を要するという欠点があります。そこで、インタープリタの最適化では、バイトコードの JIT コンパイルが最初に行われます。 しかし、コンパイルには当然時間がかかります。少しでも高速化されたコードを生成するには、より多くの時間をコンパイルにかけなければなりません。コンパイルによる速度向上とコンパイルのレイテンシはトレードオフの関係にあります。 そこで、多くの JavaScript エンジンは、インタープリタと多階層の JIT コンパイラの組み合わせで構成されています。次の図は、主要な JavaScript エンジンの設計
本書では、Arm64 CPUアーキテクチャを前提としたハイパーバイザの仕組みをできるだけ分かりやすく解説し、実際にラズベリーパイ4やQEMUで動作するハイパーバイザ(Type1)を自作する方法を解説しています。 ⬛︎ 注意 本書はまだ作成中(現在4章を作成中)ですが、モチベーション維持のために公開している状態です(章立てなど今後変わる可能性ありです)。 内容は随時更新していますので、気になる方はウォッチやコメント等をお願いします。 ⬛︎ 学べること ・ハイパーバイザとその仕組みと原理 ・Arm64 (aarch64) アーキテクチャの仮想化支援機構の仕組み ・自作ハイパーバイザの作り方 ⬛︎ ソースコード https://github.com/HidenoriMatsubayashi/evisor ⬛︎ 価格 本書は無料にしていますが、役に立った!という方は「バッジを贈って応援」や「いいね
最近はお客さんとの勉強会でDockerのドキュメントをつまみ食いして読むというのをやっていますが、改めて最新版を読んでみて、いろいろ思考が整理されました。2020年の20.10のマルチステージビルドの導入で大きく変わったのですが、それ以前の資料もweb上には多数あり「マルチステージビルドがよくわからない」という人も見かけるので過去の情報のアンラーニングに使っていただけるように改めて整理していきます。 仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で触れた内容もありますが改めてそちらに含む内容も含めて書き直しています。 本エントリーの執筆には@tk0miya氏から多大なフィードバックをいただきました。ありがとうございます。 基本的なメンタルモデル現代的な使い方を見ていくために「Dockerを使ってビルドする」というのはどのようなものか考えを整
めまぐるしく変化するテックの世界。技術を身に着けるうえで学ぶべきポイントや学習環境なども年々変わっています。 そこで「もしもいまの環境で、テックのことをイチから学び直すことになったら、自分はどんな風に勉強したいか」というIFストーリーを通じて、技術との向き合い方を考え直してみる企画「テック転生」。 今回は、FinTech企業のSREを務めるYutaさん(@Y0u281)に“自分だったらこう進めたい、インフラ技術の学習ロードマップ”を伺いました。 パブリッククラウドが当たり前になった今、インフラ技術を学ぶスタート地点は? サーバー構築の次は、ネットワークと資格の勉強を Linuxとネットワークを学んだらいよいよAWSの学習へ 自分が学んだ時より学習コンテンツが豊富 コミュニティを活用すると情報が増えてモチベーションも高まる パブリッククラウドが当たり前になった今、インフラ技術を学ぶスタート地
こんにちは。技術部平山です。 たぶん15年ぶりくらいに研修の類の講師をやったので、そのことについて書きます。 概要 2D用(github)、 3D用(github) の2つのUnityプロジェクトをテンプレートとして用意して、 そこに「コードだけで」ゲームを作る研修をしました。 どちらも、Hierarchyに何かを足すことは禁止、 足して良いアセットはC#ファイルのみで、 そのC#ファイル内ではUnityEngineの機能を使用禁止、 というレギュレーションです。 いずれも、IMachineなるインターフェイスが存在し、 これを通してゲームを作ります。 例えば2D用のIMachineの主要部分はこんな感じです。 public interface IMachine { public int Width { get; } // スクリーン横解像度 public int Height { get
勉強のやり方によって仕事はブーストできる 牛尾 今日は安川さんのファンの僕がお願いをして対談イベントが実現し、大変うれしく思います。僕はシアトルから繋いでいますが、ちょうど一時帰国されている安川さんは都内の主催書店からの配信です。まず、簡単な自己紹介から始めましょうか。 安川 今回はお声がけいただきありがとうございます。僕はいま南フロリダ大学医学部助教の立場で、がん患者さんを中心に診療する内科医ならびに感染症の専門医として働いています。医者になるまで、そして医者になってからも相当勉強に時間を費やしてきたので(笑)、どうやったら効率よく学べるのか?についても考え調べてきました。数多くの研究と自分の経験をもとに『科学的根拠に基づく最高の勉強法』という本を執筆しました。 牛尾 新著、本当に最高でした! 人生で最も大切な問題が解決する驚きの一冊で、読んですぐ本の感動をnoteに書いたほどです(笑)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く