Bye Bye Moore

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

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

macOSでFTDIドライバを入れても認識しないようなら……素直に再起動をかける

mac

USB機器を挿した状態で、以下のコマンドに反応があれば一応は認識しています。 $ kextstat | grep FTDIここで com.FTDI.driver.FTDIUSBSerialDriverといったものが見当たらない場合、ドライバが入っていない。 Virtual COM Port Driversから最新版を導入する…

emacs lispで日付をパースする

Emacs lispで日付の文字列を取得する場合、detatime-formatライブラリを使うと楽です。 実際のところ GitHub - zonuexe/emacs-datetimeからelファイルを貰ってきて、パスを通します。年-月-日のフォーマットで返したい場合は以下の通り。 (datetime-format "…

WIFIモジュールESP8266EXのATモードがうまく動かない場合……動作電力が足りてないのかも

ESP8266EXは550円程度で調達できるWiFiモジュールです。 32bitのMCUも内蔵しておりなかなか高性能です。 基本的な設定はよくあるように、ATコマンドで出来ます。 もし、このATコマンドが正常に動作しないなら、配線以外に供給電力を疑ったほうが良…

safariにはiOS用のデバッグモードが内蔵されている

mac

safariにはiOS用のデバッグモードが内蔵されています。 XCodeでもかなりの事がわかりますが、処理順や実行時間みたいな事はわかりません。 Safariはそこら辺をよろしくサポートしてくれます。 実際のところ iOS側の設定 まず、iOS側の設定画面で「Safari」の…

IFTTTを登録しLINEにメッセージを投稿する

IFTTT(イフトと読むそうです)は、色んなサービスを便利に連携してくれるサービスです。 プログラミング不要でGmailとLINEを連携させたりできます。 実際のところ 登録 公式ページに飛び Sign Upします。 Googleアカウント連携みたいなのは提供してないので…

Git diffでブランチ間の差分をとる

Git

Git diffでは、コミット前からの差分だけでなく、ブランチ間のdiffをとる事もできます。 実際のところ ローカルの"fix/22"というブランチとGithub上のorigin/masterブランチについて、 www/templates/home/ディレクトリでの差分を確認したい場合は以下のよう…

git checkout はファイルだけ引っ張ってくる事もできる

Git

git checkout はファイルだけ引っ張ってくる事もできます 実際のところ 例えば、環境再構築でふっ飛ばしてしまったビルドに必要なファイルを安全なコミットxxxxから回収するスクリプトは以下の通り $ git checkout xxxx PATH/TO/FILE

オムニホイールの軸は文字通りの意味で"叩き込む"

実に泥臭い話ですが、門外漢の私は一旦面喰らったので。 公式の説明によると叩き込めとか乗ってますね…… 言われた通りに叩き込むと……何か。 反対側の軸はこんな感じ。 説明書通り、凹がある方を2mmほど出しておきます。 次はモータ側のスプリングピン。 名前…

Arduino Moter Shield Rev3でDCモーターを動かしてみる

Arduino Moter Shield Rev3を使って、DCモーターを動かしてみました。 実際のところ 使ったもの 【永久保証付き】Arduino Uno出版社/メーカー: スイッチサイエンスメディア: Personal Computers購入: 2人 クリック: 15回この商品を含むブログを見るArduino …

PythonでURLエンコード/デコード

PythonでURLエンコード/デコードする方法です。 実際のところ マルチバイト文字列をURLエンコードするにはquote_plus print(urllib.parse.quote('日本語')) #>> %E6%97%A5%E6%9C%AC%E8%AA%9E URLエンコードされた文字列をマルチバイト文字列にするにはunquot…

関数デコレータなる機能

関数の前にある「@」で記述されたアレ、関数デコレータというそうです。 本体に変更を与えることなく、追加の機能を提供します。 実際のところ 関数に入った時メッセージを追加するデコレータ"start_msg"を考えます。 実装すると、こんな感じ def start_msg(…

atexitモジュールはスクリプト終了処理を記述可能

標準添付のatexitモジュールはプロセス終了時の動作を記述かのうです。 もう末尾にやっつけ終了処理を書かなくても良いのです(涙 実際のところ import atexit @atexit.register def end(): print("Done:The Process") print("first") $ python test_exit.py…

Pythonではライブラリと同名ファイルを同一ディレクトリに置くと……クラッシュする

今回は実にショーもない話です。 Pythonではライブラリと同名ファイルを同一ディレクトリに置くと……クラッシュします。 実際のところ REPLでゴリゴリ作っていた内容をファイルとして作り変えた所、以下のようなエラーが。 $ python contextlib.py Traceback …

contextlibをつかうと終了時や開始時に明示的なアクションが必要な場合に確実な記述ができる

contextlibはwith構文のyieldを使って色々できる怖い機能です。 with構文自体がcloseをやってくれる便利なヤツですが、 このcontextlibをつかうと終了時や開始時に明示的なアクションが必要な場合に確実な記述ができます。 実際のところ 公式のサンプルによ…

組み込み関数maxを文字列に適用すると……ascii順で最大の文字を返す

組み込み関数maxは順番処理が可能なデータ型に対して最大の値を返してくれる関数です。 ところで文字列は順番処理が可能です。 ……文字列にmaxを適用すると、どうなるか? その文字列中で、ascii順で最大の値を返してきます。 どっかの馬鹿のように、エラーを…

PythonでUUIDをつくる

uuidはそれぞれ衝突しないIDを実装者が自由なタイミングで生成できる仕組みです。 iOSアプリを開発してる人なんかだと、ベータ版ユーザさんからかき集める例の16進数文字列というと分かり易いかも? 一応、理論上は衝突し得ますが 仮に毎秒数億個以上のスピ…

【イベントログ】府中テクノフェスタに行ってきました

府中テクノフェスタに行ってきました。 実は直前までやっている事自体知らなかったのですが……行った方によると色々面白そうだったので急遽見学する事に。 実際の様子 図書館併設の施設でやっている為、規模はそこそこ。 その分、気軽に商談が出来る感じです…

【イベントログ】次世代農業EXPOにいってきました

VIP招待券なんて素敵なモノも貰ってしまったので、今回も行ってきました次世代農業EXPO。 それにしても、幕張メッセはやはり遠い…… 会場の様子 垂直 薪ストーブ 間伐材の有効活用という事で最近人気の薪ストーブ 個人用が売れ筋との事です ご家庭でも多段式…

Makefileの解決順は結局どうなってるのか?

今回のは、もの凄く初歩的な話です。 C言語のような古き善きプロジェクトではよく見かけるMakefile。 基本的に人様の書いた秘伝のタレをみて何とな〜くわかった気になってしまうヤツですが 思う所あって、自前で勉強してみようと思いました。 まずは解決順の…

Makefileの".PHONY"という記法について

実際のところ makeコマンドを使って、不要なtxtファイルを一掃するコマンド"clean"を作りたいとします clean: rm -r *.txtところが、このシステムにはとある事情でcleanという同名のファイルがありました $ ls Makefile clean hoge.txtこれでは、コマンドを…

android sdkの導入にミスった場合、"update sdk"するだけで良い

突然の停電やネットワーク不調でandorid sdkの導入に失敗すると、以下のようなエラーが出て前に進めなくなったりします。 Exception in thread "main" org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]こういう時は……何のことはなく、"…

ionicビルド中にError: spawn EACCESとかでたら"hooks add"しよう

初回はちゃんとビルドできたのに、ちょっとファイルをイジったら Error: spawn EACCES とか出てきました。 色々見ると、どうもディレクトリへの実行権限(それも777)を与えるとかいうファンキーな解答が目立ちますが……ionicはこういう場合用に以下のようなコ…

gulp利用アプリのレイアウトが崩れるようなら、プロジェクト中のnpmを再インストールしてみる

gulp利用アプリのレイアウトが崩れるようなら、プロジェクト中のnpmを再インストールしてみると良いです。 実際のところ とある開発中アプリをgit経由で導入し、必要ライブラリのgulp導入も行いました。 $ git clone [email protected]:foobar/fizzbuzz.git …

VirtualBox上のUbuntu14.04にcordovaとionicフレームワークを導入する

クロスプラットフォームなスマホアプリを開発するApache Corovaというライブラリがあります。 ionicは、このcordvaを拡張し更に格好良く、拡張性を向上させてくれるライブラリです。 本命は10USD~50USDで販売されている有料拡張らしいですが、基礎フレームは…

SSH接続がどーしても出来ないようなら、一旦全部真っさらにしてから再導入してみる

SSH接続がどーしても出来ないようなら、一旦全部真っさらにしてから再導入してみると案外解決したりします。 この件に限らない話かも知れませんが。 実際のところ 前提状況 Virtualbox上にUbuntu14を構築済 (極めて雑に)SSHやOpenSSHまわりを導入済 Virtualb…

ChromeブラウザアプリPostmanでAPI鯖の試験をする

PostmanはAPI鯖の試験をするのに便利なアプリケーションです。 ChromeブラウザアプリやOS Xアプリとして展開されています*1。 ちょっとの内容ならcURLでゴリゴリでもラクですが、認証を使い分けたり便利スクリプトで自動化したい場合なんかには有効そうです…

PythonでもLambda式

みんな大好き無名関数! Lambda式はPythonにもあります。 実際のところ 特に何も読み込まずに定義可能です。 a = lambda x: map(int, x.split(',')) コールする時は引数として。 a('12,24') #>> [12, 24] a('2, hoge') #>> ValueError: invalid literal for …

bottleのURLキャプチャで正規表現をつかう

bottleのURLキャプチャで正規表現をつかう方法です。 エントリ番号を入力する所で文字列や日本語を投入されないようにできます。 実際のところ 一致させる場合 @get('/blog/:num#[0-9]+#') 特定の文字列だけキャプチャという事も可能 @get('/hello/:name#(sh…

bottleにファイルの変更を検知してリロードする機能を加える

bottleにも、ファイルの変更を検知してリロードする機能が備わっています。 ある程度性能とトレードオフな所があるので、開発段階でTrue、実用段階でFalseにしてしまえばいいでしょう。 実際のところ 普通のrunにreloader=Trueを付け加える。 それだけです。…

FlashAirのupload.cgiを使ってファイルをアップロード

FlashAirのupload.cgiを使ってファイルをアップロードする方法です。 元の写真アップ機能はもちろん、データロガーとしても。 用途が広がって、色々捗りますね。 実際のところ 設定の書き換え UPLOADを1(=アップロード対応)、 APPTIMEOUTを0(=停止しない) [V…