Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

LLVM Projectは2月27日、コンパイラ環境LLVMの最新版「LLVM 3.6」およびLLVMベースのC/C++/Objective-Cコンパイラ「Clang 3.6」をリリースした。Goバインディングが加わったほか、Clangではデフォルトの言語仕様がC99からC11となり、C++17のサポートも開始されている。 LLVMはモジュラー形式で再利用可能なコンパイラとツールチェーンを集めたもの。ソースとターゲットに依存しないオプティマイザを備えるLLVM Coreライブラリ、LLVMネイティブで一定条件時にGCCより3倍高速というC/C++/Objective-Cコンパイラ、LLVMオプティマイザとコードジェネレーターをGCCパーサーに統合した「dragonegg」など多数のサブプロジェクトを擁する。ライセンスはBSDライセンスに似た「University of Illinois/N
Docker はひとつの Linux システムの上で、複数の Linux システムを動かすためのソフトウェアだ。システムの分離には Linux Containers (LXC) を、ファイルシステムまわりには Advanced multi layered unification filesystem (Aufs) をつかっている。 Docker は Go で書かれている。ソースコードは全体でだいたい15,000行で、そのうちおよそ 2/3 が本体、1/3 がテストとなっている。 % cat **/*.go | wc -l 14976 % cat $(ls **/*.go | grep -vi test.go) | wc -l 9797 % cat $(ls **/*.go | grep -i test.go) | wc -l 5179 % Docker Init, Docker Daemo
LuaをGo言語のみで実装した GopherLua を公開しました。 詳しくはGithubのREADMEを見ていただくとして、特徴としては以下になります。 Lua5.1ベース 5.1の機能はほぼ実装済み Compiler, VMともに完全にGo言語のみで実装 引数の受け渡し以外でのスタック操作が不要で使いやすいAPI なぜ作ろうと思ったか もともとC言語でものを作るときにはLuaを設定ファイルの代わりとして取り入れていました。Goではあまり拡張言語実装がないので、jsonだったりiniだったりを設定ファイルとして使っていましたが、やっぱり微妙にめんどくさい。変数くらい欲しいなあ・・・とか。 結局、固い言語だけでモノを作るのは難しく、やわらかさが必要になるポイントがあります。そういうところはまず、「設定ファイル」として外だしされます。そしてその設定ファイルがどんどん肥大化したり複雑化したりし
色々な事情があり,秘密のメッセージを送り合う必要性が今年に入ってから多数発生していて, そのたびに毎度毎度手で暗号化して〜みたいな風にやるのめんどいですね,そうですね, ということでこの度 naisho というものをこさえました.みんなには内緒ですよ. これは何かと言うと,やりとりしたい相手の GitHub の ID を指定するだけで その ID のユーザの ssh-rsa の公開鍵を引っ張ってきて その ID のユーザのメールアドレスを引っ張ってきて そのメールアドレスに対して公開鍵で暗号化したメッセージを添付ファイルにしてメールで送りつける という動きをするコマンドです. golang で書きたかったというのと golang で書くと便利なのではと思ったので golang で書いてあります. Wercker で Go のプロジェクトをクロスコンパイルし、GitHub にリリースする -
2014-12-08 開発効率化への道は一日にしてならず CyberAgent 開発 CyberAgent エンジニア Advent Calendar 2014の8日目です。 7日目はoinumeさんによるGoLangでJavaのenumっぽいライブラリ作った話 - おいぬま日報 でした(弊社もGoがだいぶきてますねぇ)。 サイバーエージェントの技術本部に所属している@stormcat24です。特定のプロジェクトにはジョインしてなくて、技術的な支援とか特命的ミッションをしています(簡単に言うと雑用)。サービスに関わらせてもらう日は来るのでしょうか。 さて、この時期では自分のミッションの一つである開発効率化というテーマで書きたいとおもいます。思えばこの1年半くらい様々な取り組みをしてきたような気がします。 Vagrant Vagrantは仮想環境の構築を支援するツールで、ChefやAnsib
ご無沙汰しております。@takihito (大先輩) です。 今月で40歳になろうという、今年のアドベントカレンダーでは最年長でしょうか。 今年つくったアプリケーションを紹介しつつ、人柱になってくれる勇気ある若者を募集しようという試みを持った4日目のエントリーになります 突然goがきたので... 突然のgo宣言が社内MLに流れたのですが、 目的なく言語を学習するタイプではないので 並列処理 クロスコンパイル がデプロイツールつくるのに良さそうだなぁと思い Archer::Plugin::Rsync をgoで再現してみることにしました Archer::Plugin::Rsyncとは何か 簡単に説明しておくとYAMLで記述した設定ファイルを元に複数サーバにソースコード等をばらまくデプロイツールです。古いモジュールですが弊社では、今も現役で使われています。 機能的にには十分なのですが、Perlモ
Googleで分散システムの開発をてがけ、現在はソーシャルメディア mttr.toを立上げ中のBen Sigelmanが、Goを分散システムの開発に利用する場合の、メリットおよびチャレンジについて講演しています。 分散システムのあるべき姿 分散システムの勘所は、最上位ビットをパフォーマンス的にも構造的にもうまく扱うことができるかというのがポイント。その効果が一番大きい。スループットの改善のような詳細は、自分もGoogleでそれに取組んだけれども、9ヶ月くらいたつとハードウェアの性能で解決される可能性が高い。また、構造的にというのは、なるべく小さなコンポーネントを組み合わせたシステムにできるかという意味。 Goのよいところは、 両方、とくに後者によい。Railsだとアプリを複数個用意して並列処理するのは大変だったけど、Goだとシンプルにできて、標準ライブラリも読みやすいとかなどなど。パフォー
update 2015/4/20: 技術評論社さんのおかげで、 無料で公開されることになりました! intro タイトルのとおり、 Web+DB Press の vol.82 に 「はじめての Go」 というタイトルで特集記事を書かせていただきました。 Web+DB press vol.82 届いた。特集で「はじめての Go」を担当させていただきました。 初見ももちろん、「Tour of Go の次」を探していた方の参考になれば幸いです! #wdpress #golangjp pic.twitter.com/UbUue18wlp— Jxck (@Jxck_) August 20, 2014 WEB+DB PRESS Vol.82 作者: 山口徹,Jxck,佐々木大輔,横路隆,加来純一,山本伶,大平武志,米川健一,坂本登史文,若原祥正,和久田龍,平栗遵宜,伊藤直也,佐藤太一,高橋俊幸,海野弘
さて、先日HDE社様で行われたGo lang勉強会に誘われたので最近の興味にあるgo-socket.ioの話をしてきました。 発表資料 go-socket.ioのベンチマークに使ったサーバーとクライアント yosuke-furukawa/go-socket.io-test · GitHub go-socket.ioの感想 golangでwebアプリ作ろうとすると、websocket実装はあるんですが、websocket使えない端末や環境では自前でfallbackする必要があり、若干面倒でした。socket.io相当のものがあればもう少し幅が広がると思ったので使って評価してみたその感想と性能評価の結果です。 性能に関してはまだまだNode.jsの実装の方が歴史が長いだけあって高速だし安定してました。 というわけで、まだ出来上がったばかりという感は否めなくて、これを使ってリアルタイムなアプリを
私はGo言語が気に入っていますし、多くの場面で使用します。現にこのブログもGoで書いています。Goは便利な言語ですが、優れた言語とは言えません。つまり、悪くはないけれど、十分ではないということです。 満足できない言語を使用する際は注意が必要です。注意を怠ると、その言語を次の20年間使い続ける羽目になるかもしれないからです。 私のGoに対する主な不満を本文にまとめました。既に何度も指摘されていることも含まれていますが、中にはこれまでほとんど話題になっていない指摘もあります。 これから列挙する全ての課題には既に解決策があることを示すため、私が優良な言語と考えるRustやHaskellと比較して説明します。 汎用プログラミング 課題 誰でもさまざまな事柄に幅広く対応できるコードを記述したいと考えます。例えば数のリストの合計を求めるために定義した関数が、小数、整数、またその他の合計を求められるもの
ttyrec で録画したデータを使ってターミナル上で再生しつつ、そのスクリーンキャプチャを使ってアニメーションGIFを生成するツールをGoで作ってみた。 https://github.com/sugyan/ttygif Releases Mac, Linux Desktopで動作。再生速度はオプションで変更可能。 背景 percolを使ってターミナル操作を早く、便利に。 - すぎゃーんメモ のような記事を書いたりする際に、ターミナル操作を録画してGIFアニメにしたい需要があり。 そういった用途に使える汎用のデスクトップ録画ツールとしてはLICEcapやGifzoなどがある。 Cockos Incorporated | LICEcap http://gifzo.net/ これらはWindows, OSXあたりが対象で、Linuxの場合はまた他のツールがあるらしい(よく知らない)。 汎用的なキ
Pure Go で辞書同梱な形態素解析器 kagome を公開してみました - Qiita という記事を見て、「Goで形態素解析できれば @zenra_bot もGoで作れる!」と思い、とりあえず全裸にするやつ作ってみた。 https://github.com/sugyan/go-zenra やってることは 全裸で形態素解析をするスクリプト - すぎゃーんメモ と同じで。 Kagome が MeCab と同様に形態素解析してくれる(同じ辞書を使っているらしい)ので、基本的にはそれを使って動詞の前に「全裸で」を挟み込むだけ。 $ go get github.com/sugyan/go-zenra/cmd/zenrize $ echo 'Goを書いてます' | zenrize Goを全裸で書いてます $ cat input.txt そうだ!嬉しいんだ生きる喜び たとえ胸の傷が痛んでも 何の為に
「visionmedia、Node.js辞めるってよ」って事で、今回はこの話の翻訳ですね。 Farewell Node.js — Code adventures — Medium 最近のnode.jsはホントTJ Fontaine のリーダー就任から始まってNode.jsでできたエディタであるAtomがreleaseされたり、gemのモジュール数をnpmのモジュール数が抜いたり、socket.io v1.0が出たりと色々あるんですが、今回の話は飛び抜けて衝撃的だったなぁと思ってます。 一応知らない方のためにvisionmediaについて説明しておくと、以下のモジュールは全てvisionmedia製です。 express (Web Applicaiton Framework) mocha (Testing Framework) jade (hamlライクなtemplate engine) s
原文:Why I’m staying in with Node なによりもまず、T.J. に敬意を表したい。これからは Go を推していくという大ニュースと、Node.js への別れの挨拶 とに感謝したい。ある問題に長く取り組んできた人は、時期が来たら別の場所へ進んでいく。そして彼の場合は、それが「仕事にふさわしいツールを使う」ことだった。 いいね。尊敬せずにはいられない。あいつはできる奴で、ヤバい。 僕はというと、まだ Node.js との付き合いを続けている。まだざっくりとした未来しか思い描けていないけれど、僕はずっと昔から JavaScript に賭けてきたし、ああ、なんというか、英語みたいなものかな。JavaScript はあらゆる所にある。 もちろんこれは喩えにすぎないのだけれど、T.J. が指摘した Node.js の問題点は、僕たちが英語に対して抱く問題に良く似ていると思う。
11. net/httpでWebサーバをたてる package main ! import ( "fmt" "net/http" "log" ) ! func hello(w http.ResponseWriter, r *http.Request) { //fmt.Fprintfでwに入るものがクライアントに出力される fmt.Fprintf(w, "Hello World!") } ! func main() { // アクセスのルーティングを設定する http.HandleFunc("/", hello) // portを指定して起動 err := http.ListenAndServe(":9090", nil) if err != nil { log.Fatal("ListenAndServe: ", err) } } 12. net/httpでWebサーバをたてる packag
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く