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

【Go】ログ出力先をファイルに変更 - echo logger

Go

マニュアルにあったとおりだけどメモメモ package main import ( "os" "net/http" "github.com/labstack/echo" "github.com/labstack/echo/middleware" ) func main() { e := echo.New() fp, err := os.OpenFile("/path/to/log", os.O_RDWR|os.O_CREATE|os.O…

【swift】iosで画面の回転を検知してUITableViewを再描画する

はじめに 今回やりたかったのは画面一杯にUITableViewをセット。 端末の向きが変更されたら画面サイズに合わせてUITableViewの幅と高さを更新。ということなにも対応しないと縦向きから横向きにしたときにテーブルの幅が半分くらいになってしまうので対応が…

【swift】SWTableViewCellでボタンとテキストが重なったときの対応メモ

テーブルビューのセルをスワイプしたら削除ボタンが出てくるメールアプリみたいなUI。 これを簡単に実現できるライブラリでSWTableViewCellというのがあった。で、使い方自体はわかりやすくて簡単だったんだけどUITableViewCellの中身がスライドしないで 削…

【swift】uiscrollviewを更新する方法メモ

はじめに 今回やりたかったことは以下 ・UIScrollViewの中にUILabelをもつ ・UILabelのテキストにはAPIから取得した値をセットする ・テキストの文字数が多いのでUIScrollViewの高さをセットしてテキスト全体がみれるようにする今まではUITableViewのヘッダ…

【swift】uitableviewで読込中indicatorを表示する方法メモ

はじめに 今回やりたかったのは、APIから取得した値をテーブルビューにセット。 テーブルビューの1番下までスクロールしたら読込中のクルクルインジゲーターを表示。 というまぁありがちなやつで、やりかた調べたらここにありました。 http://d.hatena.ne.jp…

【swift】iOSでWebViewのjavascriptと連携する方法メモ

はじめに 以下のような問題があってWebViewの使用を検討 ・開発中のアプリのある画面のデザインがけっこう複雑で実装するのに時間かかりそう。 ・HTML、CSSで実装するとそんなでもなさそう。問題点としてはこの画面でのユーザー操作によってアプリの他の画面…

【xcode】「no such module afnetworking」対応

久々にxcode作業 xcodeのアップデートしたらバージョン8.2になってた。 で、swiftのバージョンも3.0.2にで、cocoapodsでAFNetworkingをインストールして以下を書こうとすると「no such module afnetworking」という経緯でした import AFNetworking漠然とxcod…

【Go】gormで実行したsqlをファイルへログ出力する方法メモ

Go

開発時またはリリース後もしばらくはSQLは全てログに残しておきたいのでそのやり方を調べたのでメモ。http://jinzhu.me/gorm/advanced.html#logger ドキュメントにそれっぽいのがあった package main import ( "log" "os" "github.com/jinzhu/gorm" _ "githu…

【php】cronのプロセスを監視する

はじめに 開発環境と現状はこんな感じ ・PHPで開発したスクリプトをcronで起動 ・処理時間が1日とかかかる ・いちおうエラー処理も実装したが途中で処理落ちすることがある(原因が特定できていない)で、やりたかったことは処理が落ちたらアラートメールとか…

【Go】dbrでinsertしてlast_insert_idを取得する

Go

dbrを使ったdb処理でinsertしてオートインクリメント値を取得したいということ。 READMEみてもよくわからなかったけど、コードみたらLastInsertIdというのがあった。 package main import ( "fmt" "strconv" _ "github.com/go-sql-driver/mysql" "github.com…

【Go】stringをtime.Timeに変換(日時文字列→時刻)

Go

今回やりたかったことはMySQLのdatetime型のカラムから取得した値をGoの時刻型に変換したかったということ。 なかなかうまくいかず以下にたどり着いた date := "2016-12-22 23:01:00" layout := "2006-01-02 15:04:05" t, _ := time.Parse(layout, target) f…

【Go】設定ファイルなどを非公開にして無料Githubでプロジェクト管理する

はじめに Githubのアカウントは持ってたけどコード管理したりはしてなかった。 で、今回試しに使ってみようかと思った。 個人用途なので無料のパブリックなレポジトリで。基本的にコードの中身は見られても問題ないけどアカウントやファイルパスなどは公開し…

【Go】Twitter Search APIを使ってみる

Go

はじめに やりたいことはキーワードでtwitterの投稿を取得してくるだけちょっとだけプログラムいじった箇所は以下 ・1回で取得できる件数の上限(100件)が決まっているので複数回取得するようにする ・タイムゾーンをJSTに パッケージ 今回使ったパッケージは…

【Go】direnvとglideで開発環境構築してパッケージ管理

Go

はじめに 開発始めようとして以下が問題があったので整理しておく。前提条件としては以下 ・複数人での開発で各々のPCで開発を想定 ・コードはgitで管理で、サードパーティのパッケージをどう管理するかとういのが問題点でした。 そのままやると$GOPATH以下…

sshの流れとかまとめメモ

自分なりに整理したものをまとめ パスワード認証はあまりやらないので今回はなし。公開鍵認証方式の前提で。 コマンドとかはなしでイメージだけ 準備 クライアント側でssh-genコマンドで作った公開鍵をサーバーへあらかじめサーバーのauthorized_keysへ登録…

今さらだけどクッキーについてまとめメモ

setとgetの中身 サーバ → ブラウザ 以下をhttpヘッダーにセットしてレスポンス Set-Cookie: key=value;・・・; domain=example.com; path=/; expire=xxx; Secureブラウザ → サーバー Set-Cookieのdomain属性とpath属性とリクエストするurlが一致した場合に以…

【node.js】TransformStreamを使ってみた

はじめに babelifyとかいうモジュールのコードを見てたらstreamというのが出てきてよくわからなくなったのでとりあえずいじってみた内容はcsvを読み込んでtsvに変換して出力するだけtest.js #!/usr/bin/env node var fs = require("fs"), inherits = require…

【javascript】エラー処理を実装してエラーレポートを送信する

はじめに アプリ作る時はクラッシュレポートしてるのにjavascriptのエラーでは全然やってなかった。 jsでも必要があればやったほうがいいかも。ということでメモ 実装 window.onerrorイベントでエラーハンドリングできるみたい window.addEventListener("err…

【javascript】値渡し、参照渡しとか

値渡し var a = 1; var b = a; b = 2; console.log(a); // => 1 console.log(b); // => 2 値渡し2 var a = "1"; var b = a; b = "2"; console.log(a); // => "1" console.log(b); // => "2" 参照渡し var a = [1]; var b = a; b[0] = 2; console.log(a); // …

【javascript】objectのプロパティ(key)を動的に扱う

es6の環境で動作確認した結果定義する var _p3 = "p3"; var obj = { p : 1, "p2" : 2, [_p3] : 3 }; console.log(obj); // => Object {p: 1, p2: 2, p3: 3} アクセスする console.log(obj.p); // => 1 console.log(obj["p2"]); // => 2 console.log(obj[_p3]…

【react】form部品を共通化するときのひな形

はじめに ES6でのシンプルなものだけど共通化するとしたらこんな感じだろうか呼び出し側 import React from "react"; import FormPart from "./FormPart.jsx"; export default class Sample extends React.Component { constructor(props) { super(props); t…

urlにタブ文字は使わない

かなりどうでもいい内容リンク元 <a href="/example.com/?q=[スペース][TAB文字]ほげげ">リンクです</a>DB > select name from table; [スペース]ほげげリンク先にて $q = $_GET["q"]; $sql = "select * from table where name like \"%{$q}%\""; // => SELECT * FROM table WHERE name LIKE "%[スペース]ほげげ%"; my…

【react】preventDefault、stopPropagationを使う

よく使うpreventDefaultとstopPropagation。 reactでも普通に使える export default class Sample extends React.Component { onParent(e) { // リンク先への遷移を抑制 e.preventDefault(); } onChild(e) { // onParentへのイベントを抑制 e.stopPropagatio…

【php】値渡し、参照渡しとか

php

値の値渡し function set($arr) { $arr[0] = 2; } $arr = [1]; set($arr); print_r($arr); // => [1]値の参照渡し function set(&$arr) { $arr[0] = 2; } $arr = [1]; set($arr); print_r($arr); // => [2]参照の値渡し function set($obj) { $obj->pro = 2;…

【react】Expected onClick listener to be a function, instead got type stringエラー対応

はじめに reactをes6で使った場合です。 地味にはまった。。。自分の場合は以下の2パターン> パターン1イベントリスナーでメソッド呼び出すときにbindしていない export default class Sample extends React.Component { onClick() { console.log(this.statu…

【node.js】端末ごとに処理を分けるサンプル

はじめに 最近、ちょっとjavascriptいじる機会があってiPhone、Androidでけっこう内容が異なる処理をしなくてはならなくなったのでコードを整理する用途でnode.js使ってみたのでメモindex.js import Ios from "ios"; import Android from "android"; import …

【node.js】minifyifyでコードを圧縮する〜watchify、babelify、browserify環境にて

前提 $ watchify -v -t babelify src/index.js -o dist/index.jsこちらのコマンドが動くようにwatchify、babelify、browserifyはいれてあることとする。 使ってみる minifyifyインストール $ npm install minifyify --save実行 $ watchify -v -t babelify -p…

【emacs】対応する括弧へ移動する方法メモ

今更すぎる内容で悲しいが、、、絶対必須かと思われる機能を使ってなかった。。。検索すると以下 「C-M-p」で対応する開き括弧へ 「C-M-n」で対応する閉じ括弧へで、実際のキーボード操作は 「C-M-p」は「esc」押して離して「control」+「p」同時押し 「C-M-…

【react】jqueryメインの非SPAシステムの特定ページでのみreactを導入してみたのでメモ

はじめに 以前に自分が作ったシステムで主にjqueryを使って作ったものがありました。 基本的には困ることはなかったのですが、特定のページだけ複雑になってきていじるのが嫌になってきました。。。作りたい画面のイメージとしてはこんなかんじメイン画面 モ…

android browser(標準ブラウザ)で縦長動画がつぶれて再生されたときの対応

標準ブラウザって今さらすぎる内容なのかもしれないけど、ちょっとハマったのでメモ なぜか縦長の動画だけつぶれて表示されてしまってた。原因はわからないけど解決策はvideoタグにcontrolsをつければよかった。 今回はui的にはcontrolsは不要だったので動画…

【javascript】動画の終了時に画像を表示する〜videoタグ

はじめに やりかたわからなかったのでメモ やりたいことはvideoタグで再生した動画が終了したら画像を表示するだけ (posterの終了後みたいなイメージ)video.load()しなおせばposterが再表示されるようなのでこれ使えばやろうと思えばできそうだった。 けど、…

【fuelphp】controller名にアンダーバー(アンダースコア)を使う方法メモ

はじめに 今回やりたかったのは以下のようなurlを使いたかった http://example.com/member_groupで、fuelphpのコントローラの命名規則でアンダーバー(_)はフォルダ区切り文字なのでそのまま使えない。 routes.phpに以下のように書けばurlは実現できるけどフ…

スマホでの動画インライン自動再生まわりについて調べたことまとめ

はじめに ちょっと前に自分なりに調べて放置になっていたのでまとめておく まず前提としてiPhoneとAndroidで全然違う。で、さらにios10とios9以下とでちがうのとchrome53以上と53未満でちがう。 端末やブラウザのバージョンで処理を切り分けるのがよいのかと…

【javascript】ios10でpagehideが呼ばれなくなった操作メモ

ページから離れるときに何か処理をしたいと思ってiosでpagehideをハンドリングしていた。 ios9では 1. リンクで別ページへ遷移 2. タブを閉じて画面を閉じるときにはちゃんと発火されていただがios10では2.の場合に呼ばれなくなっている気がする。。。 何気…

【javascript】ios10でsetIntervalした処理がバックグラウンドに回ったときの挙動について

検証用のコードは以下の様な簡単なものでsafariで確認 setInterval(function() { // 何か処理 }, 200);ios9では ・200msごとに実行される続ける ・別のタブを開くなど画面から離れる ・1000msごとに実行される続ける ・画面に戻る ・200msごとに実行される続…

【javascript】特定の要素が画面に見えているかどうかを判定する方法メモ

はじめに 今回やりたかったのは特定の要素が画面に見えていたら何か処理をするということ。 要素が全て見えている場合と50%以上みえてるときを検知できるような想定 実装 全て見えているかを判定 var target = document.getElementById("target"); var offse…

【javascript】iPhone、Androidでブラウザを閉じる・非表示を監視して処理をする方法メモ

はじめに 今回やりたかったのはユーザー操作でページから離れるときに何か処理がしたいということ。 で、とりあえず考えられる操作としては以下 ・ブラウザを終了したとき ・タブを閉じたとき ・別タブへ移動したとき ・別アプリへ移動したとき ・ホーム画面…

【bootstrap】プルダウンに画像を表示するライブラリ

はじめに 今回やりたかったのは画像を選択するようなプルダウン。 検索してみたら、bootstrap-select.jsというのがありました。http://thdoan.github.io/bootstrap-select/ こちらからDL 実装 使い方は簡単でjsを読み込んで以下みたいな感じで使える。 boots…

chartjsで棒グラフの作り方メモ

はじめに adminLTEのサンプル使って棒グラフを表示しようとして比較対象なしのグラフを作ろうとしたらなぜかうまくいかなったのでメモ また、x軸のメモリの間隔もあけたかったのでついでにメモ作りたかったのはこんな感じのグラフ 実装 $(function () { Char…

【javascript】ドラッグアンドドロップで画像をアップロードする方法メモ〜jqueryも使った

はじめに 以前につくったサービスの改修で必要になった。どこかのブログに書いてあったのをコピーして動いたのでそれでよしとしていたのだが、今回はそれが1ページに複数必要になって問題が発生したので作り直してクラスにしてみた DOM操作にjQuery使ってい…

chrome54以上でtouchstartでvideo.playが使えなくなったときの対応メモ

はじめに Androidでの動画自動再生のやり方がわからなかったのでタッチイベントで無理やりvideoを再生するようなやり方をしていることがあった。 で、今のところ問題なかったのだがふとchromeのコンソール見ると以下のようなワーニングが出ていた Performing…

safariでiframe内でformをsubmitする方法でサードパーティクッキーを使えるようになるのか

はじめに http://japanese.engadget.com/2012/02/17/google-cookie-safari/ タイトルの内容ですが、以前にたぶんここら辺の記事を見てできるのかなと漠然と思っていたのだが試したことがなかったので試してみたようはサードパーティクッキーをsafariでも食わ…

【apache】MaxClientsの設定を最適化してみる〜チューニング入門

はじめに apacheのチューニング入門でとりあえずMaxClientsをいじってみる preforkしか使ったことないので今回はpreforkが対象 MaxClientsはtopコマンドしたときに出てくるhttpdプロセスの数の最大数目安としてはhttpdがMaxClientsで設定した数まで増えたと…

【Linux】suffixをつけてファイルコピーを簡単に行う方法

やりたかったことはこんな感じ $ cp /aaa/bbb/ccc/ddd.txt /aaa/bbb/ccc/ddd.txt.bk第1引数をコピーすればできるんだけど キーボードだけで上手いことできないものかと質問してみたところ以下の形でできるらしい $ cp /aaa/bbb/ccc/ddd.txt{,bk}中カッコで括…

【php】php5.6とphp7.0をwordpressで比較してみた

はじめに php5.6からphp7.0にしたらどれくらい速くなるのかというのを試してみただけ 環境としてはローカルPCにvagrantでcentos6.7、php5.6、mysql5.6、apache2.2.15をインストールして 最新バージョンのwordpressをいれてダミーデータを登録してapache benc…

【wordpress】wordpress検証用環境を作ったので構築手順メモ

はじめに ちょっとした検証用にwordpressを使いたかったので手順メモ やりたいことはwordpress入れてダミー用のデータを登録して検証できるようにするところまで環境はローカルPC上にvagranで作ったcentos6.7上でphp5.6、mysql5.6、apache2.2.15の環境を作る…

【vagrant】開発環境をサクッと作るときの手順メモ

やりたいこと PCかえたらいつもコピペして使っていたVagrantfileがなくて調べながらやったのでメモ・ローカルPCでサクッと開発環境を作りたい ・Webサービス開発で使いたいのでブラウザからアクセスできるようにしたい ・複数サーバー立ち上げてサーバー同士…

【Linux】ディレクトリのサイズを調べる方法

内容が細かいけど。。。 $ find ./* -type d -maxdepth 0 | xargs du -sh 5.4M ./dir1 549M ./dir2 864M ./dir3ーmaxdepthで階層を指定以上です

【bootstrap】Modal内での画面遷移する方法

どうやるのが1番いいのかわからないけど今回は以下の対応 ・Modal内に複数ページのHTMLを入れておく ・現在のページ番号を変数に保持しておく ・[前へ][次へ]ボタンが押されるたびにページ番号を+または-してModal内を再表示 <div class="container" style="margin-top:5px;"> <button id="onModal" class="btn btn-default">Open</button> </div> <div id="myModal" class="modal fade"> </div>

【bootstrap】Modalの初期値を動的に設定する方法

たまにやろうとするとパッと出てこずに何度も調べている気がするのでメモしておく 一覧のクリックする行によってモーダルの中身を変えたい時などにも使える <button id="onModal" class="btn btn-default">Open</button> <div id="myModal" class="modal fade" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> </div></div></div>