感想:オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方

感想:オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方

Rubyで初めてのオブジェクト指向なら本書! あなたのメイン言語がRubyで、オブジェクト指向を学んだ事がないなら、本書はオススメです。 本書は、「簡潔で見通しが良く、変更が容易な設計」と「アンチパターンと呼ばれる設計」との違いを教えてくれます。やや回りくどい文章で翻訳されていますが(恐らく原文も回りくどい)、本書の価値を落とすレベルではありません。 ...

2020年1月16日 · 4 分 · nchika
転職希望者がQiitaに投稿するメリットはスカウトメールが届く事【Twitterも大事】

転職希望者がQiitaに投稿するメリットはスカウトメールが届く事【Twitterも大事】

Qiitaに投稿するメリット:企業からのスカウト 皆さんは、Qiitaが好きですか? Qiitaには、12月のアドベントカレンダーを筆頭に、マニアックな情報から技術者ポエムなど幅広い情報が掲載されています。人によっては「低品質な記事が検索上位に上がってくる!」と感じ、Qiitaを嫌っている方がいらっしゃるかも知れません。しかし、自分で記事を書く分には、Markdownベースかつ編集プレビューが即座に表示されるので使いやすいWebサービスだと思います。 ...

2020年1月14日 · 5 分 · nchika
感想:プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで

感想:プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで

Ruby入門なら本書! 2020年時点で、Ruby入門書の決定版は、本書でしょう。本書は、説明が丁寧に記載されており、内容の分かりづらさがありません。読者が躓きそうなポイントを先読みしたかのようなコメントも随所に見られます。Rubyの基本的な文法を説明した後、各章末でサンプルコードを示す形式のため、写経が好きな方は気にいると思われます。 ...

2020年1月13日 · 3 分 · nchika
感想:新装版 リファクタリング 既存のコードを安全に改善する

感想:新装版 リファクタリング 既存のコードを安全に改善する

リファクタは日常的に実施すべきと教えてくれる名著 本書で登場する表現である**「コードの不吉な臭い」**。 不吉な臭いとは比喩表現であり、リファクタリングが必要そうなコード(悪い設計)から感じられる雰囲気を意味します。複雑度が高く、モジュールごとの役割が不明確で、暫定対応が恒久対応となってしまったコード。そんなコードを読んだ時の感覚が、コードから不吉な臭いがするとみなせます。 ...

2020年1月13日 · 3 分 · nchika
感想:改訂新版 IoTエンジニア養成読本 (Software Design plusシリーズ)

感想:改訂新版 IoTエンジニア養成読本 (Software Design plusシリーズ)

IoTと縁がなかった開発者向けの網羅的な一冊 本書は、技術評論社の養成読本シリーズの一つであり、IoT(Internet of Things)システム構成を網羅的に説明しています。本書の構成は、IoTの全レイヤー(下記の引用参照)における代表的なハードや技術について広く述べた後に、Raspberry Pi/Slack/3G接続用モジュールを用いた小規模なシステム(トイレ個室の空き情報を通知するシステム)のハンズオンを紹介する流れとなっています。養成読本の中で最も読了感が良く、初心者から中級者のステップアップに役立ちそうと感じられました。 ...

2020年1月7日 · 3 分 · nchika
感想: 日本はもはや「後進国」

感想: 日本はもはや「後進国」

後進国から脱せられるかはトップ次第? 本書は、バブル景気後の日本が貧しくなった原因を説明した後、日本が再び豊かになる方法論(著者:加谷珪一氏の考え)を示しています。私のようなソフトエンジニアで、経済に興味がない人が読むのに、ちょうどよい分量(219ページ)かつ内容でした。日本の駄目な例として、印鑑問題、電話オジサン、ご挨拶テロ、働かないオジサンなどを知らない人は、是非本書を一読していただきたいです。 本書のタイトルは、実に刺激的。もう日本は遅れている国だと認めなさい、と諭されているようです。平成生まれの社会人にとって見れば、日本が上り調子の時代を知らない訳ですから、日本の未来が暗いのは周知の事実です。その認識でいてもなお、本書のタイトルには興味を惹かれました。 ...

2020年1月5日 · 4 分 · nchika
感想:Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで

感想:Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで

