Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

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

shellでTDDするshunit2 その4:初期設定と破壊

shellでTDDするshunit2のお話。 今回はTDDフレームワークで欠かせないものの一つ、テストの前と後の値設定です。 実際のところ oneTimeSetUp/setUp 存在する場合テスト前に呼び出され、そのテストで使用する一時環境変数を設定します。 前者は呼び出されたら…

shellでTDDするshunit2 その3:つかえるAsserts

TDD

実際のところ assertEquals [message] expected actual expectedとactualを比較し、同じなら正を返す。 要は普段使いのコマンド。別表現として"assertSame [message] expected actual"という記法もあり。 個人的には、どちらかに限定して置いた方があとあと…

shellでTDDするshunit2 その2:Red/Greenをブン回す

前回に続いてshunit2のお話。 今回はいよいよRed/Greenテストの開始です。 実際のところ つかってみる ではまず失敗するファイルをつくりましょう #! /bin/sh myFunc() { echo 0 } testEquality() { value=`myFunc` assertEquals 1 "$value" } # Load shUnit…

shellでTDDするshunit2 その1:とりあえず導入

シェルコマンド は思いついた事をすぐ実装できる手軽さ、移植性が高いなどのメリットがある反面、 多人数開発という観点ではあまり嬉しくない状況がありました。そんなお困りごとはTDDで解決! 一時ほど聞かなくなりましたが、それでもテストの重要性は今尚…

【読書メモ】超特急Web接続!ESPマイコン・プログラム全集

超特急Web接続!ESPマイコン・プログラム全集[CD-ROM付き] (ボード・コンピュータ・シリーズ)作者: 国野亘出版社/メーカー: CQ出版発売日: 2019/01/22メディア: 単行本この商品を含むブログを見るみんな大好きWiFi接続可能な超高性能マイコンESP32の特集ムッ…

【読書メモ】まるわかり! IoTビジネス2019 50の厳選事例

まるわかり! IoTビジネス 2019 50の厳選事例 (日経BPムック)作者: 日経 xTECH/日経コンピュータ出版社/メーカー: 日経BP社発売日: 2018/10/11メディア: ムックこの商品を含むブログを見る日経新聞系のIoT事例を紹介してるムックです。読者層は経営者や管理者…

通貨表示を固定するYEN関数/DOLLER関数

実際のところ YEN関数は言語/地域設定している国の通過……日本だと日本円の読みかえがされます。 また、出力は文字列扱いになるので、足し算ができません。 =YEN(1500, 0)ですと、"¥1,500" =YEN(1500, -3)ですと四捨五入で"¥2,000"となります。 参考もと su…

RasPiでGUI/CUI起動の切り替え

実際のところ GUI環境つきのでインストールしている前提です。 Raspbian Liteなどではデスクトップ環境が入っていなかったりするので、その際は別途導入してください。 CLI => GUI 単純にstartxを起動するだけ。 $ startx GUI => CLI $ sudo raspi-config例…

【イベントログ】ケアショー・ジャパン2019

Groveシステムのモジュールを使って楽にプロトタイピングする

GroveシステムはMaker系の人がプロトタイピングでよく使うコネクタ規格です。 wiki.seeedstudio.com シンプルな4本線で「アナログ」「デジタル」「UART」「I2C」を扱うという豪快な仕様。 電源電圧や実際に繋ぐ種類はユーザーが判断しろって事のようです……俠…

shcコマンドでシェルスクリプト を難読化(というかバイナリ化)する

まあ、ガチの人に狙われたら一たまりもないので……気休めかもしれません。 実際のところ myscript.shを加工したい場合、以下のコマンドで"myscript.sh.x"と"myscript.sh.x.c"というのができます。 構造としては、シェルスクリプトをC言語に変換し、そいつをビ…

【読書メモ】営業100本ノック

営業力 100本ノック (日経文庫)作者: 北澤孝太郎出版社/メーカー: 日本経済新聞出版社発売日: 2017/09/16メディア: 新書この商品を含むブログを見る日経新聞の出してる新書シリーズの一冊で、タイトルの通り営業がテーマの本です。内容自体はよくある営業自…

【読書メモ】すべてのUNIXで20年動くプログラムはどう書くべきか

すべてのUNIXで20年動くプログラムはどう書くべきか デプロイ・保守に苦しむエンジニア達へ贈る[シェルスクリプトレシピ集]作者: 松浦智之,USP研究所出版社/メーカー: シーアンドアール研究所発売日: 2015/07/25メディア: 単行本(ソフトカバー)この商品…

Valgrindのメモリリークエラー

C

Valgrindでは以下のメモリ問題を検知できます4.2.1. Illegal read / Illegal write errors 4.2.2. Use of uninitialised values 4.2.3. Use of uninitialised or unaddressable values in system calls 4.2.4. Illegal frees 4.2.5. When a heap block is fr…

【イベントログ】ネプコンジャパン2018に行ってきました

www.nepconjapan.jp

bitSet/bitClear関数で特定のビットをHigh/Lowする

実際のところ Xという変数のA番目ビットをHighにするbitSet関数、 Aは最下位(右端)ビットを0としてA番目です。 bitSet(X, A); LowにするのはbitClear関数。 bitClear(X, A); 参考もと www.arduino.cc www.arduino.cc

