シェルスクリプトでJavaScript文字列リテラル用のエスケープ

「JavaScript文字列リテラル用のエスケープ」という表現は微妙だけど、要はサーバサイドでJavaScriptを動的生成する時に、文字列リテラルとして任意のパラメータを出力したい場合のエスケープ処理。先日(というか先月)書いたHTMLエスケープ用のシェルスク…

シェルスクリプトでHTMLエスケープ

PHPやPerlでのHTMLエスケープの話はよく目にするけど、そういえばシェルスクリプトでは見かけないなあ、なんて思った次第でございます。動的Webコンテンツの先駆けであるCGIの普及期でさえ言語としてPerlが大々的に使われていたわけで、そもそもサーバサイド…

犯人はWindows Update……か?

ここまであからさまに「Windows Updateが原因でPCガー」的な場面に遭遇したのは初めてである。5~6年ほど前に購入したノートPC Dell Vostro 2521が2台転がっていて、実験用に使おうとしたのだ。2台ともWindows 7からのアップグレードでWindows 10化していて…

今までどのくらいプログラミング言語を触ってきたか(3秒で挫折したものものも含む) Ver.11

2019-06-30現在のステータス。id:eel3:20180630:1530319168 から1年経て、こうなっている。なおCSS、HTML、XMLはひとまず除外する。人工言語ではあるけれども「プログラミング言語」という括りに含められるか否かは議論が分かれる気がする。*1 よく使ってい…

コマンドプロンプトからUSB記憶装置を取り外そうとして失敗し続けている記録

WindowsでUSBメモリなどを取り外す際にタスクトレイから行う「ハードウェアの安全な取り外し」の操作をコマンドプロンプトから実現しようとして、依然として失敗し続けている。備忘録として、時系列順に記録を残しておこうと思う。何か進展があったら追記す…

書籍購入:『Kotlinプログラミング』

あとで書く。Kotlinプログラミング作者: Josh Skeen,David Greenhalgh,吉川邦夫出版社/メーカー: 翔泳社発売日: 2019/02/14メディア: 単行本(ソフトカバー)この商品を含むブログを見る

もうひとつのTDD

5年前の今頃は、なにやらTDDで熱かったらしい。 2014-04-24 【翻訳】TDD is Fun - diskogs's diary TDDという名の幻想... - Qiita TDDには全く何も取り組んでいない身なのだが、しかし傍から見聞きしているだけでも、TDDには参考となる面が色々とある。ただ…

argparseで引数を1つとるオプションをいい感じで扱えるようにしたい

ここ2~3年ほどPythonで小さなコマンドライン・ツールを書く機会が何度かあったのだが、argparseでコマンドライン引数を解析する時、引数を1つだけとるオプションの扱いに難儀している。ArgumentParser.add_argument()のキーワード引数nargsに1を設定すれば…

「C言語書けます」のボーダーラインはどこか?

「C言語を覚えると組込み系の採用に有利」みたいな就職・転職向けの文言を見る度に、世の中そんなに甘くないと言いたくなるのです。多分、組込み開発に限らず、例えばLinuxコンソールアプリ等でC言語を散々使った人も同意するのではないかと思うのだけど、C…

書籍購入:『基本からしっかり身につくAndroidアプリ開発入門 Android Studio 3対応』

軽く中身を見た。基本からしっかり身につくAndroidアプリ開発入門 Android Studio 3対応 (「黒帯エンジニア」シリーズ)作者: 森洋之出版社/メーカー: SBクリエイティブ発売日: 2018/05/22メディア: 単行本この商品を含むブログ (1件) を見る差し詰め本書は「…

書籍購入:『Kotlinイン・アクション』

軽く中身を見た。Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メーカー: マイナビ出版発売日: 2017/10/31メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る本書は、Javaでの開…

「組込み開発=C言語」というイメージはどこまで正しいか?

組込み開発でのプログラミング言語というとC言語(時にアセンブラ)が真っ先に挙げられる気がするのだが、実務的にどこまで正しいのか書いておこうと思う。結論から言うと、組込みプログラマの立場としては「組込みプログラミング=C言語」は概ね正しいのだ…

ジュニアは採用できてもノービスは採用できない。ベテランになれないジュニアは淘汰される。

「ジュニアを採用しない連中はシニアに値しない - portal shit!」を受けて。そもそも「ジュニア」がどの程度の人を指し示すか、という話はあるが、アメリカの話っぽいので、おそらく最低でもCS(コンピュータ・サイエンス)の学士は持っているだろうし、修士…

umask(1)は引き算しない、多分。

umask(1)の仕様を調べようとしたのである。で、ググって見つかった「デフォルトのファイルアクセス権 (umask) (Solaris のシステム管理 (基本編))」を見てちょっと驚いた。 設定する umask の値は、与えたいアクセス権の値を 666 (ファイルの場合) または 77…

Raspberry Pi用にQtをクロスコンパイルする――ただしQtはX11上で動かしたい

Raspberry Pi用にQtをクロスコンパイルする方法を探していたのだが、どの情報も非X11のコンソール環境にてEGLFS経由で直接OpenGL ESで画面描画する構成のQtのバイナリを作るものばかりだった。しかし私は、諸事情よりX11のデスクトップ上でアプリを実行でき…

クライアントWindows上で仮想化ソフトウェアでゲストOSを飼うためのハードウェア構成

