タグ

2017年12月13日のブックマーク (13件)

  • 世界がEnumから隠した秘密をひとつひとつ見つけていこうな #TypeScript - 角待ちは対空

    qiita.com はてなエンジニア Advent Calendar 2017 5日目の記事です。 前回はid:chris4403によるAmazon Pollyを試してみた - memo logでした。いやぁ社長さすがです!! さて今日はEnumについての話題です。 TypeScriptは実行時に影響を及ぼすような独自機能は積極的に導入しない傾向にありますが、ぱっと思いつく例外がEnumとNamespace(旧Internal module)です。 今日はそのEnumについての話です。 Enumのコンパイル結果 TypeScriptを書く上でJavaScriptへのコンパイル結果を意識することは少ないと思いますが、Enumについてはコンパイル結果を知っていたほうが理解が早いと思われます。 例えば以下のコードは enum IdolAttr { cute, cool, passion, } 以

    世界がEnumから隠した秘密をひとつひとつ見つけていこうな #TypeScript - 角待ちは対空
  • アニメ『ヴァイオレット・エヴァーガーデン』PV第4弾

    『ヴァイオレット・エヴァーガーデン』 2018年1月よりTVアニメ放送開始・Netflixにて全世界配信(日/2018年1月 全世界/2018年 春) 想いを綴る、愛を知るために。 感情を持たない一人の少女がいた。 彼女の名は、ヴァイオレット・エヴァーガーデン。 戦火の中で、大切な人から告げられた言葉の意味を探している。 戦争が終わり、彼女が出会った仕事は誰かの想いを言葉にして届けること。 ――戦争で生き延びた、たった一人の兄弟への手紙 ――都会で働き始めた娘から故郷の両親への手紙 ――飾らないありのままの恋心をつづった手紙 ――去りゆく者から残される者への最期の手紙 手紙に込められたいくつもの想いは、ヴァイオレットの心に愛を刻んでいく。 これは、感情を持たない一人の少女が愛を知るまでの物語。 【公式サイト】 http://violet-evergarden.jp 【公式Twi

    アニメ『ヴァイオレット・エヴァーガーデン』PV第4弾
    tyru
    tyru 2017/12/13
  • PEZYのスパコン、20ペタFLOPS達成 世界3位相当

    ベンチャー企業のPEZY ComputingとExaScaler(東京都千代田区)は12月13日、2社が共同開発した大規模液浸型スーパーコンピュータ「暁光」(ぎょうこう)が、実行性能で世界3位(国内1位)、エネルギー消費効率で世界4位(国内4位)に相当する性能を達成したと発表した。1249キロワットの消費電力で20.41ペタFLOPS(1秒間当たりの浮動小数点演算回数が1兆の2万倍)を実現した。 計測に使用した暁光は、CPU1万個(総プロセッサ数1986万コア)、総メモリ容量680TBで、理論性能では約28ペタFLOPSに達するという。今回の結果は、年に2回発表されるスーパーコンピュータのシステムランキングTOP500」(2017年11月時点)での順位で世界3位、電力効率のランキングである「Green500」(2017年11月時点)での順位で世界4位に相当する。

    PEZYのスパコン、20ペタFLOPS達成 世界3位相当
    tyru
    tyru 2017/12/13
  • 【LINE】「送信取消」機能を本日より提供開始 | ニュース | LINE株式会社

    取り消さなくてはならない誤送信メッセージは、24時間以内であれば履歴付きで取り消し可能に LINE株式会社(社:東京都新宿区、代表取締役社長:出澤 剛)は、同社が運営するコミュニケーションアプリ「LINE」 https://line.me/ja/ にて、24時間以内に誤送信したメッセージを取り消しできる「送信取消」機能を、日より提供開始しましたことをお知らせいたします。 LINEでは、リアルで即時性が高い日常のカジュアルなコミュニケーションを提供したいという思いから、これまで「送信取消」機能は取り入れていませんでしたが、ユーザビリティの向上及びコミュニケーションの選択肢を拡大させるための機能拡充の一環として、ユーザーの皆様がLINEで安心してより良いコミュニケーションを取れるよう、誤送信したメッセージを取り消しできる「送信取消」機能を提供する運びとなりました。 メッセージの取り消しは、

    【LINE】「送信取消」機能を本日より提供開始 | ニュース | LINE株式会社
    tyru
    tyru 2017/12/13
    「メッセージを取り消すことができるのはLINEの最新バージョンのみとなります」相手のバージョンが古かったらどうなるんだろ
  • Parcel 入門 ~Parcelはwebpackの代わりになるのか~ - Qiita

    2018/05/08追記 記事内容をv1.1.0からv1.8.1に対応したものに更新しました。 はじめに Parcelというモジュールバンドラを触ってみたので、その備忘録になります。 webpack時代の終わりとparcel時代のはじまり 結論から言いますと、機能がシンプルすぎて自分の実務での利用は難しいと感じました。~~~~そのため、2017/12/10時点(v1.1.0)ではwebpackの代わりにはならないです。 2018/05/08時点でv1.8.1になり、様々な機能が追加されました。しかし現在もwebpackで利用している機能がParcelにはないため、実務での利用は難しいです。 とは言えども設定ファイルなしでReactVue、ES2015などをビルドできるようになっているため、個人でちょっとしたコードを書いてビルドしたい時はこちらを使っていくと便利だと思いました。 そのため

    Parcel 入門 ~Parcelはwebpackの代わりになるのか~ - Qiita
    tyru
    tyru 2017/12/13
  • Implementing Japanese Subtitles on Netflix

    Japanese subtitles were first made available on the Netflix service as a part of the Japanese launch in September 2015. This blog post provides a technical description of the work we did leading up to this launch. We cover topics including our specification for source subtitle files, the transformation model from source subtitle files to those deliverable on the Netflix service, the model for deli

    Implementing Japanese Subtitles on Netflix
    tyru
    tyru 2017/12/13
    Timed Text Markup Language 2 (TTML2)
  • 意図的にプログラムの動きをランダムにしてバグを早期発見するテクニックについて|Rui Ueyama

    プログラムを書いていると、素直に実装した結果として毎回特定の条件が満たされているけど、来それは誰も保証してないという場面に出くわすことがよくある。保証されていない偶然の動作に依存することで生じるバグというのはかなり多い。 例えば最近では、ドラゴンボールZ ドッカンバトルというゲームで、2回SQL文を実行した結果が同じ順序で並んでいるという誤った期待をしているコードがあったせいで、ガチャの確率表示がめちゃくちゃになってしまって、運営が確率操作しているのではないかという騒動が発生したことがあった [1]。データベースでは空のテーブルにデータを追加してその直後に読み返すと、データを追加した順番に結果が返ってきたりしがちなので、問題のコードはきれいなテスト環境では偶然うまく動いてしまったのだろうと思う。 上のようなバグを防ぐために最近よく使われているのは、来保証しないところをわざと壊すという方

    意図的にプログラムの動きをランダムにしてバグを早期発見するテクニックについて|Rui Ueyama
    tyru
    tyru 2017/12/13
  • https://teratail.com/questions/104589

    https://teratail.com/questions/104589
    tyru
    tyru 2017/12/13
  • Goのパッケージ構成の失敗遍歴と現状確認

    この記事は Gunosy Advent Calendar 2017の5日目の記事です。前回の記事はGunosyのパーソナライズを支える技術 -ワークフロー編-でした。 GoAPIを書くときの問題僕の在籍するGunosyはGoを昔(?)から番採用しておりまして、ノウハウも潤沢に溜まっている企業だと言えます。 しかし、contextの扱いやベストなパッケージ構成、テスト、net/httpでAPIを書くノウハウなどなど、迷うことは多々あります。 これは弊社特有の事情ではなく、Goのサーバーサイドエンジニア全員にとっての問題です。中でも、パッケージ構成をどうすればいいのか(相互参照せずに快適に開発を進められるパッケージ構成とは)を見つけるのは結構難しく、各々のチームにお任せ、という状況です。 今回は上記の問題のうち、パッケージ構成に踏みこんで見たいとおもいます。会社でもよくパッケージ構成をどう

    Goのパッケージ構成の失敗遍歴と現状確認
    tyru
    tyru 2017/12/13
  • ドワンゴ川上会長、niconico運営責任者を“退任” 栗田取締役のもと新体制へ

    ドワンゴは12月12日、川上量生会長が動画サービス「niconico」の運営責任者を退き、栗田穣崇取締役が引き継ぐことを明らかにした。栗田氏はユーザーから批判が殺到した「画質、重さ」問題の対策を進めるという。川上会長は運営方針の決定権を移譲するが、新規サービスの開発などには携わるとしている。 12日午後8時からニコニコ生放送で配信した「動画と生放送サービスに対する意見交換会」で、栗田氏が明らかにした。これまでは川上会長が生放送番組など出演し、ユーザーとコミュニケーションする“窓口”を務めていたが、今後は栗田氏が引き継ぐ。 栗田氏は「(ユーザーの視点に近い)ニコニコが好きな20~30代の社員が『こういうことをしたい』と私のところに意見を持ってきて、ビジネス的に、ないしは中身のよさで判断する体制にしたい」と話した。 同社は11月末、niconicoの新バージョン「く」の詳細を発表。新ユーザーイ

    ドワンゴ川上会長、niconico運営責任者を“退任” 栗田取締役のもと新体制へ
    tyru
    tyru 2017/12/13
  • vim-shiny という plugin を作った - Qiita

    はじめに これはVim2 Advent Calendar 2017 13日目の記事です 前日の方に引き続き,自作vim pluginの紹介です. VimConf2017 の感極まり駆動開発で,vim-shinyというプラグインを作成した. 今までに,いくつかプラグインを実装したことはあるものの, そのほとんどが,syntax-highlightを行うためのもの (例えば,vim-jsx-pretty) だった. そのため,あまりふさわしくないコードなどが含まれているかもしれない. 背景 Atomのpluginである,vim-mode-plus の紹介をVimConf2017でされているときに,視覚的にわかりやすいインタフェース,具体的には,モーションを活用してyankなどを行ったり,ペーストしたりした時に,フェードアニメーションが表示されるのはわかりやすいと感じた, 実用時にもわかりやすい

    vim-shiny という plugin を作った - Qiita
    tyru
    tyru 2017/12/13
    おお
  • git rebase -iの時に役立つプラグイン - Qiita

    はじめに 以前、と言っても結構前ですが、タイトルにあるようなgit rebase -iの時に役に立つVimプラグインというのを作ったので、それを紹介したいと思います。 動機 僕の所属している開発チームでは、バージョン管理システムにgitを使用しています。 gitは広く知られている通り、分散バージョン管理システムと呼ばれているものの一つです。その特徴と言っていいのかわからないですが、gitを利用すると、手元でのソースコードの変更を、細かい単位でローカルのリポジトリにどんどんコミットしておき、それを適当なタイミングでコミット履歴を改変して内容を整理してから、チームで共有しているリポジトリに状態を同期させるようなことができます。 git rebaseとは、そのようにコミット履歴を改変するときに使用するコマンドです。 git rebaseコマンド、特に-iというオプションを付けたものは、コミットの

    git rebase -iの時に役立つプラグイン - Qiita
    tyru
    tyru 2017/12/13
    便利そう
  • Go言語のHTTPリクエストのレスポンスボディーとEOF - プログラムモグモグ

    Reader interface の Read 関数は、どのタイミングで io.EOF を返すのでしょうか。 まずは strings.Reader で見てみましょう。 package main import ( "fmt" "strings" ) func main() { r := strings.NewReader("example\n") for { var b [1]byte n, err := r.Read(b[:]) fmt.Printf("%d %q %v\n", n, b, err) if err != nil { break } } } 結果 1 "e" <nil> 1 "x" <nil> 1 "a" <nil> 1 "m" <nil> 1 "p" <nil> 1 "l" <nil> 1 "e" <nil> 1 "\n" <nil> 0 "\x00" EOF Readの結

    Go言語のHTTPリクエストのレスポンスボディーとEOF - プログラムモグモグ
    tyru
    tyru 2017/12/13
    あっ…やばい…