In computer science, a tagged union, also called a variant, variant record, choice type, discriminated union, disjoint union, sum type, or coproduct, is a data structure used to hold a value that could take on several different, but fixed, types. Only one of the types can be in use at any one time, and a tag field explicitly indicates which type is in use. It can be thought of as a type that has s
Celebrating Over 10 Years Of Being Too Lazy To Pick A Tagline A couple of months back, I analyzed whether I wanted to propose switching to Go for work. I've still technically got the blog post with the results of that analysis in the pipeline (though who knows when I'll get it up), but there's a part of it that keeps coming up online, and I want to get this bit out faster. It's about whether Go ha
How Go was made GopherCon Closing Keynote 9 July 2015 Andrew Gerrand Video A video of this talk was recorded at GopherCon in Denver. Watch the talk on YouTube 2 This talk How was Go made? What was its development process? How has the process changed? What is its future? 3 The early days 4 Three friends Robert Griesemer, Rob Pike, and Ken Thompson's thought experiment: "What should a modern, practi
1. Abstract Go should add the ability to create alternate equivalent names for types, in order to enable gradual code repair during codebase refactoring. This article explains the need for that ability and the implications of not having it for today’s large Go codebases. This article also examines some potential solutions, including the alias feature proposed during the development of (but not inc
vimでrailsを書いて3年くらいになりますが、 会社での覇権を完全にatomに奪われてしまい、 少しでも仲間を増やすために入門に関する情報を書いてみます。 vimのメリットとは cuiツールと相性がいい どんな環境でもだいたい入っているし、簡単に導入する方法がある(とくにサーバーでの作業とか) 起動がはやいサクサク作業できる(拡張していく際にも起動や動きが重くならないようにするべし) 情報が豊富、qiitaにも沢山記事がある キーバインドが独特でなれると思考の速度で作業ができる vimのキーバインドはいろんなエディタや、開発環境で使えるのでそれを覚えるだけでも生産性UP テキストオブジェクトなる概念があり、テキストの編集においてすごく便利 モードという概念があり、key一つ一つや組み合わせに機能を割り当てられる 拡張性が高い どんな人が向いているのか(主観) とにかくコードが書くのが好
2016 has been a great year for the Go language and the Go community. We love to celebrate the end of the year with a series of blog posts from the community on a wide variety of topics. Here are the articles from our previous three years: 2015 Posts 2014 Posts 2013 Posts As you can see from the quality of the past posts, you’re in for a treat this year. We’ve got articles lined up from some amazin
30 Nov 2016 Last week I’ve self-published my first book called “Writing An Interpreter In Go”, which you can get at interpreterbook.com. I want to tell you a little bit about why I chose to write this particular book. Sometimes I jokingly call the summer of 2015 my “Summer Of Lisp”. But, honestly, I’m only half joking when I say this. It really was a great and Lispy summer programming-wise: I was
これはカノジョできてるエンジニアAdvent Calendarの一日目です. ※こちらの記事はネタ記事です. ※Qiitaよりアドカレは削除されましたw 世間一般の共通認識です. 周りを見渡しても男の子ばかり,仕事も夜まで残業… いやいや,リア充エンジニアもたくさんいるのです!! エンジニア==カノジョいないの方程式をぶち壊すため,このアドカレが生成されました. アドカレの状況 本題に入る前に,Advent Calendarの登録状況を見てみましょう. カノジョできないエンジニアAdvent Calendar カノジョできないエンジニアAdvent Calendarは一瞬で埋まっています. およそ300日前、私たちエンジニアは「今年こそは」のキーワードを胸に出会いを求めていた なのに、なんで! ぼくは!ぼくたちは! そんな思いを胸に孤独なエンジニアたちが、今年も立ち上がる! クリスマス3連
イントロダクション これは@kumagiが一人でトランザクション技術に関する話をまとめていくアドベントカレンダーである。 トランザクション技術は多岐にわたり、複雑に絡み合い、DBの中で巨大な密結合コンポーネントを生み出している。そのためその中身を語るアドベントカレンダーも完全に順序付けて章立てしていくのは難しい。そのため様々な側面から一日に読めそうな文量の記事毎にまとめてアドベントカレンダーとするので、25日も話題が持つのかはさておき必ずしも記事の区切りは技術としての区切りの良さとは関係がない。 しかも初めの数日はトランザクションが実現する並行制御の理論的側面についての整理を淡々と述べるので退屈になること請け合いだけれど、可能な限り図解しながら説明を尽くすのでわからない所は容赦なくはてブやTwitterなどで書いて貰えたら適宜加筆修正をするつもり。 アドベントカレンダーを書くにあたって参考
#include <stdio.h> int main(void) { printf("hello,world.\n"); } gcc main.cでコンパイルして、./a.outで実行します。hello,worldが表示されれば成功です。 gcc main.c -o helloを実行すると、出力される実行ファイルがa.outからhelloになり、./helloで実行できます。 さらにパスを通すと./が不要になり、helloで実行できます。ちょっとコマンドっぽいですね。(パスは\$ export PATH=\$PATH:/ダウンロード先/tiny_code_editor/src等で通せます) 引数を取得する vi sample.txtのように、エディタが開く対象を指定できるようにしたいです。そのために、実行したときに右につけた文字列を取得したいですね。 int main(void)をint
「Slackを入れるとSIerはどうなるのか?」 しばらくブログを休んでいたので少しだけ自己紹介をしよう。アプレッソというベンチャー企業を立ち上げて、セゾン情報システムズという会社にexitした。そしていまはアプレッソの社長として仕事をする傍ら、セゾン情報システムズのCTOの仕事もしている。どちらかというといまはセゾン情報の仕事の比重が高いから、リアルの世界では「セゾン情報の小野」と思っている人の方が増えてきていると思う。 「このままでは、SIに未来はない。だから変わらなければならない。」 「当社の社員は言われたことしかできない。」 SIerの経営者と会話していると、よくこんな言葉を耳にする。 自分たちの未来を悲観している人たちが、未来を明るくできるのだろうか? だから私は、喜びと驚きのポジティブスパイラルで、SIerはどんな風に良くなるのか、壮大な実験をしてみようと思った。 その第一弾と
ドラマ「逃げるは恥だが役に立つ」通称逃げ恥を皆さん見ていますか? 我が家では毎回わーきゃー言いながら嫁と一緒に見ています。 あのドラマにムズキュンって言葉を当てた人は天才だと思います。 毎回次回が楽しみでしょうがありません、ドラマちゃんと見るの何年ぶりでしょうか。 さて本筋とは関係ないところで気になっていることがあります。 平匡さんの本棚の本・技術書です。 平匡(ひらまさ)さんはプログラマそして気になるのは本棚の本 主演の星野源さん演じる津崎平匡(つざきひらまさ)はプログラマです。 私と同じ職業です。 彼の本棚がちらちら映るのですがそこにある本・技術書があって、その本がなんなのか気になってしょうがありません。 何より平匡さんは優秀なエンジニアで、職場ではリーダー的な存在、同僚が直せない不具合も瞬殺で修正、 給与も良いらしく家賃15万くらいの家に住み、みくり(新垣結衣)を家事代行(事実婚・契
この記事は Vim 8.0 Advent Calendar の 1 日目の記事です。 Vim 8.0 では Vim script の関数機能が強化されました。この記事では Partials とラムダを紹介します。 Partials これまでの Vim script では function() 関数で関数参照(Funcref)を作成できました。これにより、関数を変数に入れ、直接呼び出すことができます。 let Foo = function('strftime') echo Foo('%Y-%m-%d') " => 2016-12-01 echo Foo('%Y-%m-%d', 1482634800) " => 2016-12-25
この記事は、はてなエンジニアアドベントカレンダー2016の1日目の記事です。 8月よりCTOになりましたid:motemenです。たいそうな肩書きがつきましたが、引き続きチーフエンジニアという役職も兼任しており、これまでどおりアプリケーションを書きつつ、技術組織の開発・改善をおこなっています。 せっかくの機会なので、このエントリでは現時点でのはてなのエンジニア組織の概観と取り組みを紹介しようと思います。 技術グループ はてなにおいてエンジニアと呼ばれる職種の人は、それぞれが提供するサービス(ウェブサービス、スマートフォンアプリ、インフラなど)を軸とする開発本部に属しつつ、職能を軸とした横串の組織である「技術グループ」に所属する、という形態を採っています。現時点で、ここに属するのは40名強になっています。 会社を駆動させていくお金を生み出すのは造られたシステムであったり、営業活動であったりす
Introduction to Go 1.8 The latest Go release, version 1.8, arrives six months after Go 1.7. Most of its changes are in the implementation of the toolchain, runtime, and libraries. There are two minor changes to the language specification. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. The release adds s
URLYou can post either your article on Qiita or your blog post. About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)
This post is for 1st day of [Go Advent Calendar (3)](http://qiita.com/advent-calendar/2016/go3). I’ll introduce several Golang tips which I guess is not popular but definitely it’s useful at least for me. Each tips are somewhat small to write one post for them, so I’ll introduce them by this post all at once. 1) gopkgs — List Go packages FAST by using the same implementation as goimports
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く