ドットインストール代表のライフハックブログ
![IDEA * IDEA](https://cdn-ak-scissors.b.st-hatena.com/image/square/22e162c45acdb24f70eaca625f2776d09b13f8fa/height=288;version=1;width=512/http%3A%2F%2Fwww.ideaxidea.com%2Fwp-content%2Fuploads%2F2014%2F08%2FRocketboard.png)
MOOCのedXでParadigms of Computer Programmingという講座を受けた。 LouvainX: Louv1.01x: Paradigms of Computer Programming | edX 感動というものを頭に走る電撃と定義するならば、 このCourseは自分にとって、まちがいなく最高の感動だった。 プログラム言語のパラダイムやコンセプトが紹介される。 5つのパラダイムが紹介される。 Functional Programming(関数型プログラミング) Object-Oriented Programming(オブジェクト指向プログラミング) Deterministic Dataflow Programming(決定性データフロープログラミング) Multi-Agent Dataflow Programming(マルチエージェントデータフロープログラミン
class_file { magic // 0xcafebabe minor // 2 byte major // 2 byte constants modifiers // 2 byte thisClass // 2 byte superClass // 2 byte interfaces fields methods attributes } クラスファイルの先頭には必ず 0xcafebabe (カフェベイビー) が入っています。 minor, major はクラスファイルのバージョン番号が入っています。 バージョン番号の次は 定数プール と呼ばれる構造体です。 定数プールはクラスファイルの大部分を占めており、クラスファイルの様々な場所から参照されます。 modifiers はクラスのアクセス修飾子等を表現するフラグの集合です。 thisClass に入っている値は定数プールのインデッ
Go製フレームワークRevelの処理の流れです。 ざっくりとした処理の流れの話です。 以下、社内勉強会用資料。 revelの主な処理の流れ http://revel.github.io/manual/concepts.html Play Frameworkを参考に作っている。 基本的にはMVC。 revel アプリの作成方法 revel アプリケーションの作成 $ revel new sample ~ ~ revel! http://revel.github.io ~ Your application is ready: /Users/username/.go/src/sample You can run it with: revel run sample . ├── app │ ├── controllers │ │ └── app.go │ ├── init.go │
Scalaのマクロというより、一般的にマクロに共通する基本であり重要な部分です。それをScala使って説明するだけです。 Scalaのマクロは、未だexperimentalという位置づけで、他の機能に比べれば仕様やAPIが変わりやすい状態です。そして、機能が搭載されてからあまり時間が経っていないこともあって*1あまり一般的に使われているとはいえない状態でしょう。しかし、Cなどのマクロとは違い、Scalaのものはある程度は本格的にコンパイル時に抽象構文木を自由にいじれるものであり、使いこなせるようになってくるとなかなかおもしろいです。 マクロというと、ある程度の人はLispを思い浮かべると思いますが(?)、先ほど書いた「本格的に抽象構文木いじれる」という点はまさにLispと共通する部分もあります(もちろん異なる部分も多くあります)。 つまり、これから説明することは、On Lisp*2 On
YAPC::Asia Tokyo 2014で、いろんな言語を適材適所で使おう - YAPC::Asia Tokyo 2014という話をしてきました。 これまでのソフトウェアエンジニアとしての経験から、継続的に価値を提供し続けるための技術選択はどのようにあり得るのかということをずっと考えていて、「「技術的負債」を問いなおす」というタイトルでJAWS DAYS 2014で話してきた #jawsdaysや、GMOペパボのエンジニア新人研修 #lldiverという発表でもそのあたりの問題意識に基いて話したりしてきました。今回の話は、では、それらの延長線上での、将来における技術選択の最適化について考えてみました。 もうちょっとちゃんと定量化できる感じにしたいけど、まだまだ難しそうだなあという感じ。もうちょっと深堀りして考えていきたいと思います。
atom-shellとはどういうもので、どのようにすれば動かせるのかということを調べているので、その過程で得られた情報をまとめておく。 atom-shellでデスクトップアプリをつくれる GitHub製のAtomというエディタはatom-shellというライブラリを利用して実現されている。atom-shellはJavaScriptでデスクトップアプリケーションをつくるための便利なライブラリで、ネイティブAPIを実行するための実行環境を提供することでそれを実現させようとしている。Webサーバの代わりにデスクトップアプリケーションに特化したNode.jsの実行環境だと考えても良いだろう。 atom-shellには2つの側面がある Node.jsでWebアプリを書いたことがあれば分かるかもしれないが、JavaScriptのコードにはサーバサイドで動かすためのものとクライアントサイドで動かすための
Easy to install Simply run the binary for your platform. Or ship Gogs with Docker or Vagrant, or get it packaged. Cross-platform Gogs runs anywhere Go can compile for: Windows, Mac, Linux, ARM, etc. Lightweight Gogs has low minimal requirements and can run on an inexpensive Raspberry Pi. Some users even run Gogs instances on their NAS devices.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く