タグ

Erlangに関するraimon49のブックマーク (18)

  • Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ

    Ruby の開発をしている技術部の笹田です。娘が自転車に乗り始め、まだ不安なためずっとついていなければならず、少し追っかけまわしただけで息切れがヤバい感じになっています。運動しないと。 ここ数年、Ruby で並列処理を気軽に書くための仕組みである Ractor を Ruby 3.0 で導入するという仕事を、クックパッドでの主務として行ってきました(クックパッドから、これ、と言われていたわけではなく、Ruby を前進させるというミッションの上で行ってきました)。 Ractor は、もともと Guild という名前で開発をはじめ、2020年の春頃、Ractor という名前に変更することにしました。いくつかの機会で発表しています。下記は、RubyKaigi での発表の記録です。 A proposal of new concurrency model for Ruby 3 - RubyKaigi

    Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ
  • なぜ Zig の採用を検討しているのか

    かなり雑に書いてるので、雑に読んでください。 BunZig で開発されていることを知り、そこから Zig を調べてみています。 調べていくと自分が求めていた言語っぽいというのがあり、社外では学生に QUIC や TLS 1.3 を Zig で OSS を開発してもらうお仕事を出したり、社内では実際に採用に向けて調査を進めています。 そもそもの目的自分の会社では Erlang VM を利用した製品をメインに利用しています。ただ Erlang VM 遅いんです。少なくとも暗号処理であれば Rust の方が 2 倍ほど速いです。Erlang VM 自体 JIT を採用したり、いろいろ頑張ってくれているのですが劇的な高速化というのは今すぐには難しいのが現実です。 そこで NIFs (Native Implemented Functions) を使って頑張るという戦略があります。早い話が Er

  • オブジェクト指向プログラミング -- 1兆ドル規模の大失敗

    CodeIQのブログより。🤔 なぜ、OOPから移行する時なのか Ilya Suzdalnitski OOPは、多くの人にコンピューターサイエンスの重要資産と考えられています。コード構成(code organization)に対する究極のソリューション。すべての問題の終焉。私たちのプログラムを書くための唯一の当の方法。自分自身をプログラムするという真なる唯一神から私たちに授けられました… それまでは、そうではなく、抽象化の負担、そして無差別に共有されるミュータブルなオブジェクトの複雑なグラフによって、人々は屈し始めています。現実世界の問題を解決するのではなく、「抽象化」と「デザインパターン」について考えるのに貴重な時間と頭脳が費やされています。 非常に著名なソフトウェアエンジニアを含め、多くの人々がオブジェクト指向プログラミングを批判してきました。驚くことに、OOP自身の発明者でさえ、今

    オブジェクト指向プログラミング -- 1兆ドル規模の大失敗
  • 雑把の仮想マシン(JVM, .NET, BEAM, スクリプト言語, LLVM) | プログラマーズ雑記帳

    今回は JVM, .NET といった仮想マシン(VM)についての記事です。 最初、 .NET と仮想マシンの説明のスライドを作っていたのですが、 最近 JVM と BEAM を少し調べて興味がでてきたので、合わせて VM の話としました。 そうすると今度は、スクリプト言語や LLVM の話も外せないなと思って足したら、結構な大作になってしまいました。 JVM に絞った話では、以下の記事にも説明を書いているので、こちらもご覧ください。 JDK のインストール(Windows)と Java 関連用語の説明 | プログラマーズ雑記帳 スライド版です。 ここからブログ版です。 はじめに 仮想マシンといっても、 OS のエミュレーターのようなものではなく、 JVM といったプロセス仮想マシンについてのお話です。 JVM 、 .NET Framework など最近、この仮想マシン(VM)のシェアが大幅

    raimon49
    raimon49 2019/03/30
    各種VMの目指しているゴールの違い。とても分かり易い。
  • 同時接続 700 万、秒間 2 万通という Nintendo Switch 向けプッシュ通知システム NPNS の資料を読んで

    AWS Summit Tokyo 2018 で実施されたセッション資料・動画をダウンロードすることができます。(順次公開) ※AWS Summit 2018 へお申し込みいただいていない場合、別途ダウンロード申し込みが必要となります。… 【任天堂様ご登壇事例】Nintendo Switch (TM) 向けプッシュ通知システム「NPNS」AWS はよくわからないので Erlang/OTP 視点のみです。 ejabberdejabberd はフランスの ProcessOne という会社が開発している XMPP サーバです。XMPP が何かはここでは説明しません。 ejabberd は TLS や XML 周りの性能を出すため C で書かれている以外、他はすべて Erlang/OTP で書かれています。 ejabberd の歴史はとても古く、自分が Erlang を学び始めた頃にはすでにありまし

  • Discord の採用している技術

    Discord はゲーマー向けのボイスチャットサービス。テキストチャットもできるし最近ではビデオチャットや画面共有もできるようになった。 UI はかなり Slack に似ている、モダンなデザインということなんだろう。 WebRTC 技術を利用しているということで、とても気にはなっていたが使うタイミングがなかったことからあまり追いかけていなかったが、先日ビデオチャットと画面共有が追加されたということで色々調べてみることにした。 ElectronWindows/Mac/Linux 向けのデスクトップクライアントには Electron を採用している。かなり早い段階から採用しているイメージ。Electron は Chromium ベースなので WebRTC が利用できる。WebSocket もバリバリ使ってる模様。 Electron を使うことでブラウザとほぼ変わらぬ動き、UI を再現している。

  • 分散型NoSQLデータベースの「Basho」をオンラインブックメーカーの「Bet365」が買収。全製品のオープンソース化を表明

    分散型NoSQLデータベースの「Basho」をオンラインブックメーカーの「Bet365」が買収。全製品のオープンソース化を表明 分散型NoSQLデータベースの「Riak」を開発、販売していた米Basho Technologiesは、8月下旬にオンラインブックメーカーの英Bet365 Groupに買収されたことが明らかになりました。 BashoのRiakは分散NoSQLデータベースで、キーバリューストア、オブジェクトストレージ、時系列データベースなどの機能を備えた製品が用意され、関数型言語の1つであるErlang(アーラン)が開発に使われていることでも知られていました。 買収したBet365はグローバル展開している老舗のオンラインブックメーカー。サッカーや野球、クリケット、ラグビー、、競馬、アイスホッケー、サイクリング、ダーツ、eスポーツなど、さまざまなスポーツを中心にオンラインによるブック

    分散型NoSQLデータベースの「Basho」をオンラインブックメーカーの「Bet365」が買収。全製品のオープンソース化を表明
  • ドワンゴがRustで分散ファイルシステムを作っているらしい

    第2回 大量トラフィックを支えるインフラ~独自プロトコル,ファイルシステムの実装もいとわない!~ ドワンゴが分散ファイルシステムを作っているというニュースを見た. しかもRustで. ニュース以上のことも知りたくなったがツテがないし, あったとしても教えてくれるわけがないので外側から推測することにした. 実は分散ファイルシステムも独自に開発しました。もともと既存のオープンソースのファイルシステムを使っていたのですが,それだと期待する性能が出ないことがわかり,独自に調査開発を進めることにしました。 Rustという言語で,ガベージコレクションがなく,C++にメモリ安全性の機能を付加したようなものです。ニコニコの動画・生放送の配信基盤開発ではErlangを使うことが多いのですが,レイテンシを細かく制御したい分散ファイルシステムの分野では,どうしてもガベージコレクションが気になってきます。たしかに

    ドワンゴがRustで分散ファイルシステムを作っているらしい
  • ほころびていくコミュニティとなかなかできない世代交代、そしてさよならアドベントカレンダー - Qiita

    追記: 以下の文章に対して佐藤広生先生が自らの体験に即した意見を述べておられます。ぜひ一読をお勧めします。 昨年2015年にjp.freebsd.orgドメインの終焉に伴い地域技術コミュニティの役割というポエムを書いた。今年のはその続編である。こんなポエムを書くのも今年で最後にしたい。 51歳を越えたオッサンがPort maintainerをやる状況 今年2016年は初めてFreeBSDのPort maintainerになった。devel/git-lfsとjapanese/dbskkd-cdbの2つについてである。どちらも自分の仕事に必要だったが、前のmaintainerが作業をしないままか、あるいは他の事情でmaintainer不在の状態になったか、という事情からである1。 Port maintainerをやること自身には異存はない。日にもTeXLiveのPortsを仕切っておられる佐

    ほころびていくコミュニティとなかなかできない世代交代、そしてさよならアドベントカレンダー - Qiita
    raimon49
    raimon49 2016/12/25
    >今後、企業や財団の後ろ盾のないコミュニティは、急速に衰退していくのではないだろうか
  • Serverless Architecture

    補足: AWS Lambda のコンテナのライフサイクルについては説明を単純化していますので、詳しくは http://www.slideshare.net/keisuke69/aws-lambda-46129981 こちらの 42 ページ以降を参照してください

    Serverless Architecture
    raimon49
    raimon49 2016/10/25
    FaaS採用事例集が面白い。ステートレスで良いならHeroku上でbot運用するよりも落ちない分だけ安定する。
  • Rebuild: 158: Kill All The Threads (ko1, Matz)

    Koichi Sasada さん、まつもとゆきひろさんをゲストに迎えて、Guild, Ruby 3 などについて話しました。(9/10 RubyKaigi 2016 にて収録) Show Notes RubyKaigi 2016 A proposal of new concurrency model for Ruby 3 Koichi Sasada: A proposal of new concurrency model for Ruby 3 (RubyKaigi2016) Global interpreter lock Ruby creator floats new concurrency model ギルド verse | RubyGems.org Rust: Ownership and Lifetimes Erlang -- Processes Racket: Places Soft

    Rebuild: 158: Kill All The Threads (ko1, Matz)
    raimon49
    raimon49 2016/09/16
    ギルドと所属 受け渡しできるオブジェクトを不変なものに限定して安全に並列処理させるアイディア
  • 【前編】華麗なるキャリアの道程は、『ドワンゴ』から逃げ出したい一心から!?

    Twitterでハッシュタグ「#naoya_sushi」が生まれてしまうほど、無類の寿司好きとして知られる伊藤直也氏(@naoya_ito)。そんな伊藤氏をホスト役とし、トップエンジニアをゲストに招いて、寿司をつまみつつホンネで語ってもらおうという、この企画。 第七回にして対談もついに最終回を迎えることになりました。その栄えある最終回を飾ってくださるのは、あの『株式会社ドワンゴ』の川上量生氏! 創業期からエンジニアとして第一線で活躍し、現在は代表取締役会長と『象徴CTO』を兼務。そして『株式会社KADOKAWA・DWANGO』(10月1日付で社名を『カドカワ株式会社』に変更予定)の代表取締役社長、『スタジオジブリ』のプロデューサー見習い、アニメーション製作会社の『株式会社カラー』では取締役と、業界では知らぬ者はいないスーパースター。そんな川上氏が、プライベートでもゲーム仲間として交流のあ

    【前編】華麗なるキャリアの道程は、『ドワンゴ』から逃げ出したい一心から!?
    raimon49
    raimon49 2015/09/01
    大量退職問題とソシャゲバブル
  • Damien Katz氏がApache CouchDBから離反し、Couchbase Server開発を継続

    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が最近リリースされ、重要な変...

    Damien Katz氏がApache CouchDBから離反し、Couchbase Server開発を継続
  • WebRTC サーバを開発する理由

    ブラウザ同士がやりとりする WebRTC 、当たり前だが WebRTC をサーバ側に用意することでブラウザとサーバでのやりとりを実現する事ができる。 理由はたった一つでサーバ側で配信データをコントロールすることが出来るようになるからだ。 通常の WebRTC を使って一人が複数人に配信する場合はこうなる 大きく違うのはサーバがブラウザを管理したり、データの流れを管理できるようになることだ。これはニコニコ動画の生放送をイメージして貰えば良いと思う。 もちろんサーバを経由することでサーバ側での録画も可能になる。もともとクライアント側で録画はできたが、P2P で動作されるとサーバ側での録画は難しくなるからだ。 これらの仕組みをプラットフォームとして提供しているのが tokbox だ。

    WebRTC サーバを開発する理由
  • ErlangとGolangを比較してみる

    よくこの2つの言語を比較する人がいるように感じる。 両方ともサーバープログラム用途で用いられる言語なので、分からなくもないのだが、この2つの言語は似て非なる物だ。 プロセス周りに重点を置いて違いについて自分なりに纏めてみた。 両方とも触れてから1年と経っていないので、間違いがあれば指摘をもらえると嬉しい。 主な違い Erlang Golang

    ErlangとGolangを比較してみる
  • Shibu's Diary: 未来のないJavaScriptと非同期とErlang

    渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 JavaScriptはもう好き嫌いを超えて、最低限の読み書きはもはや教養レベルといっても言い過ぎではないと思います。ブラウザ限定だったら他の言語もありますが、ブラウザで標準で使える言語はJavaScript以外には選択肢はありません。3DCG系のツールのマクロ言語は未だにPythonがトップシェアだと思いますが、Flash, Photoshop, Illustratorの仕事を効率化するマクロ言語はJavaScriptですよね。先日AppleのOS Xの次期バージョンの自動化ツールが独自言語に加えてJavaScriptをサポートすることを発表しました。サーバサイドで使われるnode.jsは、コンパイル言語を除けばトップクラスの性能です。QtもQMLとしてJavaScriptを中

    raimon49
    raimon49 2014/06/29
    JavaScriptのPromise出自はJavaのFuture/PromiseではなくPythonのTwisted、という前置き。
  • node.js vs Erlang (ネタ) - kuenishi's blog

    ついぞ最近node.jsなんてのがでて、繁華街のあちこちでチヤホヤされてる。そんなときに、モヒカン族Erlang村(erlang-questions)に「node.jsってどうなの?」的燃料が投下されたわけですよ。これは炎上しそうだ…と追いかけてたら、ネタどころか案外真面目なハナシばっかりだったのですが。まずは真面目に問いかけをする純朴な成年(想像)。 「Erlang好きだし使ってるんだけど、Erlangとnode.jsてそれぞれどういうジャンルがすごいの?RabbitMQとかejabberdみたいなのつくろうとしたらどうなるの?簡単なチャットサーバーつくるくらうならnode.jsのが断然簡単だよね?分散システムで使うなら断然違うとか? Ulf Wigerによると、ブロックする関数の問題を簡単に解決してくれるとか書いてあるみたいだけど (link)」 おっお。素直な質問。これはみんな釣られ

    node.js vs Erlang (ネタ) - kuenishi's blog
    raimon49
    raimon49 2010/10/17
    >「node.jsってPythonのTwistedだったりRubyのEventMachineみたいなもんだよ」
  • PythonプログラマのためのErlang入門 — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 例によって翻訳です。Erlang for Python Programmersという英文記事の翻訳です。 Pythonを使っている人が関数型言語の考え方を学ぶのによい記事になってます。 Pythonはコードが分かりやすいので,Pythonistaだけでなく,RubyPerlPHPそしてJavaのような命令型言語を使っている人にとっても有益な記事だと思います:-)。 初めに ここ数年,Erlangへの注目が高まっている。Erlangのプログラミングモデルはプロセス間でメッセージをやりとりするだけで実行する並行プロセスに根ざしている。それぞれのプロセスはとてもシンプルな関数型言語で作ら

  • 1