2017-01-01から1年間の記事一覧

【rails】authenticate_with_http_token を使ってapiの認証機能を実装する

はじめに 今回やりたかったことはアプリからのリクエストを受け付けるapiの開発。やりたいことと流れは以下のようなイメージ・Emailとパスワードでログインを行う ・ログインに成功したらトークンと有効期限を発行してクライアントに返す ・クライアントは毎…

rails console で group by の結果を確認

やりかったことはemailが重複しているレコードの件数をしらべたかっただけ。 実行されているSQLが期待通りだったのでこれでいいのかと思ってたけど、全然期待した結果にならない。。 $ User.select('email,count(*)').group('email') > User.select('email,c…

【ionic2】ionicPageで各画面をurlに対応させる

はじめに ionic1のルーティングまわりはui-routerで検索すれば色々出て来たけどionic2で何で検索すればよいのかまだよくわかってないけどとりあえずやり方はわかったのでメモしておく。デバッグのときとかはブラウザでリロードしたいし。あれ、けど目的はそ…

【ionic2】画面遷移のアニメーションを変更する

やりたかったこととしては画面の遷移の際のアニメーションでandroidでもiosみたいに左から右にスライドするようにしたいとういこと。 本来はプラットフォームごとに奨励されているアニメーションを使うべきだとは思うのだがやっぱりiosをベースで考えている…

【ionic2】無限スクロールの使い方

なかなか手をだせにずにいたionic2を次の案件では使えるように準備中。とりあえずionic1でできてたことをionic2でもできるようになることが当面の目標。今回はapiから取得したjsonからリスト表示で、無限スクロールを実装してみる。blankでプロジェクト作成 …

rails5のapiモードを試した

はじめに 勉強もかねて簡単なapiをrailsで実装してみる。やりたいことは以下・ローカルPCで動作させてみる ・apiモード使ってjsonを返す ・dbからデータを取得する ・ページングに対応する ローカルPCで動作させてみる まずは rbenv を使って ruby環境でrail…

【angularjs】セレクトボックス(プルダウン)の使い方メモ

angularjs使うときはまたやりそうなのでメモしておくまず、配列はどこかに一箇所に定義しておく angular.module('myApp') .value('define', { 'area': { 1: '北海道', 2: '東北', 3: '関東', ・・・ }, });テンプレートから参照できるようにコントローラで $…

【ionic】angular-messageで入力フォームのバリデーションとエラーメッセージを実装する

はじめに 今回やりたかったことは入力フォームにバリデーション機能を実装して、不備があった場合は送信ボタンを押せなくして不備の内容を画面に表示するということ。今回は angular-messages というライブラリを使った。angular-messagesのインストール $ b…

【emacs】faceの文字色と背景色を変更する手順メモ

新しいモードを使うときにデフォルト色がちらつくことがよくある。毎回調べてる気がするので自分用にメモしておく。 ## 1. 色を変えたいface名を調べる M-x describe-face ## 2. 一覧が表示されるのでface名で検索 M-x list-faces-display ## 3. 該当のface…

【mysql】コミット前のselectの結果が更新前のままだった理由

ネタみたいだけど、また初歩的なミスをしたのでメモ。mysqlクライアントから確認 $ begin; $ insert into tests(id, name) values(1, 'test'); $ select count(*) from tests where id = 1; +----------+ | count(*) | +----------+ | 1 | +----------+期待…

【php】curl使い方メモ - GET,POST,PUT,DELETEとJSON

php

今更な内容だけど。たまにcurlで外部のAPI叩く必要があるときにいつも同じこと調べてる気がするのでコピペ用にまとめておく。 GET、POST、PUT、DELETEメソッドでリクエストして、パラメータがちゃんと送れているか確認するためのスクリプト。ついでにパラメ…

rbenvを使ったローカル環境にrailsをバージョン指定してインストール

たまにやりたいときがあるけど毎回調べてる気がするので手順をメモしておく。 # 作業用ディレクトリ作成 $ mkdir test $ cd test # rbenvでインストール可能なrubyのバージョン確認してなければインストール $ rbenv install -l $ rbenv install 2.4.1 # こ…

vue.js vuex入門 開発で最低限必要そうなこと

はじめに vue.js使うことになりそうなので少しいじってみたのでメモしておく。とりあえず今回やってみようと思ったことは以下 ・ヘッダー、フッター、メニューなどの共通化 ・vue-routeを使ったルーティング ・ログイン機能 ・APIへのリクエスト ・vuexの導…

【mysql】date型とnow()を比較する

大した話じゃないけど、ミスったのでメモしておく。calendar idtarget 12017-09-20 22017-09-21 32017-09-22 こんなテーブルがあって、今日(9/21)以下の日付のレコードを抽出したかった。ヒットしない select * from calendar where target <= now();ヒット …

macのターミナルでsshが切れやすい場合の対処メモ

うちの回線が調子悪いのかsshの切断が頻発。昔にteratermで何か対処したのを思い出して検索したらこれでいけるみたい~/.ssh/config ServerAliveInterval 3 TCPKeepAlive yesServerAliveIntervalはもっと長い方がよいかも。。以上です

railsからsocket.ioへemitする

はじめに 今回やりたかったことは、railsサーバーからsocket.ioにつないでいるブラウザにemitしてメッセージを送るとういこと。ちょっと調べたら「socket.io-ruby-emitter」というgemがあったのでこれつかったらいけた。 で、環境としては以下。 ・railsサー…

ionic(cordova)でdatepickerを使う

日付入力のUIを当初は「input type="date"」で実装していたのだが、「消去」ボタンを消したかったのだがこれのやりかたがわからず。。素直にDatepicker使うことにした。プラグインインストール $ ionic plugin add cordova-plugin-datepickerテンプレート <ion-view ng-controller="SampleCtrl"> <input type="date" readonly ng-click="openDatepicker()" ng-model="date" /> </ion-view>…

SNSでAPNS(iOSプッシュ通知)使う場合のJSONひな形

アプリ側だけawsのコンソールからチャチャッと動作確認しようと思ったらけっこうハマったのでひな形メモしておく。このエラーがなかなか消えず。。 Invalid parameter: Message Reason: Invalid notification for protocol APNS_SANDBOX: Notification is ma…

【cordova】Androidプラグイン開発でgradleに設定を追加する

こんな感じでいけるみたい。plugin.xml <platform name="android"> ・・・ <framework src="src/android/sample.gradle" custom="true" type="gradleReference" /> </platform>sample.gradle allprojects { repositories { maven { url "https://maven.google.com" } } } dependencies { compile "com.android.support:appcompat-v7:25.4.0"…

ionic(cordova) 開発で使ったcordovaプラグインやライブラリまとめ

最近、ionicを使ってハイブリッドアプリをいくつか作ったのでそのときに使ったcordovaプラグインとionic・angular関連のJSライブラリを忘れる前にまとめておく。 ionic系 ion-slides-tabs タブの画面遷移をスワイプでも実装するのに使用。アプリぽいUIが実現…

ionic(cordova)にてion-nav-viewで$ionicHistory.goBackで2つ以上前に戻る

今回たまたまやる機会があったのでメモしておく。 $ionicHistory.goBack(-2);これだけ。以上です

ionic(cordova)にてinstagram でのログインを実装

やりたいことは、instagramアカウントでのログインの実装。調べたところではSDKがなさそうで、webと同じような実装になりそう。また、投稿したりシェアしたり?のプラグインはあるみたいだけどログインはできなそうなので今回は自前で作る。やることは以下。 …

ionic(cordova)にてtwitterログインを実装

やりたいことは、Twitterアカウントでのログインの実装。 前提としては、fabricへは登録済みであること。やることは以下 ・fabricからorganizationsを作成 ・twitterアプリを作成 ・twitter-connect-pluginプラグインの導入 ・プログラム実装 fabricからorga…

ionic(cordova)にてGoogle+ログインを実装

簡単なものかと思ったらけっこう時間かかった。。手順はざっくり以下 ・ionicプロジェクトを作成 ・Googleコンソールからプロジェクトを作成 ・作ったプロジェクトに認証情報を作成 ・cordova-plugin-googleplusプラグインを導入 ・プログラム実装 ionicプロ…

ionic(cordova)でiOSでのキーボード入力で完了ボタンを表示する

inputタグでキーボード表示したあとに何かたりないと思ったら、完了ボタンがなかった。 ionic startで作ったプロジェクトだとデフォルトで非表示に設定されてるぽい。app.js angular.module('starter', ['ionic']) .run(function($ionicPlatform) { $ionicPl…

angularのhttpでレスポンスヘッダーを取得する

今回やりたかったことは以下。 angularの$http.getまたは$http.postでAPIへリクエストしたレスポンスヘッダーを取得するということ。 chromeの開発ツールからはレスポンスヘッダーを確認できたのだが、angularでは取り扱う場合にうまく取得できずに少しはま…

【ionic】collection-repeatで行の高さを動的にする

まだ調査中。無限スクロール実装するときにng-repeatよりcollection-repeatを使った方がパフォーマンスが良いらしい。とのことで。試していたら行の高さが1行目の高さに合わせられてしまうようで、高さを動的にする場合は高さを計算してやる必要がありそう。…

【Angularjs】PromiseでforEachで同期処理で順次実行する

こちらのコードを実行すると、testが1秒間隔で3回順次実行される。 var test = function() { var deffered = $q.defer(); $timeout(function() { deffered.resolve(); }, 1000); return deffered.promise; }; var deffered = $q.defer(); var promise = deff…

ionic(cordova)にて$ionicPopupをカスタマイズしてモーダルを作る

今回やりたかったのはこんな感じの画面。 初めはionicModalのサイズを変えてやろうとしていたのだが、モーダルのサイズを中のテキストとかにあわせてリサイズするのを自前で実装するのが手間でした。 で、少し調べたらionicPopupをカスタマイズしたら簡単に…

ionic(cordova)にてアプリをリロードする

今回やりたかったことは、アプリでログアウトしたときなどにアプリをはじめから実行しなおしたい。ということ。いくつか試してみてうまくいくパターンとうまくいかなかったパターンをメモしておく。・うまくいかなかったパターン $state.go('path/to'); $win…