2019-01-01から1年間の記事一覧

実践Rust入門 12日目

9章全部。 整数の四則演算ができる計算機のパーサを作成を通して、手続の抽象化とエラーの扱いを学ぶ。 サンプルコードを打ち込みながら読むスタイルで進めた。 サンプルコードの誤記が多く、正誤表だけだと辛い。 また、一部サンプルコードの掲載が省かれて…

【Rustと遊ぼう】FreeBSDでRustをインストールする

Rustツールチェインのインストール FreeBSD上でラストのインストールしてみよう。 今回はインストールしたツールの動作確認(バージョン確認)まで。 FreeBSDのpkgでもRustはあるけど、rustupというツールがインストールされない。 そのため、公式サイトに紹介…

実践Rust入門 11日目

8章6〜8節まで。 トレイトの利用例。 標準ライブラリのから、ちょっとしたテクニック紹介など。 読むだけスタイルで進めた。 全体的に、こんなことできるんだなぁというのを知れたのは良かった。 しかし、ようやく基礎編が終わったなー。 長かった。 おぼえ…

実践Rust入門 10日目

8章3〜5節まで。 Rustでの静的/動的ディスパッチの仕組みと存在impl Trait、トレイトの関連xxについて。 5節以外は読むだけスタイルで進めた。 Rustの機能と静的/動的ディスパッチの話は割と面白かった。 しかし、ジェネリクスとトレイトの使い方に慣れな…

実践Rust入門 9日目

8章1〜2節。 トレイトの基本について。 サンプルコードを打ち込みながら読むスタイル。 今までの章に比べると、ソース多め文章少なめで読みやすかった。 ただ、サンプルコードに見慣れない英単語が多く使われてて混乱した。 まぁ僕の英語力の無さの問題が大…

実践Rust入門 8日目 その2

7章10〜12節。 単一の所有者を持たせて必要なときに借用する方法で対応できない場合の話。 こういう方法があるよという紹介。 今は覚えられる気がしないので、読むだけのスタイルでサクッと進む。 頭がpanic!()。 今はこんなのがあるんだなー程度。 おぼえが…

実践Rust入門 8日目 その1

7章9節。 独自のベクタを実装しながら、ライフタイムについて学ぶ構成。 所有権の移動とライフタイムの絡みは面倒だなぁ。 コンパイラくんが色々検出するためなんだろうけど、ライフタイム指定子を使いこなせる気がしない。 とにかく書いてコンパイルエラー…

実践Rust入門 7日目 その2

7章2〜8節。 サンプルコードを打ち込み動かしながら読むスタイルで進める。 P258のコラム(デストラクタを呼ばないようにする方法)は良かった。 知らないとunsafeでやっちゃいそうだし。 おぼえがき デストラクタも実装できる use std::ops::Drop impl Drop f…

実践Rust入門 7日目 その1

