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

Bye Bye Moore

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

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コを…

シェル変数文字列の長さを調べる

シェル変数文字列の長さを調べるには ${#VAL_NAME}です。 実際のところ 文字列を作って、その長さを調べます。 $ let sp="1234" $ echo $sp 1234ここまでは普通ですね。 ここで、上の方の通り変数名を中括弧で括ってシャープをつけたると…… $ echo ${#sp} 4…

【自習メモ】プログレスバー的な文字増減をする場合、先に全部生成してsedで弄ったほうが早い……こともある

timeコマンドはスクリプトの実行時間を計測する子です。 以前記事化した事もありましたね。さて、前回の記事でやったプログレスバーの部分について ちょっと前に読んだ本に「sedは十分高速だから極力sedでやれ」とか書いてあったような事を思い出し…… 試しに…

bashでプログレスバーを実装してみる

bashでプログレスバーを実装してみます。 実際のところ まぁ、考えてみればカンタンな話で……改行せずにガンガン上書きしてやりゃ良いだけですね。プログレスバーは昔の記事のyesを使うバージョンでやりました。 shuzo-kino.hateblo.jp #!/bin/bash function …

bashスクリプトの中で関数をつくる

自前のやっつけスクリプトも使用頻度が上がってくるとメンテしたくなるもの 半年後に見返した時、どこで役割が分かれてるかわかんないなんて悲惨なケースもありえますし というわけで、今回はbashスクリプト中で関数を定義する方法です 実際のところ #!/bin/…

Office製ファイルを極力そのまま編集するGoogle公式の拡張アドオンがある

Google Driveにオフィスツールをぶっ込むと、一応中身を確認できます。 また、無理矢理Google Docs等で開けば編集もできますが……大抵崩れます。 お役所書類がGoogle Docsに対応してるわけもないので、泣く泣く純正品が入ってるので単独作業……という事を今ま…

cURLで一定の規則名をもったファイル名で保存する

cURLで一定の規則名をもったファイル名で保存する方法です。 実際のところ something.orgというサイトがあったとします。 これで上位のsiteとhostというトコにfile1~file3とかいうのがバラバラに置かれていたとします。*1 これを楽に取るには以下のようにし…

【読書メモ】Fusion 360 モデリング・マスター

www.autodesk.co.jpFusion360はautodesk社が提供している3DCADツールです。 なんと……学生や、うちのような零細企業であれは無料プランが用意されています! 英語ですが、操作法の動画解説もあります。 Help ウチにように、ちょっと仕事で3DCADの勉強はじめる…

cURLの-wオプションで確認可能なパラメータ(処理時間やレスポンスコード、IPアドレスまで)

前回の記事ではcURLの-wオプションをつかってレスポンスコードを取得する方法を学びました。これは色々なパラメータを取得できる便利な関数です。 実際のところ content_type (もしあれば)リクエストした文書の Content-Type 。 JSONか画像か判定する事が…

cURLでレスポンスコードだけ見る

shuzo-kino.hateblo.jp 以前の記事では、レスポンスヘッダを丸々みる方法を紹介しました。ただ、状況によっては過剰でしょう。 実際のところ たとえば、example.orgというリンクが存在しているか確認したい場合です。 上記の記事通りやると以下のようなりま…

Gmailを複数人に転送する場合……フィルタをつけないといけない

一個の転送ならば、転送設定画面から行けます。複数のメアドに転送する場合、フィルタを使うしか無いようです。 それも、一個一個のアカウントを指定する形で。 参考もと Gmail のメールを他のアカウントに自動転送する - Gmail ヘルプ

Rosseta Stone 中国語編を一年かけて終了し出来るようになったこと、出来ないこと

www.rosettastone.co.jp 先日、ついにRosseta Stone 中国語編が終わりました。1月9日にはじめたので、ほぼ一年掛かった計算になります。 7月中旬の記事では10月末に終わるなどと言っていたようですが、後ろの方に行けば行くほどシャドーイングが困難に…

特定のカラムを持った列を除外するSUMIF関数

今日は特定のカラムを持った列を除外するSUMIF関数について。 実際のところ たとえば、こんな条件があったとします。 1~2行はヘッダ D列は記号 J列が数値 J列の合計、ただしD列に"△"を含むものを除外 この場合、Google SpreadSheetでは以下のように書きます…