「ハイパーバイザの作り方」公開ページ こちらのページはSoftware Design誌の連載記事「ハイパーバイザの作り方」の公開ページです。 「Linuxのしくみを学ぶ - プロセス管理とスケジューリング」も公開中ですので、こちらも是非ご覧ください。 公開中の記事 第1回 x86アーキテクチャにおける仮想化の歴史とIntel VT-x [HTML] [PDF] [ePub] [mobi] [Kindle] 第2回 Intel VT-xの概要とメモリ仮想化 [HTML] [PDF] [ePub] [mobi] [Kindle] 第3回 I/O仮想化「デバイスI/O編」 [HTML] [PDF] [ePub] [mobi] [Kindle] 第4回 I/O仮想化「割り込み編・その1」 [HTML] [PDF] [ePub] [mobi] [Kindle] 付属資料 最近のPCアーキテクチャにお
blog.3qe.us これを読んだ感想文を書く。 結論、大量生産は無理やろとは思う。 少なくとも、「プロ」としてお金をもらって高品質なソフトウェアを0から書けるようになるにはセンスが必要だ。 そもそもそのレベルには私もなっていない。 ただ今あるモノになんとなく機能を追加するレベルに引き上げる術はもっとあると思う。 経験則でなんとなくその例をあげる。 ペアプロ OJTに近いとも言えるし、一番わかりやすい。 ここでペアプロはハローワールドまでの環境構築や実装までを各要素を説明しながらやることを指す。 まずはメンター側が目の前で順番にやってみる。 で次にメンティに同じことをさせる。 そうすると絶対詰まる。 Error: variable 'a' is undefined, line 24 こういうエラーが出るとまず英語を目の前で読む。 で理由を順番に説明して24行目を一緒に読む。 根気よく教え
こんにちは。 あけましておめでとうございます。 さて、新年早々プログラミング教育とエンジニア業界の闇について議論(?)が盛り上がっていますね。 この話題に関してはぼくはわりと思うところがたくさんあり、書き始めると延々と書き続けてしまいそうなんですが、今回は「プログラミングは体系的な教育方法が確立されていず殆どの人間はプログラミングに向いていない」という内容について体験談をもとに言及してみたいと思います。 人はどのようにプログラミングを学習するか ぼくの観測範囲では、バリバリに活躍しているエンジニアはだいたい「大学で情報工学系の教育を受ける一環としてプログラミングを習得した」「文系だったけど趣味や研究などでプログラミングを独習してプログラマになった」という人が多いようです。 特に、コーディングノウハウそのものに関しては独習で学んだため、どうやって他人にプログラミングを教えればいいのかなんて分
コードによく使われる英単語だが、母語話者でないと語形変化がやや難しいかもしれず、注意して単語を選ばないと変な英語になるかもしれない単語について紹介する。 登録 登録する register 【動詞】 「商品を登録する」 registerItem() 登録した registered 【形容詞】 【動詞過去分詞】 登録された商品 registeredItems 「商品が登録された」 new ItemRegstered() 「登録済みか?」 if (item.isRegistered()) ... 登録 registering 【名詞】 「商品登録状況は承認済みか」 item.registeringState.isApproved 登録 registration 【名詞】 商品登録サービス class ItemRegisterationService 登録係(記録する側) registrar 【名
Write your Own Virtual Machine By: Justin Meiners and Ryan Pendleton View the final code and other resources in the GitHub repo. In this tutorial, I will teach you how to write your own virtual machine (VM) that can run assembly language programs, such as my friend’s 2048 or my Roguelike. If you know how to program, but would like to gain a deeper understanding of what is going on inside a compute
京都大学大学院 情報学研究科 通信情報システム専攻 修士2回生の五十嵐雄です.大学では,プログラミング言語理論,その中でも特に型システムの研究をしています. この記事では,私が特に力を入れて研究している漸進的型付けという種類の型システムについて紹介します.プログラムや型システムといった基本的な概念から解説していくので,プログラミング経験のない人も安心して読み始めてもらえたらと思います. はじめに プログラムとはコンピュータへの命令を記述したものです.2018年現在,私たちの生活は数多くのプログラムに支えられています. あなたがこの記事を Windows が入ったパソコンで見ているなら,まずその Windows がプログラムです.お家にテレビや冷蔵庫があれば,それらの中にもプログラムが内蔵されているでしょう.空いた時間にスマートフォンでゲームをするなら,遊んでいるゲームも全てプログラムです.
こんにちは、エンジニアのりさきゃんです! 最近、開発チームでモブプログラミングという開発手法を取り入れました。この記事では、モブプログラミングをすることになった経緯と実際やってみて感じたメリットを紹介したいと思います。 モブプログラミングのきっかけ おかげさまでエンジニアの採用もうまくいきはじめ、下半期は合わせて7名のエンジニアが開発にジョインしました。🎉🎉🎉 (※ まだまだ募集中です! ) 様々なレベルのメンバーが入社する中、安定的に機能開発をしていくためには Rails のレールに乗った開発を続けていくことが大切です。 SmartHR では Ruby on Rails プロダクトの開発を望ましい状態のまま続けていくことを目的として、2018年7月に技術顧問の willnet さんをお招きしました。willnet さんにはペアプログラミングを通じてRuby on Rails 開発の
あるいは、画像コメントのすすめ。 TL;DR 画像コメントのほうが意図が伝わりやすい 画像URLからツールチップで画像表示してくれるVSCode拡張機能があるよ その場で画像を作るSVGエディタもあったよ 問題提起 みなさんは、少し複雑なアルゴリズムを書くことになったときどうしていますか。 たいていの場合、いきなりコーティングに取り掛かるのでなく、 雰囲気をつかむためメモやホワイトボードに落書きすると思います。 特に幾何計算では簡単なものでも図を描いた方がいいです。こんな感じ。 図を書いたら後はコードに落とすだけです。 ね、簡単でしょう? // 指定した直線を対称軸としたときの指定した点の鏡映位置を返す function flipVectorByLine(p: Vector, line: Line): Vector { // TODO: よくわかるコメントを書く const ln = ne
Sep 17, 2018 ソフトウェアエンジニアの分野で活躍する女性がもっと増えてほしいという議論が日本だけでなくさまざまな場所で行われています。 数字で正確に推し量る事は難しいですが、やはり男性が多数を占める業界であるという認識が共有されています。 2013年にサンフランシスコで行われたJessica Lynn Suttlesさんの講演は個人的に目からウロコの内容でした。 歴史を紐解いて見ると、プログラミングへの大きな貢献を残した女性は数多く「女性が切り開いた業界」であるという一面があります。今回は海外で行われた講演や記事から読み取れる内容をまとめます。 その後、Ruby On Alesにてほぼ同じ内容の講演が行われこちらはアーカイブが残っています。(関係ないですが、confreaksはいいサイトですね。) The History of Women in Programming 世界初の
『プログラマのための圏論』はこれまでの分をまとめてPDFファイルにしました。参考にしてください。
2018年の夏に僕はセキュリティキャンプ(以下「セキュキャン」)というイベントでCコンパイラ作成コースの授業を行いました。授業はとてもうまくいったといってよいと思います。参加者は6人だったのですが、6人全員プログラミング技術がかなり飛躍的に向上したようですし、そのうち3人は期間中にセルフホスト(自分の書いているコンパイラで自分のコンパイラ自身をコンパイルできること)まで漕ぎ着けることができました。 この文章では、その授業をどのように僕が教えたのかということと、生徒にできるだけ多くのことを学んでもらって自信をつけてもらうために僕が何を気をつけていたのかという2つの点について説明します。 セキュキャンとはセキュキャンは5日間の合宿イベントで、学生を対象としてコンピュータセキュリティやプログラミングについて教えるというものです。いくつものコースが用意されているのですが、僕が受け持ったのは「集中コ
米Software Engineering Institute(SEI)のCERT部門は、静的解析によってコードの脆弱性を検出するアプリケーション「SCALe」(Source Code Analysis Laborator)をオープンソースで公開しました。 SCALeは、複数の静的解析ツールをまとめて実行するためのフレームワークでできており、今回公開されたアプリケーションにはセキュリティに関するコーディング規約「SEI CERT Coding Standards」およびSQLインジェクション、クロスサイトスクリプティング、バッファオーバーフローなど多くのソフトウェアの脆弱性を体系的に一覧化した「CWE(Common Weakness Enumeration)」(共通脆弱性タイプ一覧)の2つをベースにしたツールが含まれています。 SEI CERT Coding Standardsは現在、C/
子どもたちへのプログラミング教育が本格的に始まる。日本のハッカーの元祖と呼ばれる竹内郁雄東京大学名誉教授は、プログラミング能力と言語能力は関係があると話す。その理由と求められる人材像について聞いた。 国語力とプログラミングの関係 ―国語ができる人じゃないとプログラムは書けないと言及されています。 「国語力は広い枠組みで言えば、『情報伝達力とそれに伴う情報理解力』のこと。相手がコンピューターというだけで、プログラミング言語も言語の一種だ。論理的に固い機械が相手のため、プログラマーには明晰(めいせき)な言語表現が求められる。全ての側面ではないが、人間のコミュニケーションにも共通する」 「一方、現在の入試を念頭に置いた国語教育は読解が中心で、ある事柄を明晰に伝える訓練をしていない。自分で身につけるしかない。大学生を見ていると、よい文章を読むことで明晰に伝える力がついている。また、数学について英語
UNIX 開発者の一人である Ken Thompson が初期の UNIX にバックドアを仕掛けていたと言われている通称 Thompson hack を自作Cコンパイラで再現してみました。 Thompson hack は UNIX のログイン処理のコンパイル時にバックドアを仕掛けるようなコンパイラを作り、さらにコンパイラのソースコードからその痕跡を消し去るという神業です。 元ネタは Reflections on Trusting Trust という1983年に Ken Thompson が Dennis Ritchie と共にチューリング賞を受賞した際の記念公演です。 Ken Tohmpson はこの細工をしたコンパイラを配布したことはないと主張しているそうですが、このバックドアを利用したと見られる不審なログインがあったという報告もあったとのことで、実際にはベル研究所の外部に配布されていた
表を使って状態遷移を表現することもできる。transition[][]のような遷移表を作っておき、state = transition[state][input]のように現在の状態と入力から次の状態を計算するようにしておけばプログラムは簡単になる。 正確な遷移表を作ることだけ注意すれば良い。
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この資料の背景 この資料は、子供にプログラミングを教えるのに、音が鳴る題材だとデバッグが容易であることとに基づいています。音楽活動をされているプログラマの方々、音楽活動をされている方々がプログラミングに取り組む際の意見交換に基づいています。 何人かは、プログラマに転身される過程におつきあいしています。 そんな方の紹介からまず。 https://www.youtube.com/watch?v=qOOymLivqhU https://www.youtube.com/watch?v=ZBo-gvFN2mI 公開算譜(open source)は
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く