他言語経験者もしくはJava経験者向けの入門書 本書は、古いJavaのスタイルとモダンスタイルを比較しながら、クラス、型、コレクション、ラムダ、Stream API、例外、文字列操作、ファイル操作、日付操作のコーディング方法を説明しています。より実践よりの知識として、オブジェクト指向、デザインパターン、ビルド、各種テスト方法、静的解析、便利なライブラリについても記載されています。分かりやすい説明で、網羅的な情報が取り扱われているため、他言語経験者(開発経験者)であればスッと読み込めると思われます。訳書ではないため、文章がおかしい部分もありません。 ...

2020年1月5日 · 3 分 · nchika
次々と揃えたくなる!木製パーツとゴムのみで構成されたUgears(メカニカルな組み立てキット)

次々と揃えたくなる!木製パーツとゴムのみで構成されたUgears(メカニカルな組み立てキット)

Ugearsとは Ugearsは、機械装置にインスパイアを受けたオブジェを木材で組み立てられるように設計されたメカニカルキットです。組み立てに使うのは、木材、ゴム、ロウ(ロウソク)、紙やすりだけであり、接着剤を使用しません。多種多様なキットが用意されており、それらの全てが精巧に駆動します。 製品のラインナップは、鉄道や車、TRPG用のキットなど、男性が好みそうなオブジェが多いです。女性向けの製品が無い訳ではなく、下図の蝶やアンティークボックスなど、見た目が美しい製品も多数存在します。金額は製品サイズと精巧さによって異なり、おおむね約5000円程度という感覚です。 ...

2020年1月4日 · 3 分 · nchika
Review: レオン(完全版)

Review: レオン(完全版)

シンプルなストーリーで描かれた純愛作品 本作のストーリーは、本筋がシンプルであり、話の流れが掴みやすいです。麻薬取締局(警官)に家族(正確には弟)を殺されたマチルダが、隣の部屋に住んでいた殺し屋のレオンに復讐を依頼し、最後に警官とレオン・マチルダが銃撃戦を繰り広げます。警官側にサイコパスなスタンスフォールドがいるせいで、序盤の展開で混乱するかもしれませんが、それ以外は概ね期待を裏切らないストーリー展開です。 ...

2019年11月17日 · 4 分 · nchika
【亭主関白は論外】ロシア人女性と付き合うなら、男性は優しさを行動で示すべき

【亭主関白は論外】ロシア人女性と付き合うなら、男性は優しさを行動で示すべき

前書き ロシア人女性は、男性から立てて貰う事を好みます。この一般論は、義父(ロシア人)が義母(ロシア人)のために飲み物を作る場面や、ロシア旅行中に男性が女性に花束を渡す場面を見て、概ね正しいと感じています。しかし、身近な人からの善意を嬉しく感じるのは、ロシア人に限った話ではないと思います。国籍や性別に関係なく、「人は他人から褒められれば(優しくされれば)嬉しい」ものです。 ...

2019年11月16日 · 4 分 · nchika
autofsを用いてHDD/SSD/USBメモリを起動時に自動マウントする方法(Debian)

autofsを用いてHDD/SSD/USBメモリを起動時に自動マウントする方法(Debian)

前書き 本記事では、autofsを用いて、HDD/SSD/USBメモリ(SATA接続 or M.2接続 or USB接続)を自動的にマウントする方法を紹介します。 ...

2019年10月5日 · 4 分 · nchika
gdisk/mkfsコマンドで2TB以上の大容量HDDをフォーマットする方法

gdisk/mkfsコマンドで2TB以上の大容量HDDをフォーマットする方法

前書き:何故HDDを2TBまでしか認識しないか 本記事では、gdisk/mkfsコマンドを用いて2TB超のHDDをフォーマットする方法を紹介します。 前提知識ですが、HDDは2TBの壁が存在します。HDDは、MBR(Master Boot Record)形式を用いて、パーティション(領域)をセクター単位で管理しています。通常のHDDは、セクターサイズが512Byteであり、パーティション内のセクター開始位置とセクター数の管理には4Byte(32bit)を使用します。この制約によって、「最大2TB(アクセスできるセクター数×セクターサイズ = 2の32乗×512)」までしか管理できません。 ...

2019年10月5日 · 6 分 · nchika
Debian10をRyzen 3800X環境で動かそうとしてハマった内容(グラボ必須、BIOS設定、Kernel設定)

Debian10をRyzen 3800X環境で動かそうとしてハマった内容(グラボ必須、BIOS設定、Kernel設定)

