タグ

2016年5月1日のブックマーク (24件)

  • Bloomberg、OCamlのJavaScriptバックエンドであるBuckleScriptをオープンソース化

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Bloomberg、OCamlのJavaScriptバックエンドであるBuckleScriptをオープンソース化
  • Erlang仮想マシンでLispを実現するLFE

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Erlang仮想マシンでLispを実現するLFE
  • Lagom - Microservices Framework

    The opinionated microservices framework for moving away from the monolith Lagom helps you decompose your legacy monolith and build, test, and deploy entire systems of Reactive microservices Lagom is Approaching EOL This project will only receive security patches until July 1, 2024, at that point the project will no longer receive any additional patches. If you are an existing customer of Lightbend

  • Scala Native — Scala Native 0.5.4 documentation

    Scala Native¶ Version: 0.5.4 Scala Native is an optimizing ahead-of-time compiler and lightweight managed runtime designed specifically for Scala. It features: Low-level primitives. import scala.scalanative.unsafe._ type Vec = CStruct3[Double, Double, Double] val vec = stackalloc[Vec]() // allocate c struct on stack def sum(vec: Ptr[Vec]): Double = return vec._1 + vec._2 + vec._3 @main def main():

  • React、Redux、D3を用いたアニメーション | POSTD

    これは小さな粒を生成するものです。あなたがクリックした場所から、小さな円が生まれて飛び出していくのです。マウスを持って、動かしてみましょう。粒はカーソルから生み出され続けます。 モバイル機器や、マウスではなく指で動かすタイプのコンピュータだったらどうでしょうか。同じように動きます。 私はオタクなので、これが楽しいと思います。皆さんの見解は様々かもしれません。埋め込み画像をクリックして、円が飛ぶのを見てください。クールじゃないですか? 仕組み これは全てReact、Redux、D3を使って作られています。アニメーションのトリックはありません。少しの賢さが必要なだけです。 一般的な方法を、以下で説明してみます。 私たちは、ページ、SVGエレメント、内部の粒といった 全てをレンダリングするためにReact を使います。この全ては、propを使ってDOMを返す、Reactコンポーネントを使って作ら

    React、Redux、D3を用いたアニメーション | POSTD
  • 画像処理入門講座 : OpenCVとPythonで始める画像処理 | POSTD

    この記事を書くに至ったきっかけ Recruse Centerでは、私は、画像処理の勉強に時間を費やしていました。独学をし始めた頃は、何をするものなのか全く理解しておらず、ただ、文字や輪郭、模様などを識別するのに役立ち、これらで面白いことができる、ということくらいの知識しかありませんでした。 私の情報源は、主にWikipediaや書籍、公開されている大学の講義ノートです。これらの資料に慣れ親しんでくるにつれ、画像処理の世界における基礎を伝えられる「入門向け画像処理」を望むようになりました。 これが、この記事を書こうと思ったきっかけです。 前提条件 この記事は、Pythonが扱えるということを前提に書いています。その他の事前知識は必要ありませんが、NumPyや行列計算に慣れていると理解しやすいでしょう。 初めに 使用するのは、PythonOpenCVPython 2.7 ^(1) 、iPy

    画像処理入門講座 : OpenCVとPythonで始める画像処理 | POSTD
  • Go言語で利用するLLVM入門 | POSTD

    はじめに LLVMは、コンパイラを作成するための基盤です。2000年にChris Lattnerによって作成され、2003年にリリースされました。それ以来、LLVMリンカ lld やLLVMデバッガ lldb など幅広いツール群を持つ包括的なプロジェクトに発展してきました。 LLVMの秀でた特徴は、一般に LLVM IR と呼ばれる、その中間表現です。LLVMの考え方は、まずこのIRにコンパイルし、次にそのIRを、JITコンパイルする、インタープリタで実行する、または実行しているマシンのネイティブアセンブリにコンパイルするといういうものです。このIRの主なターゲットは、コンパイラです。実際LLVMを使用するコンパイラは、世の中に数多くあります。C言語とC++用はそれぞれclangとclang++、D言語用の ldc2 、RustSwiftなどです。 Emscripten のようなプロジェ

    Go言語で利用するLLVM入門 | POSTD
  • PHP: a fractal of bad design / fuzzy notepad

    (This article has been translated into Spanish (PDF, with some additions) by Jorge Amado Soria Ramirez — thanks!) Preface I’m cranky. I complain about a lot of things. There’s a lot in the world of technology I don’t like, and that’s really to be expected—programming is a hilariously young discipline, and none of us have the slightest clue what we’re doing. Combine with Sturgeon’s Law, and I have

    PHP: a fractal of bad design / fuzzy notepad
    emonkak
    emonkak 2016/05/01
  • 新しいTLSの暗号方式ChaCha20-Poly1305 - ぼちぼち日記

    Disclaimer エントリは、近々IETFで標準化される予定の新しいTLSの暗号方式 ChaCha20-Poly1305 について解説したものです。 来なら、新しい暗号方式を紹介するいうことは、その暗号の安全性についてもちゃんと解説しないといけないかもしれません。しかし一般的に暗号の安全性評価はとても難しく、専門家でない者が暗号の安全性について軽々しく書くわけにはいかないなとも思いました。いろいろ悩みましたが、結局無用な誤解を避けるため、エントリーでは ChaCha20-Poly1305 の安全性に関する記載を最小限に留めています。 今回紹介する ChaCha20-Poly1305 は、これまでも様々な暗号研究者の評価を受けている暗号方式ですが、まだNISTの標準や某国の推奨暗号リストに掲載されるといった、いわゆる特定機関のお墨付きをもった暗号方式ではありません。記載内容が中途半

    新しいTLSの暗号方式ChaCha20-Poly1305 - ぼちぼち日記
    emonkak
    emonkak 2016/05/01
  • flexbox レイアウトで内容がはみ出す理由: Days on the Moon

    「flex box layoutで中に長いテキストなどを含む幅可変要素のレイアウト - くらげだらけ」という記事が興味深いです。過去に「長い英単語を途中で折り返したいときの CSS の指定方法」にて、word-wrap: break-word と display: inline-block などの組み合わせには注意が必要 (word-wrap の指定が効かないように見えることがある) と述べたのですが、似たようなことが display: flex にも言えるようです。 この挙動は認識していなかったので CSS Flexible Box Layout Module Level 1 (flexbox 仕様草案、2016 年 4 月 2 日時点のもの) を見てみたところ、「4.5. Implied Minimum Size of Flex Items」(flex アイテムの暗黙的な最小サイズ)

    emonkak
    emonkak 2016/05/01
  • DNSSECを利用してゾーン情報を抜き出してみた(NSEC編) - hnwの日記

    さいきんDNSSECについて調べているのですが、普及について懐疑的な人が多いという印象を持ちました。批判点として運用の難しさを挙げる人も多く、仕様策定時に運用負荷の観点が入っていたらまた違ったのかなと感じたりもします。 また、運用面の視点以外に、技術仕様面でも批判的な人が一定数いるように思います(DJBが筆頭ですかね…)。批判の一つがゾーン情報の列挙(Zone enumeration)に関するものです。特に、初期のDNSSECの仕様では「NSEC walking」により完全なゾーン情報を第三者が取り出すことができました。これを改良するためNSEC3レコードが導入されたという経緯がありますが、今でもNSECで運用されているゾーンが一定数残っていたりもします。 稿ではNSEC walkingによりゾーン情報を読み出す方法を紹介します。 NSECレコードとは NSECレコードというのはDNSS

    DNSSECを利用してゾーン情報を抜き出してみた(NSEC編) - hnwの日記
    emonkak
    emonkak 2016/05/01
  • GitHub notifications on your menu bar - Gitify

    Current Version: v5.10.0. Released on 09/07/2024. Also available on Windows, Linux (AppImage), Linux (deb), Linux (rpm), Linux (snap). Ever got lost with GitHub notifications? Too many emails? Gitify is all about making your life easier. Sitting on your menu bar, it informs you for any GitHub notifications without being annoying and of course without adverts. It just gets the job done. Works with

    GitHub notifications on your menu bar - Gitify
  • 端末の上で動かして遊べる!迷路コマンドをGo言語で書きました! - プログラムモグモグ

    迷路で遊びたくなったので作りました。Goで書いています。 github.com Homebrewをお使いの方は、次のコマンドでインストールしてください。 brew install itchyny/tap/maze そうでない方は、次のコマンドでビルドしてインストールするか、 go get github.com/itchyny/maze/cmd/maze あるいは https://github.com/itchyny/maze/releases よりバイナリーを落としてご利用ください。 mazeコマンドは、ランダムな迷路を出力します。 maze --interactive引数を渡すと、カーソルを動かして迷路を遊ぶことができます。 maze --interactive --format colorを渡すと迷路が綺麗に表示されます。--widthや--heightなどで迷路のサイズを制御すること

    端末の上で動かして遊べる!迷路コマンドをGo言語で書きました! - プログラムモグモグ
  • 業務プロセス全域をデザインするにおいて、境界付けられたコンテキストを如何に捉えるかという話 - たなかこういちの開発ノート

    要約 エンタープライズ・システムでは、同じ用語でも、部門や担当が異なれば意味も異なっている、という状況は日常的です。各担当が各人のリアルとして見ている個々の"Fact"と、全ての担当の見解を統合的に説明できる“イデア”であり仮説である"Truth"には、乖離があるのが普通です。複数の"Fact"から唯一の"Truth"を見出すところは、まさにシステム屋に期待されているポイントではないかと思います。 Truthを見い出し得る限り、Truthを共有する統合された唯一の境界付けられたコンテキストを設置することを目指した方が、実装上の重複を避けられるなどの開発メリットを受けられます。これは普通のOO的方法論(=古典的OO)です。 対象領域の規模や複雑さからTruthを見い出し難い、あるいは見い出すことが出来ても共有し難い場合、個々のFactに寄り添って複数の境界付けられたコンテキストを設置する方が

    業務プロセス全域をデザインするにおいて、境界付けられたコンテキストを如何に捉えるかという話 - たなかこういちの開発ノート
    emonkak
    emonkak 2016/05/01
  • [C][IOCCC] The 24th IOCCC: Most Overlooked Obfuscation - まめめも

    衝撃的な問題作。まずはこの動画をご覧ください。あなたの常識が崩れるはず。 何の呪いでしょうか。 自分で試してみたい人のコピペ用。 wget http://ioccc.org/2015/endoh2/prog.c cat prog.c gcc -w -o prog prog.c ./prog ネタバレ解説 バックスペース文字の悪用です。コードを 20 文字程度書き、そこからバックスペース文字でカーソルを左に戻し、また 20 文字程度コードを書く、というのを繰り返す感じのプログラムになっています。バックスペースは普通の ASCII 文字なので、valid な C 言語プログラムが含んでいいのです。 こういうネタは初期の IOCCC でいかにも既出な気がしたので全チェックしたんですが、意外にも見つからなかったので出しました。賞名のとおり、「見逃されていた難読化」ですね。 ちなみに動画の最後でもデ

    [C][IOCCC] The 24th IOCCC: Most Overlooked Obfuscation - まめめも
  • PDOのサンプルで数値をバインドする際にintにキャストしている理由

    先日PHPカンファレンス北海道2016にて「『例えば、PHPを避ける』以降PHPはどれだけ安全になったか」と題して基調講演を担当致しました。その際のスライドはこちら。 そうしたところ、以下のご指摘をいただきました。 @ockeghem スライド拝見しました。39番目のスライドですが、バインドのタイミングでintにキャストするのはちょっと例として良くない気がします。意図的にオーバーフローを起こすことで想定外のレコードの取得を許してしまいそうです。キャストしない方がまだ安全だと思うのですが。 SQLデータベースは、int型よりも大きな桁数を扱える場合があるので、intへのキャストを避けた方がよいという指摘は一般論としてはもっともなものだと考えます。PHPの場合、9223372036854775807を越える数字文字列をint型にキャストすると、9223372036854775807が返ります(

  • 作って理解するWebフレームワーク - きしだのHatena

    前回、簡単なDIコンテナを作ってみたので、次はこれを使ってWebフレームワークを作ってみたいと思います。 Webサーバーをつくる まず、WebフレームワークなのでHTTPサーバーが必要ですね。なので簡単なものを作ります。 とりあえずブラウザからリクエストを受け取ったら200 OKとHTMLを返すだけのサーバーです。 今回は、そこらのブラウザからアクセスできればいいや、ということで、RFCとかの仕様に準拠することは考えません。 public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSoc = new ServerSocket(8989); for (;;) { Socket s = serverSoc.accept(); new Thread((

    作って理解するWebフレームワーク - きしだのHatena
    emonkak
    emonkak 2016/05/01
  • SKK-JISYO.lisp - みずぴー日記

    NL名古屋 - connpassでSKK辞書の話をした。 要約すると、特定の文字をエスケープするだけでEmacsLispが必要になってつらいという話だった。 Transiruで発表したので、発表時の音声等はこちらで聞ける。終盤早口になってしまったので恥かしい。声優吹き替えオプションが欲しい。 原稿 前提 自己紹介 こんにちは。 mzpです。 タイトルにあるように日本語入力システムとLispについて話したいと思います。日語のNと、LispのLでNLです。 何の話? 一言で日本語入力システムといってもたくさんの種類がありますし、Lispにもたくさんの種類がありますね。 ので、具体的に言うと、今日はSKKとEmacsLispの話をします。LispといってEmacsLispを持ちだすのは微妙な気がしますが、まあLispと名乗ってるわけですしOKでしょう。 SKKとは このSKKについてですが、こ

    SKK-JISYO.lisp - みずぴー日記
    emonkak
    emonkak 2016/05/01
  • Angular 2 + React Native

    Please welcome Marc Laval joining our blog as a guest author. Marc works at Amadeus in France as part of a group of developers there dedicated to contributing to Angular 1 and 2 core development as an integrated part of our team. We've been working closely with him on the React Native integration. Read on to learn how you can get going with it. -- Brad Green, Eng Director of Angular The Angular 2

    Angular 2 + React Native
  • いまさら Android 6.0 の Permissions at Run Time について - なるようになるかも

    ここに書いてある内容が正しいという保証が一切持てないので、けっして鵜呑みにしないでください。 とりあえず公式ドキュメントのRequesting Permissions at Run Timeをざっくり読みました。 ランタイムパーミッションの概要 Andorid 6.0(API level23)以降では、ユーザーはインストール時ではなく、アプリの実行中にパーミッションを付与します。 このアプローチにより、ユーザーはアプリのインストールやアップデート時に権限を付与する必要がなくなったため、インストールプロセスがスリムになります。 それだけでなくユーザーはアプリの機能単位で、より詳細な制御を行うことができます。 例えば、カメラアプリが「カメラ」と「位置情報」の機能を要求する場合、「カメラ」へのアクセスを許可し、「位置情報」には権限を与えないことができます。 ユーザーはアプリの設定画面へ行くことで

    いまさら Android 6.0 の Permissions at Run Time について - なるようになるかも
  • MozillaがProject Tofinoでブラウザの新たなあり方を模索中 - Mozilla Flux

    新たなパラダイムの探究 Firefoxはその成功ゆえに革新が難しくなるというイノベーションのジレンマに陥っている。そうした問題意識を背景に、ブラウザのユーザーインターフェイス(UI)のコンセプトが、1996年ではなく、2016年に作られたとしたらどうなるかを実験していくのが、Project Tofinoだ。プロジェクト名は、着想を得た場所がカナダのバンクーバー島にある同名の地域であったことに基づく。 プロジェクトのトップはMark Mayo氏。Mozilla CorporationでFirefox部門のSenior Vice Presidentを務める人物である。また、Firefox部門のLead DesignerであるPhilipp Sackl氏もプロジェクトに加わっている。しかも、チームのメンバーを少数に絞ってTofinoとバンクーバーに集め、他のメーリングリストやミーティングからも外

    MozillaがProject Tofinoでブラウザの新たなあり方を模索中 - Mozilla Flux
  • Servo, the Parallel Browser Engine Project

    The embeddable, independent, memory-safe, modular, parallel web rendering engine Servo is a web rendering engine written in Rust, with WebGL and WebGPU support, and adaptable to desktop, mobile, and embedded applications. 2024-06-28 This month in Servo: text fields, better emoji, devtools, and more! Plus font rendering performance, OpenHarmony and AddressSanitizer builds, and a new AI policy.

  • curl | bashをサーバーサイドで判定する方法

    Detecting the use of "curl | bash" server side | Application Security ソフトウェアをインストールするとき、シェルスクリプトを実行するのはよくあることだ。しかし、そのシェルスクリプトが他人のリモートサーバーでホストされていた場合、curl | bashするのは危険だ。まともなユーザーは、curl | bashする前に、まず中身を確認して、悪意がないことを確かめるものだ。 しかしもし、サーバー側がwgetやcurlといったツールとブラウザーを判定して、それぞれ別のコードを返した場合どうか。ユーザーが見るのは囮のシェルスクリプトだ。 しかし、それではcurlやwgetを利用してシェルスクリプトをダウンロードするユーザーは騙せない。しかしもし、curlcurl | bashを判定することができたらどうか。実は、できるのだ。 c

  • Big Sky :: Windows ユーザは cmd.exe で生きるべき。

    [D] Windowsはターミナルがダメだから使えないってのは過去の話? 基的にはいい感じに見えますが、いくつか問題は発覚してます。 http://blog.drikin.com/2015/01/windows-2.html 僕は Cygwin よりも msys2 が好きです 理由は最後の方に書きます。 cygwin は windows 上に完全な POSIX を提供するのが目的であって、msys2 は native な windows アプリケーションをビルドするのが目的なのでゴールが違うのよね。そして僕は全て cygwin で染められるのが好きじゃ無い。それだけの話です。 — mattn (@mattn_jp) April 10, 2016 もちろん msys2 を POSIX 環境としても使いますが、一番の目的は cmd.exe から Windows ネイティブなアプリケーションを

    Big Sky :: Windows ユーザは cmd.exe で生きるべき。