読者です 読者をやめる 読者になる 読者になる

日本語が不自由な緑の箱の日記

主にD言語とロボコンを

高専カンファ行ってきました

高専カンファという高専生などによる勉強会に行ってきました。僕は今までこの手のイベントに参加したことが無かったのですが、香川から比較的近い明石で開催されるということもあり参加させていただきました。 LTが予想以上に面白く5分間という時間がとても短く感じられました。 同じロボコニストの方とも知り合え、互いの活動についての情報交換もでき、良い影響を与えられました。 近いうちに発表者として高専カンファに参加できるよう技術を高めていきたいです。

Arch Linuxをインストールした

今まではLinux Mintを使っていたのですが、pacmanが使いたくなってArch Linuxに変えました。 Windows10,Ubuntu,Arch Linuxのマルチブートにしましたが、予想よりは簡単でした。 ddでUSBにisoを焼く際に間違えてHDDに焼いてしまい構築していたWindows環境とUbuntu環境をぶち壊すとかありましたがインストールは思ったよりは苦労しませんでした。 今まで使ってきたLinux Mintと違い、かなり自分でやらなくてはいけない部分が増えましたが結構楽しいです。 dmdやdubもpacmanで取ってこれますし、かなり楽で嬉しいです。

alphaKAIさんのYACMPをGUI化してみた。

github.com

作りました

qiita.com

qiita.com

などを書いたり、最近DlangUIを触っていて、

qiita.com

こんな記事を見かけたので半日(遅い)を掛けてGUIを実装してみました。 CUIGUIフロントエンドを作るのは初めてで、とりあえずstd.concurrency(Dの標準ライブラリの平行化モジュール)を使って標準入力を置き換えてみました。特に何も考えず実装できましたが、CUIアプリのソースコードがDで書かれて無いとダメという欠点があるので来年の高専プロコンまでにはちゃんと出来るようにしたいです。

使い方

select musicで選曲、stopで停止、continueで再開、changeで曲を変更します。表示されているのはファイル名です。 ビルドにはDMD,DUBが必要です

DlangUIというD言語製のGUIライブラリ

デスクトップマスコットをJavaで書いていた時にD言語で書きたい病を発症してD言語で利用できるGUIライブラリを探しており、その時に発見したものです。

Windows,OSX,GNU/Linuxに対応しており、D言語ネイティブなのでD言語の機能が多く使われています。

dubに登録されているので使うのも楽ちんでとても嬉しいです。運が悪ければビルドエラーとの闘争を行う必要があるかも知れませんが...。

QtなどのようにLayoutにウィジェットを追加していきUIを作っていくようになっています。また、DMLというマークアップ言語でUIを作ることも出来るようです。

github.com

Getting StartやAPI Docは英語で書かれており、中学生レベルの英語力しか無い僕でも読めたので学習コストも高すぎるということはなさそうです。

このライブラリの作者であるbagginsさんはDlangUIを使ってIDEを作っているようで、実用性も高そうです。

 

とりあえずHello World

f:id:namachan10777:20151121000654p:plain

 

 

Linux MintにDCDをインストールした話。

このDCDっていうのはエディタとかをD言語IDE化させるためのソフトウェア的なものです。

これ自体では使えませんが、vimSublime TextなどでDCDを使ってほげほげするプラグインを導入することで、コーディングが快適になります。

Macの記事はついさっき見つけて、Windowsの記事もあるようですが、Linuxの記事はないと推測されたので、書いてみます(英語記事は知らない)

まず、

Hackerpilot/DCD · GitHub

 からてきとーなディレクトリにgit cloneします。

で、READMEに書いてある通り

git submodule update --init

make

します。ここで僕は普通にmakeしました。dmdで。

で、出てきたのは大量の警告。(どうやらLinux 64bit環境のみらしいです)

まあ所詮警告だし...と思い、バイナリをusr/local/binあたりにバイナリ放り込んで、Sublime textのプラグインから動かすと、...動かない。おかしいと思い、手動でコマンド叩いて見るとネットワーク関係の例外を速攻で投げてました。再度ビルドするも結果は同じ。

処理系を変えるとうまく行くのではと思い手持ちのGDC使いましたが、コンパイルエラー。警告以前です。そしてこうなるとLDCしかありません。READMEにもLDCでテストした的なことを書いてるので多分うまくいくでしょう。ただこのLDC,Arch Linux以外のLinuxディストリビューションでは手動でソースからコンパイルしなくてはいけません。ビルドの方法は

Building LDC from source - D Wikiに書いてある通り。英語ですが英語力0の高1の僕でも読めたので大丈夫です。i7、4コアの僕のマシンだと1分ぐらいでビルド出来ました。

このLDC,コマンドはldc2なので注意です。

そして再び

git submodule update --init

して、makeを

make ldc

とします。これでビルドできると思います。あとはこれを適当なディレクトリにぶち込むなりパス通すなりします。

以上です