前書き 増税前(2019年9月)に、自作PCパーツをドサッと買いました。 https://twitter.com/ARC_AED/status/1177817660777582592 構成は、下表の通りです。評判の良い第三世代Ryzen CPUを中心に据えつつ、メモリ量を現状の32GBから64GBに増やし、ストレージも複数OSをインストール可能な環境を目指しました。 ...

2019年9月29日 · 9 分 · nchika
感想: 岩田さん 岩田聡はこんなことを話していた。

感想: 岩田さん 岩田聡はこんなことを話していた。

任天堂 元社長である岩田 聡氏のインタビュー集 本書は、任天堂の元社長である岩田 聡氏のインタビュー記事をまとめたものです。岩田聡氏は、外部会社であるHAL研究所のプログラマー(後に社長)でありながら、100年ほど同族経営を続けていた任天堂の外様社長に抜擢された異色の経歴を持つ人物です。 ...

2019年9月28日 · 4 分 · nchika
Terminalベースのブラウザw3m

Terminalベースのブラウザw3m

前書き 前回、キーボードのみで操作を完結させる手段として、keynavを紹介しました。 マウスポインタをキーボードで操作するkeynav 同じように、キーボードで操作が完結できるw3mを本記事で紹介します。w3m(WWW-wo-Miru)は、日本人が作成したテキストベースWebブラウザです。端末上でWeb検索作業できますが、使いづらい部分があったため、それらを補うスクリプトも本記事に記載します。 検証環境 _,met$$$$$gg. nao@debian ,g$$$$$$$$$$$$$$$P. ---------- ,g$$P" """Y$$.". OS: Debian GNU/Linux 10 (buster) x86_64 ,$$P' `$$$. Kernel: 4.19.0-6-amd64 ',$$P ,ggs. `$$b: Uptime: 46 minutes `d$$' ,$P"' . $$$ Packages: 2476 (dpkg) $$P d$' , $$P Shell: fish 3.0.2 $$: $$. - ,d$$' Resolution: 2560x1080 $$; Y$b._ _,d$P' DE: Cinnamon 3.8.8 Y$$. `.`"Y$$$$P"' WM: Mutter (Muffin) `$$b "-.__ WM Theme: cinnamon (Albatross) `Y$$ Theme: BlackMATE [GTK2/3] `Y$$. Icons: gnome [GTK2/3] `$$b. Terminal: gnome-terminal `Y$$b. CPU: Intel i3-6100U (4) @ 2.300GHz `"Y$b._ GPU: Intel HD Graphics 520 `""" Memory: 2974MiB / 32060MiB w3mのインストール方法 $ sudo apt update $ sudo apt install w3m $ sudo apt install w3m-img (注釈)端末上で画像を表示したい場合はインストール w3mの起動方法 [起動書式] ...

2019年9月15日 · 2 分 · nchika
マウスポインタをキーボードで操作するkeynav

マウスポインタをキーボードで操作するkeynav

前書き Linuxエンジニアの中には、マウスを嫌う人が居ます。なるべくキーボードで操作を完結させる事を美徳と考える人(変人)です。しかし、マウスを完全に排除したくても、マウス(マウスポインタ)で無ければ操作できないタイミングがあります。 ...

2019年9月15日 · 3 分 · nchika
振り返り:大企業(大手メーカ)で1年半働いて感じたデメリット(残業量、スキル面、仕事の仕方)

振り返り:大企業(大手メーカ)で1年半働いて感じたデメリット(残業量、スキル面、仕事の仕方)

前書き 私は、組み込みエンジニアとして中小企業で3年程度働いた後、大企業(大手メーカ)で2年間仕事する機会を得ました。この記事を執筆段階では、1年半しか大企業での働き方を経験していませんが、大企業のメリット・デメリットが徐々に見えてきました。 ...

2019年9月15日 · 6 分 · nchika
【Vim8.1.xから標準機能】VimからGDBを起動する方法(マウスでGDBを操作可能)

【Vim8.1.xから標準機能】VimからGDBを起動する方法(マウスでGDBを操作可能)

前書き GDBをリッチなText User interface環境で実行するツールは、以前から複数ありました。例えば、 CGDB:ViライクなキーバインドのGDBフロントエンド GDB TUI mode:EmacsライクなキーバインドのGDB標準のTUI環境(オプションtui) NeoDebug:Vim用GDBフロントエンドプラグイン。Vim標準(Termdebug)より高機能 などがあります。 ...

