【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)にてLineログインを実装する

ionicでのアプリ開発でLineログインを実装したかったのだが、当初はWeb版で実装すれば良いかと思っていた。が、試したところSafariでないと自動ログインが有効にならずに毎回メールとパスワードを入力させる必要があり不便だった。少し調べるとこの記事が丁…

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…

ionic(cordova)にて無限スクロールが途中で止まった時の対応

なんのこっちゃというタイトルですが。無限スクロール実装して、実機で検証していると意図せず途中で止まってしまうことがあった。不定期なので気づきずらかった。ちなみに無限スクロールに実装サンプルはこちらに書いて見た。で、以下のコードを無限スクロ…

ionic(cordova)にて無限スクロールを実装する

今回やりたいこととしては以下 ・サーバーからデータを取得してレスポンスがなくなるまで無限スクロール ・エラーがあったら再読み込みボタンを表示普通の無限スクロールです。ひな形としてメモしておく。想定するJSON [{id: 1, name: "Tom"}, {id: 2, name:…

ionic(cordova)にてAndroidでもタブバー(ion-tabs)を画面下にする方法

Androidでion-tabsをデフォルトのまま使うとこんな感じで、画面上に設置され選択中のタブの下にラインが表示される。Android的にはこのUIが推奨されるのでしょうが、実案件ではiOSと合わせるということも多いはず・・・ angular.module('starter', ['ionic',…

ionic(cordova)の開発環境構築で最低限必要そうなプロジェクト開始手順をまとめておく

はじめに いまさらバージョン1系かよ。 という内容だが個人的にはまだまだ使う機会ありそうなのでプロジェクトを作成してから開発に入るまでの最低限必要そうな手順をメモしておく。バージョン2は勉強中。 各ツールバージョン バージョンによって動いたり動…

Amazon LinuxにNginxをバージョン指定してインストールする

公式サイト(http://nginx.org/en/linux_packages.html#stable)に、repoファイルの書き方がのってる。ひな形 [nginx] name=nginx repo baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/ gpgcheck=0 enabled=1OS = centos、OSRELEASE=6とする。 [ng…

【angularjs】serviceで [$injector:unpr] Unknown provider が出た時の対応

半日くらいハマりました。エラーが出てたコード angular.module('myApp', []); angular.module('myApp') .service('myService', function() { ・・・ }); angular.module('myApp', ['ngCordova']) .service('myService2', function() { ・・・ });修正後のコ…

ionic(cordova)にて screen-orientationプラグイン を使って画面ごとに回転時の表示を切り替える

はじめに 今回やりたかったことは 端末を回転したときに画面Aでは縦固定、画面Bでは縦横どちらにも対応みたいなこと。プロジェクトを作成 $ ionic start sample tabs今回は複数画面必要だったのでtabsを使った。プラグインをインストール $ ionic plugin add…

phpで時刻が9時間ずれてたらタイムゾーンを設定した方がよい

php

なにをいまさらな内容。というか愚痴。 サーバーの設定とかいじれない環境での話。こんなコードがあちこちにあった。 $date = date("Y-m-d", strtotime("9 hour"));どっかで1行セットしておいてください。 date_default_timezone_set("Asia/Tokyo"); $date =…