明日も楽をするために

めんどくさがりなITエンジニアが書くメモ帳

苦しんで覚えるHtml5Audioの世界

その昔スマホのWebブラウザで音声を再生する際に苦労したので、その時のメモを公開します(供養) onmousedown、onmouseup、onclick、ontouchstart、ontouchendが音声再生のトリガーになる(追記 touchstartだとトリガーにならないAndroidOS5~6が出現) iOS6:i…

S3で一定時間オブジェクトにアクセス可能なURLの生成

プライベート制限しているバケットのオブジェクトをいつもはGetObjectでデータを取得してbase64エンコードに加工して~ みたいな事をやっていたのですが、どうやら一定時間だけアクセスを許可した署名付きURLが発行できる仕組みがあったので共有します [ 'k…

aws-sdk-phpでIDCFとMinioのオブジェクトストレージに投稿する設定

AWS aws-sdk-phpの3.x系で動作確認済み [ 'key' => '', 'secret' => '', ], 'region' => 'ap-northeast-1', 'version' => '2006-03-01', //latestでもいい )); $result = $s3->putObject(array( 'Bucket' => 'bucket-test', 'Key' => 'key', 'Body' => 'bod…

ReactNativeでiOS実機デバッグを行う

通常デバッグを行う際にreact-native run-iosだとシミュレータが立ち上がりますが、iOSの実機でデバッグをしたくなることがあります。 例えばプッシュ通知のトークン取得や、決済処理など実機でしかできないことがあります。github.com npm install -g ios-d…

最近のフロントエンド技術はAD広告を採用しているサイトと相性がよくない

AD

1.レスポンシブデザイン スマホとPC用にレスポンシブデザインを採用している場合に例えば動画広告を張っているとスマホでは表示されてないPCの動画が裏で再生されていることがありユーザの帯域を無駄に使用する。よく分かってない人がスマホの場合はPCの動作…

プログラムで書くAutoLayout

tableViewに対してAutoLayoutを設定する際のサンプルコード //AutoLayoutを有効化する self.tableView.translatesAutoresizingMaskIntoConstraints = false //上下左右に指定 self.tableView.topAnchor.constraint(equalToConstant: self.topAnchor).isActiv…

3Dプリンタで印刷してもらった(DMM.make編

3Dプリンタには興味があったが買うとなると3Dデータを作ったことがない私がいきなり買うのはハードルが高かったが、どうやら世の中には3Dデータを送れば印刷してくれるサービスがあるしい。高価格な3Dプリンタを使って印刷してくれるのは中々できない事なの…

CentOS6 日本語化設定

vimで編集する際にキーボード設定が出来てないと困るので、まず一時的にキーボード設定を行う #loadkeys jp106以下の設定でキーボード設定を行う #cat /etc/sysconfig/keyboard KEYTABLE="jp106" MODEL="jp106+inet" LAYOUT="jp" KEYBOARDTYPE="pc"言語設定 …

vagrantでcentosを簡単に用意して使用する方法

vagrantを使用する際にまずはboxをダウンロードしてくる必要がありますが boxを配布しているサイトは公式の物と非公式の物があります。centosは以下に公式のboxがありますので、こちらを使用します。 centos | Atlas by HashiCorpcentos6を今回は選択して使…

PHPカンファレンス2016に行ってきました!

スタンプラリーがあったのですが本が2冊当たりました。ありがとうございます。「Cygamesを支えるPHPと、その高速化の取り組み」を聞いてきましたが、とても面白い話でした。今後もイベントは積極的に参加して行こうかなと思います。Cygamesさんのサーバー構…

PHPでコーディング規約の自動化 PHP CodeSniffer

PHP

どうしても開発者が増えてきたりするとコーディング規約が適当になりがちです。 そこでコーディング規約を自動化しようと思いました。職場のコーディング規約はPEARを元にしたものですが、現在では時代遅れ感が否めないのでPSRを採用する方向で考えました。 …

AndroidとiPhoneでhtml5を使用して音声と動画にアクセス時にユーザエージェントが変わる件

Html5で音声と動画にアクセスする際にAndroidとiPhoneだとユーザエージェントが異なるものでアクセスされることが分かった。Androidの場合(Zenfone5) stagefright/1.2iPhoneの場合(iPhone6の9.2) AppleCoreMedia/1.0.0.13D15 (iPhone; U; CPU OS 9_2_1 like …

UITableViewでUITableViewCellの高さを自動で可変する

今回はUILabelとUITextViewを使用した場合にUITableViewCellの高さを自動で可変する方法を書きます。UITableViewは予め設定し終わった状態と過程して話を進めます。StoryBoard上の設定は以下のようにmarginをセットしてます。 画像はUILabelですが、UITextVi…

iPhoneアプリを一人で開発している俺がstoryboardの分割に踏み切った理由

iPhoneアプリを複数人で開発していると衝突を避けるためstoryboardの分割は必須だと思いますが、一人で開発している分には別に衝突しないし特に気にする必要もないと思っていたのですが、画面数が増えてきたところで色々と問題が出てきたので同じように一人…

PHP5.2でSwiftみたいなmapや、filterみたいなことして見たい

PHP

結論:できませんでした。釣りタイトルで申し分けない(´;ω;`)付き合って頂ける方は下にスクロールをどうぞ swiftのmapやfilterみたいなことPHPで出来たらいいなぁーと考えてたら、もしかしたら自分が知らないだけで似たようなこと出来るのでは? とPHPの…

PexJSで引数にURLではなくバイナリをセットして使用する方法

新年初投稿です。最近までGoogleのSwiffyを使ってswfをhtml5に変換して使っていたのですが developers.google.com 特定のバージョンから内部的にCanvasからWebGLに変更されたのか動かなくなってしまった古い端末が増えたため、別の方法を取り入れることにな…

Paizaで彼女を作ろうとしてみた件

paiza.jpPaizaで彼女が作れると言うことでやってみましたがPHPを選択すると

StoryBoardでEmbed inで追加したNavigationControllerをModalViewで開く場合の値の渡し方

StoryBoardでEmbed inで追加したViewControllerにModalViewで開いて値を渡す方法FirstViewController ↓ NavigationController(SecondViewControllerにEmbed inで追加したもの) ↓ SecondViewController let modalView = storyboard!.instantiateViewControlle…

iOSでTabbarのテキストの色を変更する

選択後の色に関しては別の方法もあるが、選択前の色も変える方法 let font:UIFont! = UIFont(name:"HiraKakuProN-W3",size:10) let selectedAttributes = [NSFontAttributeName : font, NSForegroundColorAttributeName : UIColor.whiteColor()] UITabBarIte…

xcodeで分からないエラーや調子が悪いと思ったら

以下のコマンドをターミナルで実行するのをオススメ ビルドした中間コードなども入っているので、消すとエラーが消えることもある Xcodeのバージョンアップ後なんかも一回打っておくといいかも rm -rf ~/Library/Developer/Xcode/DerivedData/*

html5 Audioタグ Videoタグ スマホ TIPS

複数のスマホ端末情報を取得する機会があったので、そこで分かったことを書きたいと思います。 ■Video ■Source Videoタグは、sourceとしてmp4、webm、oggと指定できますが、 調査した結果mp4を再生できないスマホ端末は存在しませんでした。かなり古い端末な…

スマホで使う<audio>タグの動作検証

html5からaudioタグが追加されましたが、スマホだとどういった風に動作するのか検証してみました。 <script> var audio = new Audio(); audio.src = "http://foo.mp3"; function play() { audio.load(); audio.play(); } </script> <a href="javascript:void(0)" onClick="play()">play</a> これが一番簡潔なコードで、PCだと特に…

Apache+nodejs+socket.ioを使ったリアルタイムWeb

普段のサーバーはApacheを使っているのですが、少し前にnodejsというサーバーからクライアントまでJavaScriptで書ける物がリリースされました。nodejsはV8エンジンというGoogleChromeで使われている高速なエンジンを使用していたり、またApacheのC10K問題を…

PHP5.2でより良い乱数生成

PHP

PHPの乱数生成で偏りを感じるので、異なる方法での乱数生成を調べてみました。乱数の取得にはrand()とmt_rand()があり、mt_rand()がより良い乱数を取得とドキュメントに書いてあるのですがイマイチです。mt_rand()はmt_srand()によりシードを生成できますが…

Mysqlの最大接続数の設定

作ったサービスのMysqlの接続数の設定とか全然してかったなぁ~と思いつき色々調べたのでメモ(笑現在設定してある最大接続数の設定確認 show global variables like 'max_connections'; 起動してからこれまでの最大同時接続数 show global status like 'Max_…

SVNを普段使っている人がWindowsでGitインストールしてみた

Git

普段はSVNを仕事で使っていますが、ここ最近はGitが流行っていてSVNの肩身が狭いです。「Stack Overflow」がユーザー動向に関する調査結果を公開、最もよく利用している言語はJavaScript、習得したい言語はSwift、C++11、Rustなどcodezine.jp ここの記事によ…

IT業界の常駐について

この記事は深夜のノリ30%と、リリース後の疲れ70%で出来ています。良いこと(少し)書いたので、ぶっちゃけます(笑 IT業界の新人の方の今後の参考になるかな~この業界の会社は大きく分けて二つあると思っていまして、一つは常駐系の会社、もう一つは社内開発…

退職しました

私はこの度、5年間勤めた会社を退職することになりました。//良いことを書く20歳から働き始めて、1人で案件をこなしたり、部下を持ったりと、同じ年齢の人達が出来ない経験を得ることができたと思います。その分もちろん辛い経験を何度もしましたし、くじけ…

自宅サーバー自動起動用シェルスクリプトメモ

サーバーの自動起動用に/sys/class/rtc/rtc0/wakealarmに時間をタイムスタンプで指定する。 上書きする際は0で初期化しないと書き換えられない?crontabに設定してシェル実行後に起動する日程を設定して、そのあとでシャットダウン例: 0 4 * * * sh /site/a…

ホームページの表示速度を計測してみる

お前に足りない物、それは!情熱、思想、理念、頭脳、気品、優雅さ、勤勉さ!そして何よりもー! 速さが足りない!! なので今日はGoogleのPageSpeed Insightsを使って作ったのサイトのスピードを計測しようと思います。使い方は簡単でPageSpeed Insightsに…