2019年9月14日 · 4 分 · nchika
【妻:ロシア人、夫:日本人】国際結婚における三重苦:1)書類、2)お金、3)コミュニケーション

【妻:ロシア人、夫:日本人】国際結婚における三重苦:1)書類、2)お金、3)コミュニケーション

前書き 私は、2019年にロシア出身の女性と国際結婚しました。私の経歴は、新潟の高校・大学を卒業し、そのまま地元のIT企業に就職するというありふれたものです。英語力はTOEIC700点台で簡単な英語を読めるが話せず、ロシア語はСПАСИБО(スパシーバ、ありがとう)ぐらいしか分からないレベルです。 ...

2019年9月8日 · 6 分 · nchika
C言語で非推奨なC標準関数(例:strcpy)をコンパイルエラーにする方法

C言語で非推奨なC標準関数(例:strcpy)をコンパイルエラーにする方法

前書き C言語は歴史の長い言語のため、非推奨関数があります。例えば、strcpy()は文字列をコピーする際にサイズチェックをしないため、バッファオーバーフローを引き起こす可能性があります。そのため、一般的には、strcpy()の代替関数としてstrcpy_s()を使用する事が推奨されています。 ...

2019年9月7日 · 4 分 · nchika
ロシアのプー

ロシアに潜んでいたくまのプー"Винни-Пух(ヴィーニ・プーフ、ソ連版くまのプー)"

Винни-Пух(ヴィーニ・プーフ)とは この世には3種類のプーが存在します。 ディズニー版 くまのプーさん(原作はA.A.ミルンの小説) ロシア版 くまのプーさん"Винни-Пух(ヴィーニ・プーフ)"(原作はA.A.ミルンの小説) 児童小説版 クマのプーさん(A.A.ミルン) くまのプーと聞けば、大抵の日本人はディズニーによるアニメを思い浮かべるかもしれません。はちみつが異常に好きで、おバカな発言をするぬいぐるみ。それがディズニー版のプーさんであり、ミッキーよりも公式グッズ売上がある程、人気があります。熊なのに黄色くカスタマイズされた見た目から分かる通り、言動や性格、振る舞いも大げさにデフォルメされている印象があります(以下、ディズニー公式動画) ...

2019年7月21日 · 5 分 · nchika
Linux Kernel Tree内で自作Kernelモジュールをビルドする方法(MakefileとKconfigの書き方)

Linux Kernel Tree内で自作Kernelモジュールをビルドする方法(MakefileとKconfigの書き方)

前書き 過去の記事(環境構築: Linux Kernelモジュールの作成準備)では、 Linux Kernelソースコード 自作Kernelモジュール を分離して管理していました。ディレクトリ構成は、以下のような状態です。 ...

2019年7月15日 · 7 分 · nchika
Linux Kernel: mutex APIによるロック(排他)方法

Linux Kernel: mutex APIによるロック(排他)方法

前書き:mutexとは Linux Kernelに限らず、様々なプログラミング言語やライブラリはロック機構を提供しています。ロック機構は、複数のプロセスが同時に共有データを書き換え、意図しないデータ状態となる事を防ぎます。代表的なロック機構には、 ...

2019年7月7日 · 8 分 · nchika
【サイト開設6ヶ月目:記事数54本】3000PV/月・収益800円/月、問題は「偏った記事人気」「リピーター不足」「低い広告クリック率」

【サイト開設6ヶ月目:記事数54本】3000PV/月・収益800円/月、問題は「偏った記事人気」「リピーター不足」「低い広告クリック率」

前書き:3000PV/月、収益800円/月 サイト開設6ヶ月目で、3000PV/月(PV=Page View、アクセス数)、収益800円/月を達成しました(実際はもう少し多い)。ブログ界隈では、3000PV/月を超えると脱ビギナーと見なせるそうです。記事数は、本記事で54本となりました。 ...

2019年6月29日 · 7 分 · nchika
Linux Kernelの簡単なCharacter Deviceを作成する方法(Linked List APIの使用方法サンプル)

Linux Kernelの簡単なCharacter Deviceを作成する方法(Linked List APIの使用方法サンプル)

前書き 本記事では、Linux KernelにおけるCharacter Device向けのDevice Driverを作成する方法を示します。専用のHardware(例:シリアルデバイスのUARTなど)を用いず、メモリ上のデータ読み書きのみを行います。そのため、擬似デバイス(/dev/nullや/dev/zeroなど)を操作するDriverと同等です。 ...

