sci

最果て風呂

PHP で Composer と PHPUnit を使ってみる

PHP では自分の好きなものを組み合せてやるのが文化らしく、これといった決定版はないらしいです。ぼんやりとみんががやってるので合わせているみたいな。日本語で調べた範囲では Composer と PHPUnit を使う例が多いので、それにしたがうことにしました。 C…

CSharp のプロジェクトを dotnet で

dotnet で C# のパッケージ作成をしてみます。手元にあるものが 1.0 系なので古いけど、雰囲気を味わうことはできるでしょう。 雛形の作成 雛形のディレクトリは作成してくれないので、あらかじめ作業ディレクトリを作成しておき、その中でコマンドを入力し…

Perl の Cpanm と Minilla を使ってみる

Perl でのパッケージ作成をしてみます。デフォルトでの支援はないので、cpanm と minilla をインストールして、ライブラリはローカルにインストールするように環境変数を設定しました。 雛形の作成 Ruby の gem にあたる cpanm が必要らしいので、次のコマン…

Ruby の Gem と Bundler を使ってみる

Ruby の開発版を使っていたので気付かなかったのですけれど、リリース版には gems/ 以下に bundled_gems として次のものが同梱されているのでした。 did_you_mean-1.2.0/ did_you_mean-1.2.0.gem minitest-5.10.3/ minitest-5.10.3.gem net-telnet-0.1.1/ ne…

Python の Setup.py と pip3 を使ってみる

Python ではパッケージ作成を支援するもの (bundler, minilla, mix 等) はないようで、ディレクトリの構成も決まっていないらしい。setup.py がキモになるようで、これをスクラッチから書いていくことになります。 プロジェクトの設定 自由とは言っても最低…

Go でパッケージ作成

パッケージの雛形作成 go init のようなコマンドはなく、リポジトリの場所だけに気をつけておけば良いらしい。ディレクトリの構成は標準的な指針はないみたい。通常は $GOPATH/src/github.com/user_name/gomto/ に置くらしい。import "github..." という行が…

NodeJS の npm を使ってみる

NodeJS でもパッケージを作成してみました。 パッケージの雛形を作成 ディレクトリを作成してその中で npm init を実行します。対話的に package.json を作成することができるのです。 mto.js をコピーして、シェバング #!/usr/bin/env node を記述します。 …

Elixir の Mix を使ってみる

先日作成したスクリプトを手軽にインストールすることができるように Mix を使ってみました。 コンソールアプリケーションの作成 mix new mto でプロジェクトの雛形を作成し、mto/ の中に入ります。 mix.exs ファイル内の "def project do ... end" 内に次を…

各種言語のパッケージングとテスト

各種言語でパッケージとテストの作成を練習しています。 パッケージング(プロジェクト作成支援) Elixir: mix new proj で雛形がディレクトリごと作成される。 NodeJS: npm init で package.json のみが作成される。ディレクトリ構成に決まりがあるのかどうか…

mto を Elixir で実装してみる

関数型言語を触ろうと思い続けて何年も経ってしまいました。今回は Ruby っぽい書き味という噂の Elixir を試してみることにしました。関数型の中でも非純粋・動的型付けなので、手続型思考になっている自分には取っ付き易いかも? 環境変数の取得 irb の仲…

忘れ去られてゆく過去

Mew を起動しようとしたら、次のメッセージが出て動かなくなってしまいました。問題は Mew ではなくて、どうやら mhc にありそうです。 Setting up Mew world... eval-buffer: Loading ‘/Users/umd/elisp/mhc-snap20100807/emacs/mhc-summary.el’: old-style…

翻訳プロジェクトとの関わり

日課 とまれ、まずはわたしのルーチンワーク (創意工夫の必要ないつまらない作業という意味もあるらしいけど) を紹介します。 0. ブラムさんの活動をチェック 本物の Vimmer は毎朝ビルドするらしいのですが、わたしはにわかなので気が向いた時に git pull …

Python3 の print 関数でハマる?

前回の記事でベンチマークをしたのですけれど、今回はもう少しちゃんとやってみることにしました。 日本国憲法はほぼ 32KiB の大きさがあるので、これを元にして 32, 64, 128, 256, 512, 1024, 2048, 3072 の大きさのファイルを作成してベンチマークを測るよ…

Node.js の実行環境は速くなっている?

この記事に関連するような、しないような話です。 入力するテキストに比例して計算量が増えていくため、技術的に見るべき点が何も無い自作スクリプト。今までは Python3 が一番速いなぁと思っていたのですけれど、ベンチマークを回すスクリプトを作成してあ…

論理演算

Emacs でことえり入力をする時に、カーソルがピコピコする問題があるそうです。自分は ddskk を使っているので気がつきませんでした。スラドのはいろむさんが言及している部分が論理演算のようなことをしていたので、勉強のために真理値表とにらめっこしなが…