Valgrindをつかってメモリ破壊してないかチェックする

実際のところ まずは公式チュートリアル通りの以下のスクリプトをやってみましょう。 (コメントは日本語してみました) #include <stdlib.h> void f(void) { int* x = malloc(10 * sizeof(int)); x[10] = 0; // 問題その1: ヒープ領域ぶっちぎってる } // 問題その2: </stdlib.h>…

【読書メモ】ストックビジネスの教科書

ストックビジネスの教科書作者: 大竹啓裕出版社/メーカー: ポプラ社発売日: 2015/10/20メディア: 単行本この商品を含むブログを見る

【読書メモ】僕たちはガンダムのジムである

僕たちはガンダムのジムである (日経ビジネス人文庫)作者: 常見陽平出版社/メーカー: 日本経済新聞出版社発売日: 2015/12/02メディア: 文庫この商品を含むブログ (3件) を見るどんなハイスペック人間の仕事も、その他大勢の下支えがあってはじめて成り立つも…

Make: Electronics ―作ってわかる電気と電子回路の基礎

Make: Electronics ―作ってわかる電気と電子回路の基礎 ((Make:PROJECTS))作者:Charles Platt発売日: 2010/11/29メディア: 大型本Makeまわりから出て来た電気回路の入門書です。 絵が多く数式をあんまり使わないため、比較的読みやすい構成です。話題は抵抗…

enum変数

C

いまかいてます

Arduinoの割り込み許可/禁止関数(interrupts/noInterrupts)はそれぞれのボード固有の命令の読み替えをしてくれている

割り込み許可はinterrupts関数、割り込み禁止はnoInterrrupts関数。 というわけで……余計な最適化を阻止したいなら 割り込み禁止と許可の関数でサンドイッチ。 noInterrupts(); //割り込み禁止 // ...ここに割り込み禁止な内容を interrupts(); //用が済んだ…

getopt関数のつかいかた

C

実際のところ #include <unistd.h> #include <stdlib.h> #include <stdio.h> int main(int argc, char *argv[]) { int flags, opt; int nsecs, tfnd; nsecs = 0; tfnd = 0; flags = 0; /* ":" は引数必須のオプション*/ while ((opt = getopt(argc, argv, "nt:")) != -1) { switch (opt) {</stdio.h></stdlib.h></unistd.h>…

seqとprintfでjotの16進数っぽい記法をつかう

shuzo-kino.hateblo.jp という記事を書きましたが……jotはopenBSD由来のコマンドで 多少遅くなっても seqとprintfの合わせ技の方が良さげ $ seq 0 10 100 | xargs printf "0x%04x\n" 0x0000 0x000a 0x0014 0x001e 0x0028 0x0032 0x003c 0x0046 0x0050 0x005a …

scanfで入力文字を制限する

C

実際のところ そんなもん%xでやれば良さそうですが。 #include <stdio.h> int makeTitle(char str[]) { printf("\n\n###%s###\n\n", str); return 0; } int main() { char string[10]; makeTitle("a~f以外は無視するよ"); scanf("%10[abcdef]", string); printf(">> %</stdio.h>…

【読書メモ】 ザ・ゴール ― 企業の究極の目的とは何か

ザ・ゴール ― 企業の究極の目的とは何か作者: エリヤフ・ゴールドラット,三本木亮出版社/メーカー: ダイヤモンド社発売日: 2001/05/18メディア: ペーパーバック購入: 32人 クリック: 373回この商品を含むブログ (391件) を見る

scanfで改行まで読む

C

stdioライブラリのscanfで改行を掴むにはフォーマット文で末尾の改行を拾いに行けばいいだけです 実際のところ 10文字まで、それ未満は改行まで…… #include <stdio.h> int makeTitle(char str[]) { printf("\n\n###%s###\n\n", str); return 0; } int main() { char s</stdio.h>…

Cのポインタでは*(hoge +3)とhoge[3]と3[hoge]は同じ結果になる

C

$ cat sample.c #include <stdio.h> int makeTitle(char str[]) { printf("\n\n###%s###\n\n", str); return 0; } int main() { char string[] = "Hello, world"; makeTitle("文字列"); printf("%s\n",string); printf("%s\n",(string + 7)); makeTitle("文字"); prin</stdio.h>…

netcat/ncの送信データ改行をCRLFにする

改行の取り扱いはWindowsと*NIX系で違いますが、 何らかの事情でnetcatの出力をCRLF固定としたい場合もあるでしょう。 その場合、"-C"オプションを使うと、そこを固定できます。 "-C' Send CRLF as line-ending" 実際のところ $ echo "hoge" | nc -C localho…

LPC系下調べとIchigo Jamを使う野望

www.nxp-lpc.com そこで出てくるのがLPC1100。 Ichigo Jamで使われてる fukuno.jig.jp「Ichigo JamでARMのハンドアセンブル」というキマった記事もあるので ARM Cortex M0の低水準言語をアレコレ弄り回すスキルもつくよ! http://fukuno.jig.jp/1184ボクのLP…