lightline.vimのバッファ履歴表示コンポーネントをかいた リンクを取得 Facebook × Pinterest メール 他のアプリ 3月 13, 2014 この記事は Vim Advent Calendar 2013 103日目の記事になります。 今回はlightline.vimのコンポーネントを作ってみました。 基本的な部分については作者様直々に記事を執筆していらっしゃるのでそちらを参考にしてください。 作者が教える! lightline.vimの設定方法! ~ 初級編 - コンポーネントを作ってみよう 普段Vimを使っていてバッファ一覧が常に見える位置にあるのは何かと便利です。 ちらっと見てから、直ぐに:b2とかで移動できますからね。 ですが、あまり場所を取ってほしくはありません。 それに、ただのバッファ一覧ではなくてVimFilerとかUniteとかのバッファは除外してほしい。 しかも、開いた順に表示したい。 そこでlightline.vimのコンポーネントを書きました。 ぜひ活用してやってください。 また、バグがあれば気軽に教えて下さい。 リンクを取得 Facebook × Pinterest メール 他のアプリ コメント
Elixir に入門したいので雑な 分散KVS を自作した 5月 07, 2019 長い連休を利用して、Elixir入門のために分散kVSを自作しました。 前書き 動機は以下の2点です。 Elixirに入門したかった 何か自分で手を動かしたかった Erlangが書けるので同じErlangVM上の言語であるElixirが前から気になっていました。 丁度いい機会だし、入門してみるかな、くらいの気持ちで始めました。 初めてだったので、株式会社gumiが連載している Elixir入門の連載を開始(Elixir入門もくじ) - DEV Community 👩💻👨💻 を参考にしました。単純な日本語翻訳ではなく、適宜加筆修正をしているようです。(後半に行くに連れて雑な文が増えているのが少しだけ残念でした。) 自分は集中力が無いので通読は苦手なのですが、23個の記事に全て目を通してから次を考えることにしました。Erlangと同じErlangVMで動くので、他の全く知らない言語よりは理解がしやすいだろうと思っていましたが、軽量プロセスやメッセージのやり取りといった基礎は共通していても、かなり機能が豊富、という印象を受けました。 なんとか全てを読み終わった後に、ErlangVMなので分散システムがいいな、と思い雑な分散KVSを作って見ることにしました。適当に検索したところ Building a Distributed Fault-Tolerant Key-Value Store - The Blog of Fourthbit という、Apache Cassandraの概要を紹介しつつ、KVSの大事な部分の実装ぽいものを説明する、という記事を今回の目的にぴったりの記事を発見しました。この記事は実装するためにかなり参考になりました。 目標 休みの間にそれっぽく動くところまで持っていく CRUD (Create/Read/Update/Delete) のインターフェースを持つ 1台は落ちても読み書きができる 耐障害性 出来たもの リポジトリはこちら mopp/brownie: Hobby Distributed Key-Value Store 機能の概要 N台1組のElixirクラスタを構築する 実行時のノード追加は不可 データはオンメモリで保持している ... 続きを読む
Erlang & Elixir Fest 2019 に参加してきた 6月 02, 2019 Erlang & Elixir Fest 2019 に参加してきました。 来ました pic.twitter.com/dtShHONnzH — もぷり (@Mopp_jp) June 1, 2019 その感想をメモを兼ねて時系列順にざっと思うままに書いてみます。 開始前 Erlang & Elixir Festは過去に何度か開催されていたようですが、自分は今回が初参加でした。 場所は永田町で、10時開場、10:30セッション開始というスケジュールで、10:10くらいに入場しました。 会場は縦に長く、中央にプロジェクターのスクリーンが1枚という構成でした。 後ろの方に座るとスライドがよく見えないだろうと思ったので前の方の席を探すと中央の前から2番目というかなりのいい席に座ることができてセッション中に不自由しなかったのがとてもよかったです。 セッション 超並列高速実行処理系 Hastega 〜 Lonestar ElixirConf 凱旋帰国 本日の Erlang & Elixir Fest 2019 の発表資料を公開します。 #elixirfest https://t.co/OFdnRXZlaA — Susumu Yamazaki (@zacky1972) June 1, 2019 一つ目の発表はHastegaというElixirのコードをOpenCLに変換して分散処理をするライブラリ(でいいのだろうか)についての発表でした。名前の由来はFFの仲間を強化する魔法だそうです。現状はdefhastegaというマクロで囲んだ中にあるEnum.mapなどが変換され、並列処理されるようになるそうです。また、将来はdefhastegaマクロを使わずに、できそうなところは変換するようにしたいとも話していました。 スライドに性能評価はありましたが、コード生成の仕組みに悩んでいるとのことでリリースはされていないそうです。Hastegaを使ったコード例を見た限り、使う分にはシンプルそうでよさそうでした。 Erlang/OTP 22からはHiPEが非推奨になるのでそこも悩みどころ、と話しており、それについてツイートしたところ、記事を教えていただきました。 Joseから紹介された記事です。 https... 続きを読む
自作OSでのプロセス実装について (1) ~初めてのユーザプロセス~ 12月 05, 2014 この投稿は Aizu Advent Calendar 2014 の 5 日目の記事です。 前の人 @i__yahoo 次の人 @masaponto また、 自作OS Advent Calendar 2014 の 5日目の記事でもあります。 Aizuの方に登録してたのですが、ネタ的に自作OSだし、自作OSカレンダーの方は空きが激しいので、まとめて登録してしまいました。 今回は自作OS Advent Calendar的に 先日の記事 の続きみたいなものです。 また、 ALT で話した内容をもっとわかりやすく書いたものです。( 次回のALT もあるらしいので興味のある人はぜひに) この記事では、もぷりんOSの 現在の実装 における観点から話を進めていきますので、LinuxなどのOSとは異なることもあると思いますので注意してください。 特にもぷりんOSは権限周りなどがまだまだですし、私もよくわかって無いことが多いです。それだと危なくない?みたいなことがめっちゃ有ります(つまり、吹けば飛ぶ) それに、趣味で楽しいからやっていることです。(だからといってセキュリティを軽視しているわけではないです。安心安全もぷりんOSを目指しますよ) なので、あんまり細かいことは言わず、こんな風に書いてれば動くんだふーん程度の気持ちでお願いしたいです。 そして、何より自作OSを作ってる人、少し興味を持ってる人が見て、こんなの俺でもできるじゃねーかと感じて、自作OS作成してくれればなあと思いつつ書いていきます。 さてさて、本題に入るその前に、通常話しているプロセスについていくつか事前知識として、さらっと話そうと思います。 詳しいことは プロセス-Wikipedia にどうぞ 大雑把に言うと、 プロセスは実行されているあるプログラムのこと です。 もぷりんOSは一応?UNIX系のOSなので、ここでいうプロセスはUNIX系のプロセスを指しています。UNIX系プロセスは親子関係を持ちます。この親子関係というのはデータ構造で言うところの木構造で、大体こんな感じです。 数字はプロセスID(pid)を表します。 プロセス0がルートプロセス、その子プロセスがプロセス1 この時、プロセス1から見れば親はプロセス0になります。 当たり前ですが... 続きを読む
コメント
コメントを投稿