Emacs まだまだぁ〜

Emacs のビルドができなくなってしまいました。 nsmenu.m:1496:70: error: expected a type - (instancetype)initWithContentRect: (NSRect)contentRect styleMask: (NSWind... ^ nsmenu.m:1520:62: error: use of undeclared identifier 'NSWindowStyleMask…

.NET Framework と .NET Core と Mono の違いがわからない

これまでの流れ はじめて C# に触れたのは Windows XP 機の Visual Studio Express 2008 上で、今から 5 年前のことになります。まずは CLI のプログラムを見よう見まねで作成し、それからひと月かかって Windows.Forms を使った GUI アプリを作成しました(…

VSCode と C# Extension

Vim の調子が悪かった時に、試しで Visual Studio Code の Terminal で動かしてみたら意外と良かったのです。VSCode は Markdown ファイルの編集をする程度の使い方しかしていなかったのですが、これをきっかけに本格的に使ってみたくなりました。 とは言っ…

端末の裏方

まえふり 以前の記事で issue 登録をしたところ、検証や助言を頂くことができました。結論を先に言うと、この現象は私だけに発生するもので、根本的な解決にはなりませんが、現象を回避する方法がわかりました。ターミナル.app の環境設定で「ターミナルの宣…

Vim の三角形表示がおかしい

以前の記事で少し触れたのですけれど、パッチ 543 を適用して以降、「▽」や「▼」がうまく表示されなくなってしまいました。 私は普段、Vim では skk.vim を使って日本語を入力しています。ちなみに Emacs では ddskk(Umeda) を使っていますが、AquaSKK は使…

はてブの威力

わたしがはてなブログをはじめてから 5 年半くらい経ちました。これまでの総アクセス数は 17000 程で、1 日あたり 8.5 アクセスという感じです。検索エンジンだけがお客さんという感じですね(>_<) さて、先日不具合報告を補完するために作成した記事が誰かさ…

こまります Vim さん

遭遇 事の発端はこの HTML ファイルを編集している時に生じたのです。何文字か削除してから上に移動しようとした際にターミナルごと終了してしまいました。 当初は「あれ?⌘-Q 押しちゃったかな?」と思い、ターミナルを起動し直して再編集をはじめたのです…

Heroku で Go アプリをデプロイするのがすんなりいかなかった

Vim のユーザーマニュアルをスマホで見やすいようにタグづけをしました。コンテンツの内容がコピペなので、著作権的にどうなの?というのがあるのですけれど、ちょっと今コミュニティがざわざわしているので相談し難い雰囲気(あくまで個人の感想です)。とり…

Texinfo で日本語 PDF 出力

Texinfo が 6.3 になってから、日本語の PDF を直接(TeX の助けを借りるけれども)生成することができるようになったそうです。6 系になってから Perl スクリプトになり、動作がかなり遅くなったのですが、出力される HTML のタグ付けはかなりまともになりま…

おもろいエスケープ

StackOverflow で質問されていたもの。 Python3 での後方参照がうまくいかなくて、少しだけ悩みました。マニュアルによると、グルーピングしたものは \1 等で参照できるハズなのに、思ったような結果にならないのです。\\1 のようにしないといけないのですわ…

Hugo によるはじめてのサイトジェネレート!

Jekyll での記事生成速度が遅くなってきたので、速いと評判の Hugo を使ってみることにしました。遅いといっても 146 記事で 5 秒ちょいなので、待てなくはありません。Jekyll は 2013 年 3 月から使いはじめたので、36 posts/year という増加量です。1000 …

pacman -Syu でハマる

サポート終了からそろそろ 3 年になる Windows XP。「えっ!もうそんなんなるぅ?」と驚いてしまう程に時が経つのは早いのですが、今でも私は使っています。今回は MSYS MinGW について、ちょっとした顛末を記事にします。 私はパソコンにあまり詳しくないの…

Python3 チュートリアルを読む

Python3 の Tutorial を読み終った。ある程度内容を知っているということもあるけれど、英文が平易でわかりやすい。特に Modules と Virtual Envrironment が印象に残りました。 今までモジュールのことを気にしていなかったけれども、自分の作成したスクリ…

ダイアクリティカルマーク

StackOverflow で質問されていたもの。下の画像↓ 「文字化け」の意味がわからなくて(リンク先はなぜか見れない)、普段は使っていない Safari を立ち上げて見てみました。「ᙏ」と「̤」と「̫」が結合されてウサギの顔のように表示されますね。下の画像↓ 文字化…

mto を Swift で実装してみる

この記事で「Swift は枯れたら触ります。」と口にしてから早 7 カ月。エディタの前に向うものの、いつの間にかネットサーフィンに勤しんでしまっている自分なのでした。バージョンも 3.0 になったことですし、なぜか集中力が高まっていたので触ってみること…