読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

leaflet.jsで自前の画像ファイルを地図データとして扱う(執筆中)

便利なMAPライブラリ leaflet.jsには、既存の画像を使ったアミューズメント施設用の独自マップ、あるいは架空のゲームマップなんというのも実装可能です。例えば、以前紹介したオープンソースなスペースオペラゲームのマップを使った例は以下の通り。 CRS.Si…

国税庁法人番号公表サイト

相手企業の情報を照会したいが、部分的にしか情報が分からない……なんてこと、ありますよね。 たとえば、埼玉県にある株式会社なんちゃらシステム……あれ? 前株だっけ? そもそもなんちゃらって??? そんな時は、国税庁法人番号公表サイトが使えます。 http…

【イベントログ】第40回 東京五美術大学連合卒業・修了制作展/新構造・東京展に行って来ました

最近、展示会にもイベントにも行ってなくて精神が腐りきってる気がして来たので、ガラにもなく美術館に行って来ました。あまりにもクリエイティブ成分が不足してきたので美大の合同卒制発表会に来てみた件 pic.twitter.com/wRuq3LrJ8A— 木野修造 (@shuzo_kin…

Leaflet.jsで図形を書いたりイベントをいれたりする

shuzo-kino.hateblo.jp の続きです。 Leafletでやれる事 実際のところ マップオブジェクトの名前が"map"だった場合を想定します。 座標等々は、電通大を中心にして倍率12にしています。 距離円 var circle = L.circle([35.656083, 139.544056], { color: '…

Leaflet.jsを使ってマップAPIを叩いてみる

Leaflet.jsは強力なマップAPI系ライブラリです。 OpenStreetMapのような有名ドコのちずにポップアップをつけたり、距離円を弾いたりできます。 更に、架空の地図……それも海図や宇宙図みたいなの……にもレンダリング可能。 色々面白そうな奴です。 実際のとこ…

Google MapsのAPIキーを取得して使ってみる

Google MapsのAPIキーを取得して使ってみます。 実際のところ Google Maps APIs for Web | Google Developersへ行き、右上の「キーを取得」をクリックします。 カンタンな説明が出るので目を通しておきます。 まずはキーの適用先について。 既存のシステムに…

BETWEEN演算子で特定の範囲内にある値をとる

sql

特定の範囲内にある値をとる場合、BETWEEN演算子が使えます。 SQL標準なので、SQLiteにすら入っています。 実際のところ いままで0以上50以下なんてクエリを書く場合、以下のようにしていました。 SELECT value_a FROM result WHERE value_a >= 0 AND value_…

ionic系において、Modal系ガジェットはinputの制御下におくと動かない

ionic系において、Modal系ガジェットはinputの制御下におくと動かない 公式が意図した挙動かは不明ですが……。 実際のところ たとえば、以下のようなのがあっとします。 <ion-list> <label class="item item-input item-stacked-label"> <input type="text" placeholder="2010/10/10" ng-model="something"> </label> </ion-list> ここで、日付選択のために以下のようにやると……起動しません。 <ion-list> </ion-list>

【読書メモ】[改訂第4版]SQLポケットリファレンス

[改訂第4版]SQLポケットリファレンス作者: 朝井淳出版社/メーカー: 技術評論社発売日: 2017/02/18メディア: 単行本(ソフトカバー)この商品を含むブログを見るSQLのポケットリファレンス第四版です。SQLの歴史や文法にかるく触れつつ、関数や演算子といった…

【読書メモ】超画期的木工テクニック集

超画期的 木工テクニック集 ―電動工具に頼らずに熟練職人の技術を再現する―作者: 杉田豊久,スタジオタッククリエイティブ出版社/メーカー: スタジオタッククリエイティブ発売日: 2013/01/31メディア: 単行本この商品を含むブログ (1件) を見る超画期的木工テ…

ionicでiosのヘッダーが妙に太ましい場合

.run(function($ionicPlatform) { $ionicPlatform.ready(function() { // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard // for form inputs) if (window.cordova && window.cordova.plugins && window.cor…

ionicでポップアップ選択画面を実現するionic-modal-select

ionic-modal-selectはionicでポップアップ選択画面を実装できるプラグインです。動作例を見たい方はこちら。 codepen.io 実際のところ モーダルから選択すると、その内容でボタンの文字が変わる例を考えます。環境導入 $ bower install ionic-modal-selectin…

ionic のsalesforceテンプレートが動かない場合

文章追記中 $ ionic start mock salesforce $ cd mock/ $ ionic platform remove ios $ ionic plugin rm com.salesforce $ ionic platform add ios@4.2.0 $ ionic plugin add https://github.com/forcedotcom/SalesforceMobileSDK-CordovaPlugin#v4.3.1 --fo…

inAppBrowser Pluginを使ってionicで外部のページを表示する

inAppBrowser Pluginを使ってionicで外部のページを表示する方法です。 実際のところ ionic v1の環境を想定します。 ngCordovaとcordova-plugin-inappbrowserが必要です。 $ bower install ngCordova $ cordova plugin add cordova-plugin-inappbrowser入っ…

gitリポジトリから導入するタイプのionic pluginで特定のタグから引っ張りたい場合

Git

gitリポジトリから導入するタイプのionic pluginで特定のタグから引っ張りたい場合 まともに管理されていれば、タグでバージョンがわかるはずです。 実際のところ 何かとお騒がせのSalesforceMobileSDK-CordovaPluginのうち、 執筆時点でメジャーバージョン…

"ionic state reset"で環境を一気に更新する

$ ionic state resetをすると、一気に環境を更新できます。 最新版も引っ張ってきてくれるため、ゴチャゴチャして訳が分からなくなった際は使うと色々はかどります。 参考もと bug: `ionic build ios` not working on Mac OS 10.11 · Issue #593 · driftyco/…

git checkoutで特定のコミットまで戻る/特定ブランチの先頭まで戻る

Git

コミットID XXXYYYZZZまで戻りたい場合 $ git checkout XXXYYYZZZYOURBRUCHの先頭まで戻りたい場合。 先程のコミットID指定のやつで同じブランチに潜っていたとしても大丈夫です。 $ git checkout YOURBRUCH 参考もと "git checkout --help"

jQueryなしでJSONデータを特定のURLにPOSTする

今回はjQuery無しでJSONデータを送る方法です。 実際のところ 今回はIFTTTのmakerに対し、JSONでパケットを叩きつける方法を考えます。 <html> <body> <script> var postIFTTT = function () { xhr = new XMLHttpRequest(); const appname = "{{YOUR_IFTTTAPP_NAME}}"; const key</body></html>…

IFTTT経由でGoogle Calenderのクイック追加機能を使ってみる

IFTTT経由でGoogle Calenderのクイック追加機能を使ってみるトリガはMakerとしておくと、以下のような感じでしょうか? {{Value1}} {{Value2}} を {{Value3}} 2017/2/16 ごはん を たべる 実行すると、しばらくして以下のように追記されます。便利ですね。

IFTTTのMakerチャンネルの接続先はどこなのか

なにやら画面が変わって探し辛くなったので、メモ お急ぎの方 別に設定などみたくない方は、以下のようなURLを作って下さい。 https://maker.ifttt.com/trigger/{{APP_NAME}}/with/key/{{YOUR_KEY}}これに、以下のような様式のJSONデータをぶっこみます。 {“…

メモリをケチってchar型でカウンターを作ると

arduinoで動作チェックも兼ねたカウンターを作っておりました。 ここ数年、型を意識しないですむ言語ばかり扱っていたためか、久々にやらかしたのでメモ。 マイナスになる可能性がないカウンターなら、最初から符号なしにしましょう。 実際のところ char cnt…

Arduinoで文字列のゼロ埋め/左揃えをやりたいなら、素直にsprintfを使おう

Arduinoで文字列のゼロ埋め/左揃えをやりたいなら、素直にsprintfを使うと楽です。 実際のところ 打っ込むのはString型でなくChar配列型文字列です。 char sendPacket[24] = ""; cnt = ((cnt + 1) & 0xff); sprintf(sendPacket, "x%s", cnt, "0203"); Serial…

【読書メモ】Soft skills ソフトウェア開発者の人生マニュアル

SOFT SKILLS ソフトウェア開発者の人生マニュアル作者: ジョン・ソンメズ出版社/メーカー: 日経BP社発売日: 2016/06/02メディア: Kindle版この商品を含むブログ (3件) を見る33歳にして経済的自由人となったソンメズ氏が、ソフトウェア開発者の人生プランに…

315MHz帯通信モジュールIM315をArduinoで試す その2:送受信スクリプト編

shuzo-kino.hateblo.jp の続きです。 今回は送受信用のスクリプトを書いてみます。 実際のところ 送信側 #include <SoftwareSerial.h> SoftwareSerial IM315Serial(8, 9); // ソフトウエアシリアル int busy; unsigned char cnt = 0; String inputstr = ""; char sendPacket[24</softwareserial.h>…

【読書メモ】おカネが変われば世界が変わる―市民が創るNPOバンク

おカネが変われば世界が変わる―市民が創るNPOバンク作者: 田中優出版社/メーカー: コモンズ発売日: 2008/11メディア: 単行本 クリック: 3回この商品を含むブログ (8件) を見るNPOバンクというのがあるそうです。 私が今個人的に感じている「とある業界」の問…

315MHz帯通信モジュールIM315をArduinoで試す その1:Arduinoシールド編

IM315シリーズは"特定小電力無線"と呼ばれる帯域を使う通信モジュールです。 1:1からN:Mまで、スター型やクラスタツリー型のネットワークを構築可能。 送信専用のデバイスに至っては、なんとボタン電池一個で一年持つとかいう脅威の低消費電力。 通信距離も…

【読書メモ】プログラマが知るべき97のこと

プログラマが知るべき97のこと作者: 和田卓人,Kevlin Henney,夏目大出版社/メーカー: オライリージャパン発売日: 2010/12/18メディア: 単行本(ソフトカバー)購入: 58人 クリック: 2,107回この商品を含むブログ (348件) を見るリーダブルコード等々のプログ…

Pythonでも正オブジェクトの否定の否定はTrueだった

shuzo-kino.hateblo.jp 以前の記事で、RubyとJavascriptの正オブジェクトの否定の否定をやるとTrueが返ってくるという記事を書きました。 今回はその、Python版 実際のところ RubyやJavascriptと違い、"!"の構文がありません。 !a # 2> SyntaxError: invalid…

Pug/JadeのCase文はJavascriptのswitchっぽい挙動をする

Pug/JadeのCase文はJavascriptのswitchっぽい挙動をするようです。 必要ならbreakで飛ばす事もできます。 実際のところ 変数friendsを取得し、その結果に応じてスクリプトを変える例を見てみます。 - var friends = 114514 case friends when 0: p 君は"けも…

郵便番号から住所を出してくれる便利ライブラリ「yubinbango.js」

yubinbango.jsは郵便番号から住所を出してくれる便利ライブラリです。 npmみたいなツールが無くとも、そのまんま埋め込みができます。 実際のところ <script src="https://yubinbango.github.io/yubinbango/yubinbango.js" charset="UTF-8"></script> <form class="h-adr"> <span class="p-country-name" style="display:none;">Japan</span> 〒</form>

"Tag Interpolation"機能をつかって、タグ文中に別のタグをネストなしでねじ込む

jade/pugでは、構造はネストで表現します。 が、見通しが悪くなるから短いトコではネストしたくない……という場合、 今回の"Tag Interpolation"記法が使えます。 実際のところ これが p.mew hoge#[strong.yeah fuga]piyoこうなります。 <p class="mew">hoge<strong class="yeah">fuga</strong>piyo</p> 参考もと…

pugでmixinを使いリンクリストめいたものをだす

pugでmixinを使いリンクリストめいたものをだす方法です。 mixinはテンプレートみたいなもんです。 実際のところ Idで内部リンクするような事例の場合、 以下のような書き方でいけます。 mixin link-block .container .row .col-xs-12 a(href=arguments[0], …

Fusion360でインポートしたデータに警告マークがつき始めた場合……リンクが上手く行ってないのかも

Fusion360ではインポートという、他のファイルで編集したオブジェクトをリンクさせる便利機能があります。 が、これはリンク先の編集状態を掌握しており……差分が発生すると警告マークをだします。 この警告マークはリンク先と同期させる事で消す事が可能です…

Git で特定のコミットやtagの状態だけcloneしたい……ときでも素直に全部やっといたほうが良い

Git

Git で特定のコミットやtagの状態だけcloneしたいなんてのは、割りと良くある話。 探すとコマンドが出て来るっぽいですが、その後の不整合を考えると 実際のところ 執筆時点において、Salesforce mobile SDKの最新版は5.0です。 が、参考にしているサンプル…

gulpを入れたionicでserveした際に"WARN: No 'serve:before' gulp task found!"とかでたら

gulpを導入したionic環境でserveをやると、以下のようなエラーが出ることがあります。 WARN: No 'serve:before' gulp task found! If your app requires a build step, you may want to ensure it runs before serve.冷静にエラーを見ればわかりますが、serv…

GitでN個前からの変更差分を調べる

Git

一寸前の記事でN日前の差分を取る奴をやりました。 shuzo-kino.hateblo.jp では、その日にやった……というか数分前にコミットした差分はどうするんでしょうか? 実際のところ N日前と同様HEADに細工をします。 たとえば、四個前のdiffは以下のように"^"を4個…

ionic-datepickerを実装する

Ionicでカレンダー選択式のスゴイUIを提供してくれるionic-datepickerをionic1環境で使うための方法です。 Angular弱者の僕なので非常に苦戦しましたが、ようやく動いたのでメモ。 実際のところ Salesforce提供の雛形を、たたき台にしたプロジェクトでHogeと…

includeしたpugファイルがError: ENOENT: no such file or directory, stat '/{DIST}/.#_pagename.pug'とか出たら、部分ファイルの保存にしくじってる

$ cordova emulate ios Error: ENOENT: no such file or directory, stat '/Users/shuzo_kino/salesforce/contactsApp/www/.#_page7.pug'この場合、pugのinclude先である_page7.pugがブロックしてる可能性があります。 ちゃんと保存してあげると消えます。

gulp.destはgulpfile.jsの位置が基点

gulp.destはgulpfile.jsの位置が基点です。 srcの場所じゃありません 実際のところ 以下のような、pugファイルをコンバートするgulpコマンドがあったとします。 gulp.destはどう書いたら良いのでしょうか? const paths = { pug: ['./src/pages/**/*.pug'] }…

誤ってコミットしてしまったら、--amendで直す事ができる

Git

履歴頼みで雑にコマンドを叩いていると、時折commit commentが誤爆する事があります。 内容は問題ないのにgit resetするのはどうも……。 そんなときは--amendをしたげると、コメントの変更が可能です。 こんな事も知らずにgit使ってたのか……という話ですが。 …

"multiple definition of ..."とか出ていたら、ライブラリを多重に読み込んでいる可能性

Arduino用スケッチにて"multiple definition of ..."とか出ていたら……ライブラリを多重に読み込んでいる可能性があります。 お手製ライブラリを組み込んだアプリを受け取った際に起こりがちです。 依存関係を消して、再度ライブラリを導入すると何とか成るか…

gulp-html2jadeを使って既存のHTMLファイルをjade/pugに転換する

既存のHTMLをjade/pugに変換する方法です。 このgulpとか言うコ、弊社のコワイ人たちが使ってるツールという激しい偏見があったので極力避けてました。 でもシカタナイネ。 いつまでもWEBブラウザ版使うわけにもいかんし……。 実際のところ pugは新しい事もあ…

jadeはpugという名前になり、少し記法が変わりました

すっかり前線から離れて忘れまくっているのでメモ。nodeJsフレンドリーなHTMLエンジンjadeはpugという名前になっています。 ソレに加え、2016年8月からpug v2として一部記法がよりスマートになりました。 また、ドキュメント化されてないメソッドやイケ…

node製アプリに*NIXコマンドをぶっ込むshelljs

shelljsはnode製アプリで*NIXコマンドを利用可能な便利ライブラリです。 FirebugやYaomenといった有名ドコロで使われていると。 個人的にはSalesforce Mobile SDKでわけも分からず入れるものでしたが……調べてみると便利そうです。 実際のところ 現在いるディ…

cordovaで現在利用可能なiOSプラットフォームのリストを表示させる

mac

cordovaは便利なので一々XCodeみたいな糞重いGUIツールを起動せずともビルドして iOSエミュレータを起動してくれます。 $cordova emulate iosデフォだと最新プラットフォームで起動します。 が、古い機種だとどうなるかチェックしたいときもあるでしょう。 …

iPhone Simulaterからアプリをけす(初期状態にする

mac

iPhone Simulaterからアプリをけす(初期状態にする)方法です。 設定情報が残っていたりして面倒な時にも使えます 実際のところ 画像のように、iPhone Simulator > Reset Content and Settings. と実行してあげれば、再起動が掛かって消えます。 参考もと x…

bashで計算結果を16進数や2進数にしたい場合、bcコマンド

bashで計算結果を16進数や2進数にしたい場合、bcコマンドがイケます。 進数はobaseという変数で指定です 実際のところ あんまりいい方法では無いでしょうが、 二進数をprinrf記法に混ぜ込みたい場合、こんな手が。 $ printf "0bs\r\n" `bc <<< "obase=2;2…

Unity最新版でGPS系Androidアプリがクラッシュする場合、Unityのバージョンを落としてみる

ポケモンGO的なGPS連動ゲームのライブラリ、GO MAPで遊んでいた時のこと。 (日本語の開発情報はこちら)Androidでビルドしようとしたところ、どういうわけかGPS読み込みの段階でクラッシュしてしまいました。 そこで公式を見に行った所…… GO Map - 3D Map f…

bashで自爆カウンターめいたものをつくる

bashで自爆カウンターめいたものをつくる 実際のところ whileループでタイマーをぶん回してます。 #!/bin/bash i=666 while true do printf "\r0x%03X" i=$(expr $i + 1) done別パターン。 letのインクリメントを使います。 見た目からして明らかにコッチの…

Bash文字列のN番目を取り出す

Bash文字列のN番目を取り出す方法です。 軽量言語ならアリそうな機能ですが、まさかBashにもあったとは 実際のところ こんな変数を想定しておきます $ let sp="1234" 先頭一個だけ捨てる $ echo ${sp:1} 234 二番目を取り出す $ echo ${sp:2:1} 3 先頭3コを…