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

この記事は CSS Advent Calendar 2016 の5日目の記事です。 W3C Houdini Task Forceで進められている「Houdini」と呼ばれるプロジェクトの話をします。 FlexBoxの例 突然ですが、FlexBoxの話をします。 モジュールの横並びには重宝しますよね。 今年になってだいぶ利用が進んだ印象がありますが、随分と前からFlexBoxの仕様は存在していました。 一番最初の草案に遡ってみると、なんと2009年。 7年前です。 2013年くらいからFlexBox良いぞという記事はちらほら出始め、おそらく皆認識はしていました。 が、ブラウザの対応状況などを考慮し実装できずにいたと思います。 仕様定義の議論から実際にここまで普及するまで7年間もかかっているわけです。 流れを整理してみると、以下のようになります。 提案、議論、仕様書作成あたりに時間がかかるのは
「SHA1ハッシュってあるだろう?」 放課後、いつものように情報処理室に行くと、高山先輩が嬉しそうな顔でそう言った。 「ええ、SHA1、ありますね」 「SHA1って何桁か覚えているかい?」 「えっと…」 一年下の後輩、岡村が口を開いた。 「50桁くらいはありましたっけ…?」 先輩はパソコンに向かって何かを打ちはじめた。 現在、情報部の部員は三人しかいない。部長の高山先輩と、二年の自分と、後輩の岡村だ。いや、正確に言うと、先輩の学年にはもう少しいたのだが、もうほとんど部室に来ることはなくなってしまった。無理もない、この季節になると先輩たちは受験勉強で忙しくなる。 「例えば、こういうふうに… 適当なSHA1の長さを…」 echo -n | openssl sha1 | awk '{print length}' 部長だけは今も部活に来てこうやって色々なことを教えてくれている。本人曰く、普通に勉強
この記事は Vim Advent Calendar 2016 (その2) の 4 日目の記事です。 追記:oldfilesearch.vim のリポジトリへのリンクを貼り忘れていたので追記しました。 履歴管理プラグインへの懸念 履歴管理プラグインには様々なものがあります。 例えば MRU.vim であったり、unite.vim と連携する neomru.vim といったものがあります。 しかしこういった履歴管理プラグインは大体次のような処理を行います。 autocmd でファイルを開いた時にファイル名を記録する 履歴ファイルを作成してファイル名等の履歴を書き込む この方法だと autocmd を使うため Vim の動作が重くなる ファイルへの書込み処理にバグがあった場合、(ファイルの一覧を表示したり autocmd が実行された時点で) 動作が重くなったり、履歴が消えたりといった事が考えら
この記事はElm Advent Calendar 2016 の4日目です。 会社で書かせてもらってるElm製アプリが10000行を超えたので、現時点で個人的にこれはと思うベストプラクティスを実際のソース付きで書いてみる。 github.com (アプリについての情報は機会があれば) 1.必ずスタイルガイドに従う 行数が増える傾向にあるが、かなり読みやすくなるので絶対に従った方が良い。 Style Guide 関連コミット (let...in中に空行を挿入している) 2.データ構造にタプルを使わない 例えばマウスの位置などをタプルで(Int, Int)のように書きたくなる。しかし後悔するのでやめた方が良い。 -- 微妙 calculateX : Model -> Int calculateX model = let (x, y) = model.position in max 0 x --
ありがとうございました。 聞いたトークで印象に残ったもの OSS は Windows で動いてこそ楽しい - builderscon tokyo 2016 mattn さんが思ったより全くオッサン感なくてビビった。。。挨拶しようと思ったけどできなかったので、いつか(いつ?)挨拶したい。発表もおもしろかった。 動け!Golang 〜圧倒的IoTツール開発へようこそ〜 - builderscon tokyo 2016 IoTツール開発は生産管理ツールについてで、ものすごく貴重な話だと思った。懇親会でももうちょっと聞いたりした。 The Open Beer Server - theory and the implementation - builderscon tokyo 2016 今回のゲラゲラ枠っぽいが、ものすごい金かかっててやばかった…… C 言語で行う Web フロントエンドプログラミン
Svelte is a UI framework that uses a compiler to let you write breathtakingly concise components that do minimal work in the browser, using languages you already know — HTML, CSS and JavaScript. It’s a love letter to web development. But don’t take our word for it. Developers consistently rank Svelte as the framework they’re most excited about using.
C# Advent Calendar 2016の記事になります。何気に毎年書いてるんですよねー。今年は、つい最近ZeroFormatterというC#で最速の(本当にね!)シリアライザを書いたので、その動的コード生成部分にフォーカスして、ILGenerator入門、にしようかと思ってました。ILGeneratorでIL手書き、というと、黒魔術!難しい!と思ってしまうけなのですが、実のところ別に、分かるとそれほど難しくはなくて(面倒くさい&デバッグしんどいというのはある)、しかし同時にILGeneratorで書いたから速かったり役に立ったり、というのもなかったりします。大事なのは、どういうコードを生成するのかと、全体でどう使わせるようなシステムに組み上げるのか、だったり。とはいえ、その理想的なシステムを組むための道具としてILGeneratorによるIL手書きが手元にあると、表現力の幅は広がる
1/27 >> First Last ELVM Compiler Infrastructure はまじしん一ろう
Note: 8cc is no longer an active project. The successor is chibicc. 8cc is a compiler for the C programming language. It's intended to support all C11 language features while keeping the code as small and simple as possible. The compiler is able to compile itself. You can see its code both as an implementation of the C language and as an example of what this compiler is able to compile. 8cc's sour
この記事は Vim アドベントカレンダー 2016 の2日目の記事です. 先々月に ピュア Vim script な C コンパイラを公開しました. github.com この記事では 8cc.vim で用いた,ELVM を利用して 8cc という C コンパイラを Vim script にポーティング(移植)する方法についてチュートリアル的に解説してみます. まずは登場人物から説明します. 8cc 8cc は C で書かれたコンパイラです.C コンパイラとしては小さく(1万行ぐらい),コードが読みやすいです.小さい割に C11 をサポートしており,セルフホスト(自分自身のコードをコンパイルできる)されています.まさか作者も今回説明するような用途に使われることになるとは思わなかったと思います. ELVM ELVM とは Esoteric Langage Virtual Machine の略
Early Warning Detectors Using AWS Access Keys as Honeytokens この発想はなかった。 AWSのアクセスキーはハニートークンとして使える。 ハニートークンとは、普段使用しないものが使用されたことを検知して、意図しない利用を検知するトリックである。例えば、通常ならば使われないメールアドレスをパスワードとともに、自分しかアクセスできないストレージに格納しておく。その状態で、もしメールサーバーにログインされた場合は、自分しかアクセスできないはずのストレージに他人がアクセスして、マヌケにもメールアドレスとパスワードをストレージ上に保存しているのを発見して、利用を試みたということになる。つまり、侵入を検知できる。 AWSのアクセスキーは、ハニートークンに使うことができる。AWSに権限を持たないユーザーを追加して、そのユーザーでアクセスキーを発行
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? このエントリは Haskell Advent Calendar 2016 の N 日目ではありません。1 String_random.js をHaskellへ移植しました。こいつの元ネタは 10年以上前からあるPerlの実装 だと思うのですが、なぜかいろいろな言語へ日本人が移植をしています。 PHP Java golang その中でも JSへの移植 である String_random.js は300行未満のコードで \1 のような後方参照にも対応していているというとんでもない実装だったので、これをベースにHaskellへ移植して str
問題提起 近年、フロントエンドを Elm1 や React.js などで実現することが多くなり、Webサーバに求められる役割は、JSON形式のAPIを提供するだけでよい例も増えてきました。 しかし、規模によってはHTMLにサーバサイドで変数を埋め込んでそのまま表示したい案件も多く存在します。 JSON形式で良ければaesonなどの恩恵にあずかれば良いのですが、Haskellで書かれたWebサーバで、バックエンド側の変数を埋め込んだHTMLレスポンスを返すにはどうしたらよいでしょうか? Yesodの解決策と課題 HaskellのWebフレームワークとして歴史のあるYesodでは、Shakespeareを推奨しています。 Shakespeareは、Haskellっぽいインデントベースの文法を強制されるというデメリットがありますが、Template Haskellによってコンパイル時にテンプレー
Rewrite Rules(書き換え規則)について軽く説明します。 rewrite rulesはコードを書き換える最適化手法です。コードの書き換えに関してはユーザ自身が指定できるところがポイントです。 モジュラリティとパフォーマンスを両立するために使えたりします。 命令型言語で書き換え規則 javascriptを用いてfor文でArrayの変換を複数回実行することを考えます。 var doSomething1 = function (elem) { return elem + 2; }; var doSomething2 = function (elem) { return elem * elem; }; var initArr = [1,2,3,4,5]; var intermediate = []; for (var i = 0; i < initArr.length; i++) {
Haskellプログラマーなら誰でも経験するスペースリーク。 そして、スペースリークを経験したHaskellerは、おとなしくHaskellを捨て遅延しない言語を使うか、全部バングパターンなり、不自然なパターンマッチなりを意識的に何でも書いていくようになるのだった。。。という時期がHaskell世界にはありました。 GHC8で大きく正格評価サポートが入りました。具体的には、Strict拡張とStrictData拡張です。果たして、これでHaskellerは平穏を取り戻せるのでしょうか!? まあ、それはおいといて、今回はそもそもなぜこの拡張が必要なのか、そしてAdventCalendarらしく(僕の実力が足りないので)ゆるふわにStrictData拡張について紹介したいと思います。 多くのデータコンストラクタにはサンクを渡す必要はない 以下のようなデータについて考えてみます。
ICFP2016 の併設ワークショップ Haskell 2016 での ApplicativeDo のトーク Simon Marlow, et. al. ``Desugaring Haskell's do-Notation into Applicative Operations'' がおもしろかったので、ざっくり紹介してみたいと思います。 Applicative と Monad と do 記法 Monad は do 記法が用意されていて簡単に書けるので良く使われる一方で、Applicative には専用の記法がないため、Applicative で十分な場合でもプログラマは do 記法による Monad を使うことが多いようです。 Applicative では逐次実行の能力しかないため、くり返しや条件分岐ができない一方で、(<*>) の両辺は直接依存関係が無いため、Monad の場合と比べて
(これは Haskell Advent Calendar 2016 の7日目の記事です) 今年使ったり調べたりした Haskell ライブラリを広く紹介していく企画です。 あくまで今年使ったものなので新しいものばかりではないです。 また記事の性質上、紹介するものが偏っていてもご容赦ください。 Hackage にはすごい数のライブラリが登録されていて、 頼もしいことですが目が回りそうにもなってしまいます。 この記事が Haskell のライブラリを調べる上での指針になったら幸いです。 なおこの企画と方向性が似ているものとして State of the Haskell ecosystem ( 2016年2月版 ) があります(英語)。 これは Haskell を取り巻く環境を知る上で非常によいドキュメントです。 ただ各ライブラリについては名前を挙げるだけにとどめられています。 この記事ではもう
Welcome to Dia's homepage. Dia is a GTK+ based diagram creation program for GNU/Linux, MacOS X, Unix, and Windows, and is released under the GPL license. Dia is roughly inspired by the commercial Windows program 'Visio,' though more geared towards informal diagrams for casual use. It can be used to draw many different kinds of diagrams. It currently has special objects to help draw entity relation
Haskell Package Versioning Policy🔗 Rationale🔗 The goal of a versioning system is to inform clients of a package of changes to that package that might affect them, and to provide a way for clients to specify a particular version or range of versions of a dependency that they are compatible with. Cabal provides the raw materials for versioning: it allows packages to specify their own version, and
経済学者の高橋洋一氏と田中秀明氏が、日本の政府債務問題について論争を繰り広げている。当初は、巨額の政府債務をめぐる是非の話だったが、そのうち、日銀の当座預金に債務性はあるのかという、かなりテクニカルな問題に入り込んでしまった。多くの人は「何だかよく分からない」という感想を持ったのではないだろうか。一連の議論を投資家という観点から整理してみたい。 当座預金に債務性はあるのか? 論争の発端となったのは、11月1日に田中秀明氏がダイヤモンドオンラインに掲載した「『日本は借金が巨額でも資産があるから大丈夫』という虚構」と題するコラムである。この中で田中氏は、政府と日銀のバランスシートを統合すれば債務を大幅に圧縮できるという考え方(いわゆる統合政府論)について批判。仮に統合政府で債務を相殺しても、全体で見た負債は減らないと主張した。 田中氏は高橋氏を名指しで批判したわけではないが、田中氏のコラムを受
先日、書籍『されど愛しきお妻様』を上梓したばかりの文筆家の鈴木大介さん。「大人の発達障害」な“お妻様”と、41歳で脳梗塞で倒れ、高次脳機能障害を背負った鈴木さんの、笑って泣ける、18年に渡る家庭再生の軌跡です。 本記事は、『されど愛しきお妻様』執筆のきっかけとなった、病後間もない鈴木大介さんが高次脳機能障害を受容するまでの道のりです。 トイレでこっそりゼリーを食べる昨年初夏、41歳で脳梗塞に倒れた。 幸い一命は取り留め、血圧や血液の状態などを改善維持すれば再発リスクはそれほど高くないというが、左半身に軽度のマヒと、構音障害(呂律障害)、そして高次脳機能障害(以下「高次脳」)という聞きなれない後遺障害が残った。 リハビリを経て比較的短期間で回復したのは、身体や口回りなどフィジカル面のマヒ。ところが一方の高次脳については感情の抑制困難や注意障害・遂行機能障害が複雑に絡み合った形で残存し、結果と
やまざき・はじめ/1958年、北海道生まれ。東京大学経済学部卒業。現在、楽天証券経済研究所客員研究員。株式会社マイベンチマーク代表取締役。東京大学を卒業後、三菱商事に入社。野村投信、住友生命、住友信託、メリルリンチ証券、パリバ証券、山一証券、明治生命、UFJ総研など、計12回の転職を経験。コンサルタントとして資産運用分野を専門に手掛けるほか、経済解説や資産運用を中心に、メディア出演、執筆、講演会、各種委員会委員等を務めた。2024年1月1日、永眠。 山崎元のマルチスコープ 旬のニュースをマクロからミクロまで、マルチな視点で山崎元氏が解説。経済・金融は言うに及ばず、世相・社会問題・事件まで、話題のネタを取り上げます。 バックナンバー一覧 日銀の株式保有比率(ETFを通じた間接的保有比率)はすでに10兆円を超えており、GPIF(公的年金積立金管理運用独立行政法人)に次ぐ国内第2位の大株主だ 日
Netflixは、汎用のAPIゲートウェイとして、Zuulの再構築を発表した。Zuul[1]は、元々ブロッキングで同期するソリューションだった。Zuul2と呼ばれる新たな試みは、ノンブロッキングで非同期なソリューションである。Zuul2とZuul1の主要なアーキテクチャ上の違いは、Zuul2がNettyを使って非同期でノンブロッキングなフレームワークで動くことである。Zuulにおいてスループットを増やすためにマルチスレッドに頼っていた代わりに、NettyフレームワークはZuul2に同じことをするためにイベントループとコールバックを活用する。 InfoQは、Netflixの新たな試みの責任者であるエンジニアリングマネージャーのMikey Cohen氏に話を聞いた。 InfoQ: あなたは、Zuul2の新たな試みを旅のように述べている。長い旅のように思う?旅の全体像や動機付けを教えてくれる?な
Atlas Device SDKs are deprecated. Refer to the deprecation page for details. Atlas Device SDK is a suite of app development tools optimized for data access and persistence on mobile devices. Use the SDKs to build data-driven mobile, web, desktop, and IoT apps. The SDKs provide tools to read and write Atlas data from devices. Your app can sync automatically with MongoDB Atlas and other devices usin
[速報]顧客のデータセンターに大型トラックで乗り付け、100PBのデータを吸い上げる「AWS Snowmobile」発表。AWS re:Invent 2016 AWSは大容量のデータを顧客のデータセンターからAWSのクラウドへ物理ストレージを利用して効率よく転送するために「Amazon Snowball」を2015年に発表しました。 今回のAWS re:Invent 2016では、このAmazon Snowballの進化形として「AWS Snowball Edge」が発表されました。 Snowball Edgeは100TBの頑丈なストレージにコンピュート機能などを内蔵したことで、処理中のサーバに接続し、ストレージとして直接データを受け取るといったことが可能になります。 しかし「企業が保存しているデータがエクサバイトだったらどうだろう?」と、AWS CEOのAndy Jassy氏。「エクサバ
「全世界を100Gビット/秒の専用光ファイバー網で接続」「ルーター/スイッチ用半導体は自社開発」「一つのアベイラビリティゾーンで30万台のサーバーを運用」――。米Amazon Web Services(AWS)でデータセンター(DC)戦略を統括するJames Hamiltonバイスプレジデント(写真1)は2016年11月29日(米国時間)、「AWS re:Invent 2016」の基調講演で同社のクラウドの衝撃的な内部仕様を明らかにした。 Hamilton氏はこれまでもAWSの内部仕様を明らかにしているが(関連記事:「AWSの裏側を数字で教えよう」、上級エンジニアが秘密を公開)、同社の大陸間ネットワークの詳細やネットワーク機器用半導体を開発している事実、自社開発サーバー/ストレージの詳細を明らかにしたのは今回が初めて。ライバルである米Googleも最近、DCや自社開発サーバーの詳細を明らか
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く