ここ4年ほどCore i5-3340Mを搭載したノートPC上でVirtualBoxを使ってきたので、その辺の知見を元に、VirtualBoxなどのx86仮想化ソフトウェアを使ってゲストOSを飼う際に必要な「ホスト環境のハードウェア構成」についてまとめておく。WindowsをホストOSとし…

今までどのくらいプログラミング言語を触ってきたか(3秒で挫折したものものも含む) Ver.10

2018-06-30現在のステータス。id:eel3:20170708:1499445416 から1年経て、こうなっている。なおCSS、HTML、XMLは除外する。人工言語ではあるけれども「プログラミング言語」という括りからは外れると思う。 よく使っている AWK (Gawk) 単純なテキストレコー…

コメントを書かないためには文化が肝要(Re: コメントのいらないプログラムの書き方)

そろそろ言及しておこうかな。これって「コメントのいらないプログラムの書き方」ではなくて「コメントを減らす技法 初級」だよね、それも割と暗黙の前提が多めの。 コメントのいらないプログラムの書き方|NZ MoyaSystem 以前 id:eel3:20160425:1461594142 …

エンジニアにとって「コミュニケーション能力」とは何を意味するのか?

世の企業も求むる「コミュニケーション能力を持つ社員」といふものを、エンヂニアリングの現場でも求めてみむとてするなり。「コミュニケーション能力」という言葉は実に曖昧で、10人いれば5〜6パターンぐらいは異なる解釈が出てきそうな代物だ。この文章で…

実はオブジェクト指向ってしっくりこないんです?

――いや、自己分析するに、「オブジェクト指向」ではなく「特定のオブジェクト指向プログラミング言語」がしっくりこないことがあるんだな、これが。具体的には、触ったことのある言語ではJavaとC#だ。この2つの「しっくりこなさ」具合からすれば、C++の方が…

仕様書・設計書の必要論と不要論の不毛な議論を避けるためのヒント

仕様書や設計書の「要る/要らない」で議論になることがあるが、往々にして不毛なのでここに記しておく。実のところ「仕様書や設計書は必要だ」という意見も「仕様書や設計書なんて不要だ」という意見も、根本的には同じ問題を出発点としている。それは「必…

そろそろ「美しいコード」って言うの止めようぜ

――と題名の通りの感想を抱いたのだが、「美しいコード」の代替となる上手い言い方が思い浮かばないのである。 コードが美しくないために起きる問題を考える(前編)―重複のあるコード/誤読問題 (1/2):EnterpriseZine(エンタープライズジン) いや、記事の…

2〜3世代前のOS X/macOSの実行環境を整えるためのメモ

Mac

最新版を含む過去4世代のOS X/macOSをbootできる環境を整えているのだが、環境構築の過程で得られた知見を残しておく。なお、このメモはOS X Mavericks(10.9)以降を前提としている。執筆時点での最新のOSはmacOS High Sierra(10.13)である。 どこまで古…

書籍購入:『Optimized C++』

あとで書く。Optimized C++ ―最適化、高速化のためのプログラミングテクニック作者: Kurt Guntheroth,島敏博,黒川利明出版社/メーカー: オライリージャパン発売日: 2017/02/22メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る

書籍購入:『micro:bitではじめるプログラミング』

あとで書く。micro:bitではじめるプログラミング ―親子で学べるプログラミングとエレクトロニクス (Make:PROJECTS)作者: スイッチエデュケーション編集部出版社/メーカー: オライリージャパン発売日: 2017/11/25メディア: 単行本(ソフトカバー)この商品を…

ALSAでMIDIをループバックさせたい――ただしALSA RawMidi APIで!

ALSA C libraryのAPIを使用してMIDIの入出力を行うLinuxアプリがあるのだが、出力したMIDIをループバックさせて入力として読み込みたい――という話である。macOSなら標準のIACドライバを、Windowsならサードパーティの仮想MIDIケーブル*1を使うパターンである…

低速で無駄のある小規模ツール開発を実現する方法

「低速で無駄のある」はツール本体なのか開発手法なのか、はたまた保守フェーズか。 例1:外部コマンドを何度も実行するシェルスクリプト/バッチファイルとして実装する シェルスクリプトもバッチファイルも個人的に愛憎相半ばする気持ちを抱いてしまう言語…

リンク切れしたシンボリックリンクを探す

id:eel3:20121112:1352651058 でシンボリックリンクを張りなおすMakefileを書いたのだが、デッドリンク(リンク切れしたシンボリックリンク)がそのまま残ってしまう問題があった。この問題に対処するために、デッドリンクを探す方法を――『覚えて便利 います…

初めて生PCMを触る人には『WAVプログラミング C言語で学ぶ音響処理 増補版』を推薦します

久しぶりに生のPCMデータを弄る機会があった。生PCMまわりは独学で、割と知識が歯抜けだったので、基本的なところを学び直そうとしたところ、意外とまとまった情報が見つからなかった。色々と探し回って、ようやくたどり着いたのがこの本だった。WAVプログラ…

書籍購入:『WAVプログラミング C言語で学ぶ音響処理 増補版』

あとで書く。WAVプログラミング―C言語で学ぶ音響処理作者: 北山洋幸出版社/メーカー: カットシステム発売日: 2011/07/01メディア: 単行本 クリック: 6回この商品を含むブログ (2件) を見る