2019年6月23日 · 13 分 · nchika
Review: On Stage Deluxe Edition (Rainbow)

Review: On Stage Deluxe Edition (Rainbow)

収録曲 収録曲 [DISK1] 1. Over The Rainbow/Kill The King 2. Medly: Man On The Silver Mountain/Blues/Starstruck 3. Catch The Rainbow 4. Mistreated 5. 16th Century Greensleeves 6. Still I’m Sad [DISK2] 1. Over The Rainbow/Kill The King 2. Mistreated 3. 16th Century Greensleeves 4. Catch The Rainbow 5. Medly: Man On The Silver Mountain/Blues/Starstruck 6. Do you close your eyes 本作発表前にリリース済みAlbumのReview Review: Ritchie Blackmore’s Rainbow–銀嶺の覇者–(Rainbow) Review: RISING–虹を翔る覇者–(Rainbow) Rainbow初のLive作品(曲目および演奏はツギハギ) 本作はOriginal版(DISK1のみ)が1977年にリリースされ、Deluxe版(DISK1/DISK2の両方)は2012年にリリースされました。当初は初来日公演である大阪公演(1996年12月5日、8日、9日のいずれか)を用いて、“Chase the Rainbow: Live in Japan"と銘打つ予定だったそうです。70年代は、日本でLiveした事を前面に出した作品が多かったため、このタイトルは自然に思われます。 ...

2019年6月15日 · 更新: 2026年8月9日 · 5 分 · nchika
環境構築:ユーザフレンドリーで補完機能の強力なfishへ移行(Login shellをbashからfishへ移行)

環境構築:ユーザフレンドリーで補完機能の強力なfishへ移行(Login shellをbashからfishへ移行)

前書き 本記事では、CLI(Terminal)で用いるinteractive shellを**fish(friendly interactive shell)に移行する方法を記載します。fishは、Debian環境のdefault shellであるdash(POSIX互換のash拡張)やlogin shellであるbash**よりも優れた点が多いです。 ...

2019年6月15日 · 6 分 · nchika
Review: Long Live Rock 'n' Roll--バビロンの城門--(Rainbow)

Review: Long Live Rock 'n' Roll--バビロンの城門--(Rainbow)

収録曲 収録曲 Long Live Rock ’n’ Roll Lady of the Lake L.A. Connection Gates of Babylon Kill the King The Shed(Subtle) Sensitive to Light Rainbow Eyes 前作のReview Review: On Stage Deluxe Edition (Rainbow) Review: RISING–虹を翔る覇者–(Rainbow) アメリカ市場を意識した結果、大作志向の終焉 本作は、Ritchie Blackmoreがアメリカ市場を意識した結果、過去の二作(銀嶺の覇者、虹を翔ける覇者)より楽曲がコンパクトになっています。ただし、リリース時点(1977年)におけるコンパクトさであり、2019年の視点(約40年越しの視点)で聴けば、前作と大差がない重厚さです。 ...

2019年6月2日 · 7 分 · nchika
Linuxコマンドのソースコードを取得する方法(Debian環境):オリジナルコマンド作成前の勉強向け

Linuxコマンドのソースコードを取得する方法(Debian環境):オリジナルコマンド作成前の勉強向け

前書き 少し古い雑誌ですが、CQ出版社のInterface誌(2016年10月号)に「レベルアップ! オリジナル・コマンドを作る」という記事がありました。しかし、この雑誌に書かれている内容は、bashに偏っており、情報が不足していると(当時)感じました。 ...

2019年6月1日 · 6 分 · nchika
環境構築:Debianソースコードパッケージをビルドする方法(debソースパッケージ構築ツールのインストール)

環境構築:Debianソースコードパッケージをビルドする方法(debソースパッケージ構築ツールのインストール)

前書き 過去の記事で、debソースパッケージの取得方法を示しました。 Linuxコマンドのソースコードを取得する方法(Debian環境):オリジナルコマンド作成前の勉強向け ソースコードを取得したら、自身で改変し、ビルドも試したくなる筈です。そのため、本記事では、debソースパッケージをビルドする方法を示します。debソースパッケージの取得に関する設定は、上記の過去記事を参照して下さい。 ...

2019年6月1日 · 4 分 · nchika