サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
qiita.com/kazuph
この記事を見て自分もやりたくなったので、今回はバックエンドとしてGASを使ってみることにしました。 https://qiita.com/revsystem/items/d8413c179bcc3f4726e8 尚、GAS自体の説明はしません。 スプレッドシートの作成 自分のGoogleアカウントでログイン後に適当に新規にスプレッドシートを作成してください。 ブラウザで https://sheet.new にアクセスすれば作成できます。 GASの作成 ツール>スクリプトエディタをクリックで作成できます。 GASのソースコードを記述 function writeFile(data) { var drive = DriveApp.getFolderById('AAAAAAAA....'); // 後述する自分が作成したGoogle DriveのフォルダのID var fileName = 'sa
Atomのautocomplate-plusでTabで次候補、Shift+Tabで前候補に移動しEnterで確定するようにするATOM Settings>Packages>autocomplate-plus>SettingsのUse Core Movement Commandsでチェックを外す。 Settings>Keybindings>your keymap fileにて以下を記述。 'body atom-text-editor.autocomplete-active': 'ctrl-p': 'autocomplete-plus:move-up' 'ctrl-n': 'autocomplete-plus:move-down' 'tab': 'autocomplete-plus:move-down' 'shift-tab': 'autocomplete-plus:move-up' 'ent
別にportは3000じゃなくてもいいのですが、とにかく手元のマシンで開発しているAPIなどのテストが便利になります。 Download Versionは4.0.1です。 4系のキャプチャあり説明がこの世に全然ないので、画像つきで説明してみます。 最終イメージ 本来 アプリ→Wi-Fi→本番APIサーバー(https://example.com) 今回 アプリ→Wi-Fi→手元のMacのプロキシ→手元のAPI(http://localhost:3000) localhostのやつが悪い顔しているように見えますが気のせいです。 手順 もし途中で詰まったらこの辺も見るといいかもです。 1. Charlesダウンロードしてインストール TOPよりよしなにやってください。 2. 起動 3. SSL Proxy に"*"設定 Mac上部の方のMenuより選択してウィンドウ表示。 "*"を追加してくだ
$ echo -ne "hoge 4\nfuga 5\npiyo 6" | perl -anle 'print "$F[0] "."▇"x$F[1]." $F[1]"' hoge ▇▇▇▇ 4 fuga ▇▇▇▇▇ 5 piyo ▇▇▇▇▇▇ 6 $ echo -ne "hoge 69\nfuga 511\npiyo 1195" | perl -anle 'print "$F[0] "."▇"x($F[1]/30)." $F[1]"' hoge ▇▇ 69 fuga ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 511 piyo ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 1195 $ zcat access.log-20161018 | grep login | perl -F'\t' -nale '%h=map{split/:/,$_,2}@F;print"$
諸事情でbase64でエンコードさえている画像が沢山保存されているブラウザのキャッシュから実画像ファイルを抽出する必要があった。base64の文字列をインスペクターで抽出して、以下のスクリプトにコピペして実行すると画像を抽出できる。 単に画像の形式の宣言部分を端折ってbase64の文字列部分だけをライブラリでデコードすれば良い。 拡張子は合わせる必要がある。 require 'base64' str='data:image/jpeg;base64,...' # コピペする File.open("%04d.jpg" % i, 'wb') do|f| f.write(Base64.decode64(str['data:image/jpeg;base64,'.length .. -1])) end require 'base64' i = 0 File.foreach('photos.base6
$ go get -u github.com/jteeuwen/go-bindata/... $ go get github.com/kazuph/go-binenv
Logというシートを追加して、スクリプトエディタに以下をコピペする。 また必ず一度実行して承認などは済ませておく。 /// 編集検知 function onEdit(e) { if (e.source.getSheetName() === 'Log') {return;} SpreadsheetApp.getActive().getSheetByName('Log').appendRow([ new Date(), // 日時 e.source.getSheetName(), // シートネーム e.user.getEmail(), // ユーザーのメールアドレス e.value, // 変更後の値 e.range.getRow(), // 行番号 e.range.getColumnIndex() // 列番号 ]); }
今日中に間に合うか!? この記事は出張中の京都で講演を聴きながら書かれています。 BLE Advent Calenderの今日の当番なので、頑張って書きます。゚(゚´Д`゚)゚。 →すいません、投稿遅れましたm(_ _)m IoTボタンのブループリント これ!がつくりたいんですが、Wi-Fi使っていると思うので、それだと直接クラウドにつながっちゃってBLE使わない!ってことで、せっかくなのでBLEを使って作成します。 ちなみにざっくりイカのような構成でつくってみました。これは実はTechCrunch Tokyo 2015 CTO Nightで使われたプレゼンボタンです。 ボタンを押すと、BLEでスマフォに通信が行って、MQTTでAWS経由で自分の手元のPCまでPub/Subでメッセージが来て、最後にWebSocketでつながっているプレゼンツールが次のページに行ったら成功です! まずボタン
USBで繋いでないときもNSLogの内容がみたい時ってありますよね? 特に位置情報系を使ったりするアプリなんかでは、今Regionに入った?出た?近づいている?って情報がとても気になります。 まあLocalNotificationでもいい場合も多いのですが、うざいし、iOS8以下だと過去分も見返せないなんてこともあると思います。 そんなときは、ここで紹介するAntennaという世界的に超有名なiOSエンジニアであるmatttさん作のライブラリを使って見ましょう! 自分が立てたサーバーに簡単にログ情報を送ってくれますよ! アプリ側の準備 Antennaを導入します。
githubの特定ブランチへのgit push --forceをprotectしてエンジニアの精神崩壊を防ぐ( ꒪﹃ ꒪)ブクブクGitGitHub Protected branches and required status checks もうお済みですか!? 9月4日のことですがgithubより以下の機能がリリースされています。 特定ブランチへのforce pushを無効する 特定ブランチへのマージ時にステータスチェックを必須にする(CIと連携している場合は、テストが通るまでマージできないようにできる) これを実施することで、ある日新人が謎の空のコミットをmasterブランチにforce pushして来たり、ある日途中からJOINした人がpull reqもせずにdevelopブランチに謎コミットをforce pushして来たり、ある日とあるOSSで間違えて一ヶ月前のローカルレポジト
あるあるだと思うのですが、あとから複数の要素を一つにまとめたい時って、下の様に移動後に中央に移動してしまい、残念な思いをしたことはたくさんあると思います。 ですが、次の様にメニュー>Editor>Embed In>Viewとすると、選択した要素を囲むような最低限の(2015/09/09 14:29 全然最低限じゃない場合が多いので訂正)大きさのViewに収めることができます。 元の位置もずれない!!便利!!もっと早く教えて欲しかった!! Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do
IoTエンジニアになって半年が過ぎたkazuphです。 (IoTって言葉はいつごろまで使えるんですかね(・∀・)?) PerlやRubyでWebアプリケーションを書いていたエンジニアが、C言語でゴリゴリ組み込みプログラミングをすることになったときに、どんなことを知っていたかったかなと思い出しながら書いてみたいと思います。 その辺にある普通のC言語の入門書には載ってない知識が中心です。 ちなみにArduinoの例が多いですが、実際にはほとんどの期間を某チップの某SDKを使って開発しました。 わかる方はそれを想像しながらだと面白いかもしれません(・∀・) 半年の半分はiOSアプリ作っていたので、実質3ヶ月くらいの知識だと思ってください。 間違いの指摘など是非々々お待ちしておりますm(_ _)m こんな記事も書いてます。 IoTやるならまず知っておきたいパーツ屋・オンラインショップ IoTアプリ
Google Apps ScriptでスクレイピングしてSlackにPOSTしてます。 GASで提供されているUrlFetchAppが便利です。 定期投稿は各自好きなタイミングでmyFunctionが実行されるようにトリガーを設定してください(GUIだけでできます)。 var code = "1111" // あなたが見たい会社の証券コード var slack = { postUrl: 'https://slack.com/api/chat.postMessage', token: 'xoxp-AAAAAAAAAAAAAAAA', // Slackのtoken channelId: "C0BBBBBBBBB", // 株価ちゃんねるのID userName: "株価監視君" // botの名前 } var postMessage = function(text) { UrlFetchApp
Google Apps ScriptだけでSpreadSheetへのPOST APIを持つWebアプリケーションを公開するJavaScriptGAS 概要 ※公開方法が一番重要なので、うまくいかない時はそれをまず確認してください 個人的にスマフォの通信量が7Gに行くことが多くなったので、小まめに確認して使い過ぎないようにしようと思ってつくりました。 以下のような感じで、POSTすれば表になるので、これをグラフにすれば日々の通信量が視覚化できていいですね! script そもそもどうやってscriptをいじるか知らない人はググってください。Spreadsheetを新規作成してツール>スクリプトエディタで開きます。 POST時にシート名と数値データをそれぞれsheetNameとdataで指定している前提です。 function doPost(e){ var sheetName = e.para
【総計5万はてブ!】QiitaのAdvent Calendarのはてブ数をNode.jsで集計してRactive.jsで表示するNode.jsRactiveJS 総はてブ数: 50,681 総記事数: 3,818/5,350 テーマ数214 【完走✕】1位 Git はてブ数合計: 2018, 記事数: 22 【完走○】2位 Vim はてブ数合計: 1887, 記事数: 25 【完走✕】3位 クローラー/スクレイピング はてブ数合計: 1759, 記事数: 24 【完走✕】4位 Yahoo! JAPAN Tech はてブ数合計: 1700, 記事数: 22 【完走○】5位 Pepabo はてブ数合計: 1622, 記事数: 25 【完走○】6位 Webアプリエンジニア養成読本 はてブ数合計: 1413, 記事数: 25 【完走✕】7位 VirtualDOM はてブ数合計: 1370, 記事数
(ふう、、やっと訳せた。。。この投稿はBluetooth Low Energy Advent Calender 2014の12日目の記事です、、、) 昨日(?)に引き続き @kazuph が担当します! TECHNOLOGY(技術) Q. Bluetooth 4.2はBluetooth 4.1とか4.0を「置き換える」ものですか? いいえ、Bluetooth 4.2は以前の仕様によりすでに提供されている機能群を「拡張」するものです。 Q. Bluetooth 4.2にすると何がいいの? 新機能があることもそうですが、今までのバグ修正や訂正表によってコア仕様へと取り込まれた重要な利点を得ることができます。 (マイナーバージョンアップだからバグフィックがあるよって話) Q. Bluetooth Smart (BLE)はBluetooth 4.2の一部ですか? はい、BLEは4.0から導入された
この投稿はBluetooth Low Energy Advent Calendar 2014の11日目の記事です! お世話になっております(??) @kazuphです。 本日は先日発表されたBluetooth 4.2についての仕様の日本語訳になります。 Core Specは分量が多すぎるため(2,500ページ!!)、今回はQuick Reference Guideと、FAQの日本語訳を行いたいと思います。 今日はQuick Reference Guideだけ。 ちょっと意訳してる部分もあるので、間違いあれば指摘をいただけると助かりますm(_ _)m それでは行きましょう。 BLUETOOTH® CORE SPECIFICATION 4.2 QUICK REFERENCE GUIDE Bluetooth 4.2は、Bluetooth Smartに刺激的な新機能と恩恵を提供するBluetoot
この投稿はBluetooth Low Energy Advent Calendar 2014 の7日目の記事です! 今回も前日に引き続き @kazuph 担当させていただきます! 前置き MacとiPhoneしか持ってない人がiBeaconを試したい!って思った時には、アプリなどを使ってどちらかをiBeaconの受信側・発信側にすることによって実現できると思います。 実際にそういう記事は多く書かれていて、例えばQiitaだと以下の記事にまず行き着くのではないでしょうか? Node.js - たった6行!最も簡単にiBeaconの電波を「発信」する方法 - Qiita Bleacon = require('bleacon'); var uuid = 'E86367B8D8A84BE082DE4653A7333113'; var major = 0; var minor = 0; var me
この投稿はBluetooth Low Energy Advent Calendar 2014 の6日目の記事です! ここ数ヶ月間iOSアプリとBLEで通信する機器の開発を行っている @kazuph です。 元々は単なるWebプログラマーだったのですが、いつの間にかマイコンの組込みプログラミングをするまでになりました。 サーバー、アプリ、マイコン含めていわゆる"ソフトウェア"と呼べる部分は全部書いているのですが、その辺の習得までの流れとかはおいおいブログに書いていきたいと思います。 今回は普段仕事でBLE開発をする中で習得した、GATTの内容やアドバタイジングパケット内容をMacだけで確認する方法を書きたいと思います。 やってみる 何はともあれツールをインストールします。 用いるものは以下の2つです。 LightBlue PacketLogger LightBlue AppStoreからイン
例えばArduino Pro Miniという基板にUSBの差し込み口がないやつや、Arduino Nanoなどを使用したい場合は秋月などで買える以下の様なUSBシリアル変換器が必要です。 FT232RL USBシリアル変換モジュール: 半導体 秋月電子通商 電子部品 ネット通販 Install USB Serial Driver 秋月のやつの場合はFTDIというチップを使っているので、以下のサイトからドライバーをダウンロードしてインストールする必要があります。 FTDI Driver Download Page 2つファイルが入ってますが「FTDIUSBSerialDriver_10_4_10_5_10_6_10_7」の方ならYosemiteでも大丈夫です。 またマイクロUSBではなく、ミニUSBが必要なので一緒に買っておくといいでしょう。 配線 DFRduino Pro Mini V1.
$ for ((i = 0; i < 30; i++)); do time vim .zshrc +wq; done; こんな感じでワンライナーでfor文を書いて、timeとvimの起動のコマンドを書いておけば、起動にかかった時間をリアルタイムに見ながらvimrcをいじって高速化していくことができます。 のように、+のあとにvimのコマンドを書くと実行される機能を使用しています。 ※wも追加している理由は保存時の動作が遅い場合もあるからです。本当に起動時だけの時間をみたいならqだけでいいと思います。 (gifアニメーション中だとgoのための記述が遅さの原因になっていたことがわかります。) これなら一々vimrcをいじってvimを閉じてまたvimを起動、vimrcをいじってvimを一度閉じてまた起動…を繰り返さなくていいのでお手軽ですね! Register as a new user and
HHKのProだとキーボードの右下にカーソルキーがないのですが、じゃあどうやってカーソル移動しているかというとVimを使っていれば問題ないFnキーとキーボードの右側のキーを使ってカーソル移動を実現しています。 以下の画像に通常状態とFn押下後の画像を見るとわかりやすいですね。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ で、それをバリバリ使ってからMacをいじるとたまーーーーーーーーに必ず→とか←とか入力しないといけないアプリケーションがあってまあVimでは絶対カーソルキー押さないわけですが、カーソルキーに手を伸ばすのがめんどくさいなぁって思う時があります。 で、Macでもできないかなぁーって思っていたらKarabinerというキーマップ変更ソフトで出来ました! やり方は単純で、Karabinerを起動してHHKでフィルタリングして「Enable HHK
こんないいものがこの世にあったとは、、 イベントドリブンなJSや組み込み開発などだと、処理が複雑化することがあるので、複数人での開発などは意思疎通が大変です。 そこでシーケンス図を作成しようと思っていたらものすごくいいものを発見しました。 おすすめです。 ソース デモ用Webページ 実際の操作 日本語も使えるし、かなりリアルタイムにシーケンス図を作成してくれていることがわかります。 問題は作成したソースを保存とかできないことですかね。やりたい場合はコピってgit管理ですかねー。
iOS/Androidアプリはつくれるけど、最近流行りのIoTの波にも乗りたい。そういうときに、BLEとIoTデバイスとの通信部分がつくれることが必須になってきました。 どっちかって言うと日曜大工ではなく、実際にプロダクトとして開発したい人向けにまとめています。 自分もまだまだ始めたばかりですので、このBLEモジュールいいよ、とかこの開発環境がつくりやすいよ、などありましたらご教授いただけると幸いですm(_ _)m 例によって随時更新! BLE開発環境 1. 浅草ギ研 BLESerialというマイコンとシリアル通信することを前提にしたBLEモジュールを販売しています。秋葉原にいけるなら千石やツクモのロボット王国で見つけることができます。 ArduinoとiOS/Androidとを連携している記事公開されており、サンプルコードもダウンロードできるので、これで一瞬でプロトタイピングが開始できま
随時更新予定! 自分も始めたばかりなのでまだまだ全然知りませんので、 オススメあったら教えてください。 (こんな記事も書いてます。) IoTアプリをつくりたいと思ったあとにまず試すべきBLE開発Kitたち BLE Boot Camp White Note : BLEのやば濃いイベントの二日間 マクニカオンライン http://www.macnicaonline.com/ カスタマーサポートの対応が良かったです。海外でしかないものを仕入れているケースが多い気がします。 浅草ギ研 http://www.robotsfx.com/ パーツを使いやすい形で販売してくれています。Webサイトで使い方を説明しているのもいいです。下に示す千石やツクモロボット王国のリアル店舗の方でもコーナーがあるので、近くなら行って眺めてもいいと思います。 秋月 http://akizukidenshi.com/cata
0 */1 * * * root su - <USER_NAME> -lc "cd /home/<USER_NAME>/yourproject_path && bundle exec ruby hoge.rb" >> /var/log/yourproject/cron/hoge.log 2>&1
source "https://rubygems.org" gem "faraday" gem "faraday_middleware" gem "hashie" #!/usr/bin/env ruby # coding : utf-8 require 'faraday' require 'faraday_middleware' require 'pry' class Feedy attr_accessor :feeds, :entries def initialize @conn = Faraday.new(url: 'https://cloud.feedly.com') do |faraday| faraday.request :json faraday.adapter Faraday.default_adapter faraday.use FaradayMiddleware::Mas
戦略 Railsのことは忘れる(そういうこともあるよ) capをサーバーにsshでコマンドを送り込むrake taskの塊と見る 「とある役割のサーバー」に対して「とある処理」を実行して回りたい、という場合を想定 単にrestartだけ切り出して実行するとか、あるコマンドの結果だけ手に入れるとか 個人的にはansibleでもできると思ったけどrubyメンバーに強要できないし、小回り効かせたい 準備
前提 capでデプロイしている 本番サーバーでsudoが使えるようになっている cronの設定ファイルをプロダクトのgitレポジトリ内に含めている 問題 cronをシンボリックリンクで/etc/cron.d/以下に設置しても権限の問題で無視される 以下の設定を追加 ownerはroot:root permissioは644 gitで予めchown root:rootしておけない(よね?) 解決方法 capでデプロイする度に権限を変更する 実装 sudoを使うので以下を設定してなかったら追加
次のページ
このページを最初にブックマークしてみませんか?
『@kazuphのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く