7章1節のみ。 所有権システムってこんなのだよというお話。 7章で学ぶことの予告であり、総括的な感じっぽい。 おぼえがき Rustが保証するメモリ安全性 メモリの2重開放によるRustでの未定義動作を起こさない ダングリング(解放済み領域など無効なメモリを指…

実践Rust入門 6日目

6章頭から6章途中まで。 Rustの基本構文について。 といっても、サンプルとして既出のものがほとんど。 それぞれ補足された感じ。 結局ほとんどコードを書かずに読むだけスタイルで進めてしまった。 全構文を使って遊べる無茶なサンプルコードがあれば楽しく…

実践Rust入門 5日目

5章頭から5章最後まで。 主にユーザ定義型について。 昨日に引き続き、読むだけのスタイル。 章の冒頭に、メモリ領域(ヒープとかスタックとか)について説明が載っている。親切。 Box型の説明読んでてRustの所有権というものを垣間見た。 ただ、4〜5章は本書…

実践Rust入門 4日目

4章頭から4章最後まで。 主にプリミティブ型について。 サンプルコードは動かさないスタイルで読んだだけ。 おぼえがき ポチポチ打ちながら読んでたら長くなった。 こんな一気に覚えられるわけない。 スカラ型 ユニット () 真理値 bool, true/false 整数 i/u…

実践Rust入門 3日目

3章途中から3章最後まで。 3章は、バイトニックソートの実装を、Python版→Rust版1st →2nd → 3rdと進化させていくスタイル。 最初の方は前回バージョンからの差分箇所のソースにコメントが付いているのだけれども、途中からそういうコメントはなくなった。 書…

実践Rust入門 2日目

3章頭から途中まで。 バイトニックソートなるもののアルゴリズムの説明から。 言語の入門本にアルゴリズムの説明まで突っ込んでくるとはチャレンジャーだなぁ。 並列化の効果が出やすいアルゴリズムみたい。 Rustで実装前に、一旦Pythonの実装を挟むとは回…

実践Rust入門 1日目

実践Rust入門[言語仕様から開発手法まで]作者: κeen,河野達也,小松礼人出版社/メーカー: 技術評論社発売日: 2019/05/08メディア: 単行本(ソフトカバー)この商品を含むブログを見る 1〜2章まで読んだ。 Rustは、Dockerや、ニコニコ動画、本家Firefoxで効…

これでRust

最近、Rustという言語が気になる。 コンパイラ型で、シングルバイナリ生成という特徴からか、 比較する言語として、Go言語をよく見かける。 用途はサーバーサイドで競合してそうだけど、 そもそも目指しているもの、期待しているものが違う気がする。 Go : …

【書籍】ビッグ・ファット・キャットの世界一簡単な英語の本

今回ご紹介するのはこちらの書籍。 ビッグ・ファット・キャットの世界一簡単な英語の本作者:向山 淳子,向山 貴彦,studio ET CETRA,たかしまてつを出版社/メーカー: 幻冬舎発売日: 2001/12/20メディア: 単行本 イントロダクション 本書は、英語に対する苦手意…

【FreeBSD】どのシェルを使うべき?

今回は、OSとユーザの仲介役であるコマンドラインシェルについてのお話。 シェルの種類 現在、主に使われていそうなシェルを下表にまとめた。 シェル 系列 初版 特徴 sh B系 1977 UNIX系OSには標準で入っている。対話シェルとしては機能不足 ash B系 1991 sh…

【FreeBSD】仮想コンソールでクリップボードを利用する(tmux)

確認環境 PC Thinkpad X1 Carbon 2nd Gen OS FreeBSD 12.0-RELEASE-p6 tmux tmux 2.8 課題 仮想コンソールでコピペしたい。 対策 こちらの記事で、tmuxという仮想ターミナルをマルチウィンドウ化するソフトを紹介した。 tmuxには、コピーモードという機能が…

【FreeBSD】仮想コンソールをマルチウィンドウ化(tmux)

確認環境 課題 対策 1. tmuxのインストール 1. tmuxの構成要素 2. tmuxの起動・切断・復帰・終了 起動 中断(detach) 復帰(attach) 終了 3. tmuxの設定例 全体 設定例のキーバインド キーバインド設定のフォーマット bindの -n オプション bindの -r オプショ…

sshでファイル転送

他のPC(SSHサーバを有効にしている)とファイルのやりとりをしたいそんなとき。 リモート から ローカル へ ファイル転送 > scp /local/path UserName@HostAddress:/remote/path ローカル から リモート へ ファイル転送 > scp UserName@HostAddress:/remote/…

【課題】tmux on uim-fep で文字がズレる

uim-fep上でtmuxを起動すると、日本語入力中にカーソルが日本語入力開始時点の位置に戻って、入力中の文字がズレる。 入力中の文字によっては発生しないっぽいけど、ほとんどの文字で発生してそう。 uim-fep単体起動では発生せず。 また、tmux上でuim-fepを…

タッチパッドの有効/無効切替

タイピング中にタッチパッドが反応して誤操作に。。。 無効・有効を切り替えるためには下記コマンドを使う。 sysctl hw.psm.synaptics.touchpad_off=0 # ON sysctl hw.psm.synaptics.touchpad_off=1 # OFF なお、mousedを有効化しておかないとダメっぽい。

【FreeBSD】POSIXのマニュアルをサクッと開きたい

確認環境 PC Thinkpad X1 Carbon 2nd Gen OS FreeBSD 12.0-RELEASE-p6 w3m w3m version w3m/0.5.3+git20190105 wget GNU Wget 1.20.3 built on freebsd12.0. 課題 POXIX(というよりSUS?)のマニュアルはこちらのサイトで公開されている。 (POSIXとは何かにつ…

POSIXとシェルスクリプト作成方針について

POSIX(Portable Operating System Interface)というのは、UNIXをはじめとしたOS間のアプリの移植性を高めるために、IEEEが策定したOS共通のAPI規格です。 カーネルのシステムコール他、プロセスやファイル・ディレクトリなど様々な項目について規定されてい…

UNIX哲学について

UNIXには便利なツールがたくさんあります。 私達はそれらの「使い方」、様々なオプションや設定方法などを学びます。 これは、実用上とても大切なことです。 しかし、ツールの使い方を覚えさえすれば、私達はUNIXの達人になれるのでしょうか? 幸せな人生を…

【課題】sixel

コンソールで画像が表示できるらしい。 どういう仕組みだろうか。 これどうにかvtで動かせないかな。。。 qiita.com misc/x68k-ite-sixel.diff at master · isaki68k/misc · GitHub Sixel 情報 - ダメ出し Blog

FreeBSDについて

ここでは、FreeBSDの特徴を素人がまとめてみました。 主な情報源は、みんな大好きWikipedia! 誤りがあれば、コメントからご指摘お願い致します。 BSDの歴史 特徴 重視するもの ライセンス ユーザー数 最後に その他参考

【FreeBSD】日本語のマニュアル(man)を読みたい(Web版)

確認環境 PC Thinkpad X1 Carbon 2nd Gen OS FreeBSD 12.0-RELEASE-p5 w3m w3m version w3m/0.5.3+git20190105 wget GNU Wget 1.20.3 built on freebsd12.0. 課題 日本語のmanが読みたい。 対策 きっと、ja-manをインストールするのが一般的だと思う。 しか…

【シェルと遊ぼう】manの高頻出単語を調べる

概要 つくるもの コード 1. manのリストを作る 実行結果 2. manに出てくる単語を行に分けて出力する 実行結果 3. 英単語っぽい行のみに絞る 実行結果 4. 出現回数を数えてソートする 実行結果 最頻出単語 TOP2000 確認環境 概要 僕は英語が苦手なので、英語…