Elixirで、文字列連結演算子「」
Elixirで、文字列連結演算子「<>」です。今まで、こんな連結方法は見たことがないです。独特ですね。iex(1)>"he"<> rest = "hello""hello"iex(2)> rest"llo"iex(3)>file_read = File.read "priv/contents/"<> param...
View ArticleElixirで、String関数
Elixirで、String関数です。ユニコードを扱えるので、日本語も問題なし。$ iex -S mixiex(1)> str = "日本語のテスト""日本語のテスト"iex(2)> String.length str7iex(3)> sliced = String.slice str, 0, 3"日本語"iex(4)> String.first...
View ArticleElixirで、埋め込みテンプレート(Embedded Elixir)
Elixirで、埋め込みテンプレート(Embedded Elixir)です。EEx.eval_fileやEEx.eval_stringを使うと、簡単に実現できます。 iex(1)> EEx.eval_string "foo <%= bar %>", [bar: "お名前は?"]"foo お名前は?"iex(2)> EEx.eval_string "foo <%= bar...
View ArticleUbuntu系デスクトップLinuxの「Bodhi Linux」
Ubuntu系デスクトップLinuxの「Bodhi Linux」 興味をそそられたのでメモ。見た感じは、使いやすそうな印象です。デスクトップ環境としては「Enlightenment DR17」をベースとした「Moksha Desktop」が採用されている。軽量かつ軽快な動作が特徴で、低スペックなPCでも動作する。参考サイトUbuntuベースのLinuxディストリビューション「Bodhi Linux...
View ArticleBIND 9に危険度「高」の脆弱性
BIND 9に危険度「高」の脆弱性が見つかったとのこと。BIND 9は、日本国内でも脆弱性悪用を狙う攻撃が観測されていることから、まだ更新版を適用していない場合は対応を急ぐ必要があるそうです。参考サイト「BIND 9」の更新版公開、危険度「高」の脆弱性に対処(ITmedia)
View ArticleJSONでiOSアプリを作成できる「Jasonette」
JSONでiOSアプリを作成できる「Jasonette」 レイアウトに、アクション、スタイルと、それぞれJSONデータのみで、プログラミングしていくことになるらしいです。これ面白いですね。参考サイトHTTP経由でiOSアプリを簡単にプログラムできる「Jasonette」(GIGAZINE)Jasonette/JASONETTE-iOS(GitHub)
View ArticleElixirで、ファイル関数(File)
Elixirで、ファイル関数(File)です。ファイルのリストを取得して、並べている例。 iex(1)> file_lists = File.ls! "priv/contents/"["aaa.md", "bbb.md", "ccc.md", "ddd.md"]iex(2)> Enum.each(file_lists, fn x -> IO.puts x...
View ArticleElixirで、Eachループ
Elixirで、Eachループです。Enum.eachを利用して、Enum.each(リスト、関数)で、処理するらしい(?)iex(1)> file_lists = File.ls! "priv/contents/"["aaa.md", "bbb.md", "ccc.md", "ddd.md"]iex(2)> Enum.each(file_lists, fn x ->...
View ArticleElixirで、再帰(Recursion)
Elixirで、再帰(Recursion)です。特にリストの[head | tail]でループさせているのは特徴的で、慣れないと、難しいですね。Elixirでは、Forループすることはできず、そのかわり関数型言語は再帰に頼ります。関数は再帰的に呼び出され,停止の条件になるまで,動作し続けます.defmodule Recursion do def print_multiple_times(msg,...
View ArticleElixirでのPlugの基本
ElixirでのPlugの基本です。Plug.Connを利用する場合は、initで初期化して、callするということなのでしょうか。わかった気分を味わいつつも、ますます闇の中へ。Plugとは?Webアプリケーション間の構成可能なモジュールの仕様Erlang VM内の異なるWebサーバーの接続アダプタdefmodule MyPlug do import Plug.Conn def init(opts)...
View ArticleElixirでのPlugの基本(その2)
ElixirでのPlugの基本(その2)です。Plug.Routerを利用すると、ルーティングを制御できます。RouterにはPlugパイプラインが含まれており、デフォルトではmatchとdispatchの2つのPlugが必要です。 一致が見つかった場合は、ディスパッチに転送されます。 /my_plug/lib/my_router.ex defmodule MyRouter do use...
View ArticleサーバーサイドでレンダリングされるReactアプリケーションのためのフレームワーク「Next.js」
サーバーサイドでレンダリングされるReactアプリケーションのためのフレームワーク「Next.js」 変化が激しすぎて、ついていけないですが、とにかく要チェック。参考サイトext.js: ReactベースのシンプルなUniversal JavaScriptフレームワーク(InfoQ)zeit/next.js(GitHub)
View Articleブロックチェーンのオープンソースデータベース「BigchainDB」
ブロックチェーンのオープンソースデータベース「BigchainDB」 ブロックチェーンとは、分散型ネットワークで、ビットコインの中核技術として実装された技術だそうです。ブロックチェーンは多数のノードに同一の記録を同期させる仕組みである。 ノード間の記録に差異が生じた場合には、一定のルールに基づく多数決によって正統な記録を決定することにより、記録の同期を確保していく仕組みとなっている。...
View ArticleJSONデータを見やすくしてくれるChromeエクステンション「JSON Formatter」
JSONデータを見やすくしてくれるChromeエクステンション「JSON Formatter」 劇的に表示が改善されます。素晴らしい。参考サイトWeb APIなどで返されるJSONのデータをChromeブラウザで見やすくフォーマット表示させる(@IT)
View ArticleElixirでのPlugの基本(その3)「Supervised handlers」
ElixirでのPlugの基本(その3)「Supervised handlers」です。プロダクション環境では、アプリケーション監視ツリーの下で起動すべしということでしょうか?? 基本がなってないですねぇ。深く考えずに、こういうものだと言い聞かせて、進むしかありません。/my_plug/lib/my_plug.ex defmodule MyPlug do use Application def...
View ArticleElixirでのPlugのテスト
ElixirでPlugのテストです。use Plug.Testというモジュールを使うらしい。/my_plug/test/my_plug_test.exs defmodule MyPlugTest do use ExUnit.Case, async: true use Plug.Test @opts MyRouter.init([]) test "returns index" do # Create...
View ArticleElixirでSupervisor(スーパーバイザ)のstrategy(戦略)
ElixirでSupervisor(スーパーバイザ)のstrategy(戦略)です。strategyとはなんぞやということで、調べてみました。strategy()strategy :: :simple_one_for_one | :one_for_one | :one_for_all | :rest_for_one:one_for_one -...
View ArticleElixirで並行プロセス
Elixirで並行プロセスです。 Elixirは、並行処理のためにアクターモデルに依存していて、並行プログラムは3つの基本要素から成り立っています。 spawn(生み出す)send(送信)receive(受信)receiveの処理は、何度か繰り返してみると、徐々にわかってきます。iex(1)> pid = spawn fn -> 1 + 2 end#PID<0...
View ArticleElixir(Erlang)のパッケージマネージャー「Hex」
Elixir(Erlang)のパッケージマネージャー「Hex」 こういうウェブサイトがあると安心しますね(笑)。キーワードで必要なパッケージを探すことが可能です。
View ArticleTumblrがPHP5からPHP7への移行して、性能が大幅向上
TumblrがPHP5からPHP7への移行して、性能が大幅向上したそうです。こういった実例を示されると、やっぱり、PHP7を使うべしと思いますね。Tumblrのブログ記事ではレイテンシやCPU負荷のグラフも掲載されているが、PHP 7への移行でレイテンシは200ms前後から120ms前後になり、CPUロードアベレージも低くなっていることが分かる。参考サイトTumblr、PHP 5からPHP...
View Article