Virtual Machine in C # Here’s the GitHub to show what we’ll be making. You can also compare your code to this repository in case you have any errors: GitHub Repository I felt like writing an article about building your very own virtual machine in the C programming language. I love working on lower level applications e.g. compilers, interpreters, parsers, virtual machines, etc. So I thought I’d wri
An Introduction to LLVM in Go # LLVM is an infrastructure for creating compilers. It was initially created by Chris Lattner in 2000, and released in 2003. Since then it has evolved into an umbrella project that has a wide array of tools such as the LLVM Linker lld, LLVM Debugger lldb, and so on. The banner feature of LLVM is its intermediate representation, commonly referred to as the LLVM IR. The
はじめに LLVMは、コンパイラを作成するための基盤です。2000年にChris Lattnerによって作成され、2003年にリリースされました。それ以来、LLVMリンカ lld やLLVMデバッガ lldb など幅広いツール群を持つ包括的なプロジェクトに発展してきました。 LLVMの秀でた特徴は、一般に LLVM IR と呼ばれる、その中間表現です。LLVMの考え方は、まずこのIRにコンパイルし、次にそのIRを、JITコンパイルする、インタープリタで実行する、または実行しているマシンのネイティブアセンブリにコンパイルするといういうものです。このIRの主なターゲットは、コンパイラです。実際LLVMを使用するコンパイラは、世の中に数多くあります。C言語とC++用はそれぞれclangとclang++、D言語用の ldc2 、Rust、Swiftなどです。 Emscripten のようなプロジェ
私は大学時代に、興味本位でJavaScriptを始めて、それ以来ウェブページを幾つか作成してきました。JavaScriptは常にC言語やJavaの合間の楽しい息抜きでしたが、アニメーションや、ユーザをあっと言わせるようなちょっとしたことを提供するといった、特殊な目的にかなり限られた言語だと考えていました。JavaScriptは覚えやすく、開発者に具体的な結果をすぐにもたらしてくれるので、コーディングする方法を学びたいと思っている人に私が教えた最初の言語でした。JavaScriptにHTMLとCSSを少し組み合わせれば、ウェブページが出来上がります。プログラミング初心者には喜ばれます。 その後、あることが2年前に起こりました。当時、私は、主にサーバーサイドのコードとAndroid用のアプリのプロトタイプに取り組む研究職に近い立場にいました。すぐにNode.jsの存在が目に留まりました。バック
Writing High Performance Go GopherChina 17 April 2016 Dave Cheney Welcome 您好! Thank you for coming to my talk. Thank you also to the GopherChina organisers for inviting me to speak. My name is David. I'm a Go programmer from Sydney, Australia. I'm a contributor to the Go project and I run the Sydney Go Users' group. 2 Agenda This talk is aimed at development teams who are building production Go ap
先日飲んでいて「自殺未遂は恥ずべきことなのか」という話になった。 自殺未遂する心情へ簡単にアクセスできるようになったのは『南条あやの保護室』からだろう。ネットアイドルとして『卒業式まで死にません』というセンセーショナルなタイトルで本を出した彼女は本当に死んでしまった。 しかし死後も彼女を崇拝する人は後を絶たない。南条あやは死んだことで単なるメンヘラから、唯一無二の存在になったのだ。 「いいメンヘラは死んだメンヘラだ」とまでは言えないが、自殺未遂のプロこと太宰治が「恥の多い生涯を送って来ました」と述懐しているように「自殺未遂は恥ずかしいこと」とみなされているフシがある。そして恥ずかしいことだからこそ「こんなに自殺未遂してしまう自分」として陶酔する道具にもなっている。 だがそこまで自殺未遂は恥ずべきことだろうか。 そう考えると私の生き恥は、今までに作ったウェブサイトである。 Windows 9
私たちの救世主DHH™は最近の Full Stack Radioのインタビュー で、 Basecamp の最新版で彼がどのようにRailsのコントローラを書いたかを説明しています。下記は、彼のすばらしい話を書き取ったものです。 これまでに思うようになってきたのは、「RESTの原則に従うには、どのタイミングで新たなコントローラを作るべきかを一度決めたら、ほぼ異例なくその原則を遵守するべきだ」ということです。いつだってその方がうまくいくんです。自分の作ったコントローラの状態を悔やむのは決まって、作ったコントローラの数が少なすぎた時です。多くの処理を任せようとしすぎてしまうんです。 そこでBasecamp 3では、ある程度理にかなったサブリソースがあれば、毎回コントローラを分割していきます。フィルタなどの場合ですね。例えば画面があって、それがある状態になっているとします。もしこれにいくつかのフィ
担当するプロジェクトでGoでAPIを実装予定で、 利用するフレームワークの検証した際のメモです。 以下候補ですが、APIなのでシンプルで高速なもの&開発も活発なEchoを試してみました。 フレームワーク 最終コミット日 Latest release スター その他メモ Martini 2016/2/15 2014/5/20 8,248 ・モジュール形式のウェブアプリケーション/サービスを作成するパッケージ ・パフォーマンスはあまり良くない ・今後の開発が怪しい? Revel 2015/9/12 2015/03/25 6,457 ・RailsやPlayのようなfull stack web framework Gin 2016/1/30 2015/5/23 5,842 ・Martiniライクでパフォーマンスが良い ・今後の開発が怪しい? Negroni 2015/3/20 2014/3/31
前回、簡単なDIコンテナを作ってみたので、次はこれを使ってWebフレームワークを作ってみたいと思います。 Webサーバーをつくる まず、WebフレームワークなのでHTTPサーバーが必要ですね。なので簡単なものを作ります。 とりあえずブラウザからリクエストを受け取ったら200 OKとHTMLを返すだけのサーバーです。 今回は、そこらのブラウザからアクセスできればいいや、ということで、RFCとかの仕様に準拠することは考えません。 public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSoc = new ServerSocket(8989); for (;;) { Socket s = serverSoc.accept(); new Thread((
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く