Author Archive Nakashima

4月1日です。そう、あの日です。

こんにちは。
今日はみなさん大好きな日がやって来ました。そう、エイプリルフールですね。
 
ということで、今年もいろんな企業が面白いことやってますが、そのまとめを、、と考えたのですが既に誰かがまとめているので、それを載せるほうが手っ取り早いですw
ということで、いくつかのせますね!お楽しみ下さい!
 

今年も最高!企業のエイプリルフールネタで笑いが止まらない

 

【ゴールデンボンバー】鬼龍院翔のエイプリルフール

 

エイプリルフールのルールにTLがざわついてるw

 

エイプリルフールにワクテカしまくる人たちが面白いw

 

エイプリルフールに告白した人たちの結末w

↑これはなんかほっこりですねー。
 
企業も個人もみなさん、楽しそうです。
アナタはどんなウソつきましたか?
 
では!
 

(この記事も4/1仕様でした!!)

 
Ctrl + A(もしくは右クリックで「すべて選択」)してみてください !:-) 。
では!

150円でiPhone6の指紋認証を早くする方法

こんにちは、なかしーです。
今日は全くテック系ではないんですが、最近発見したので嬉しくって書いちゃいます。
 
新しいiPhone6sは、指紋認証が劇的に早くなったと聴きます。
確かに、私のiPhone6君はちょっとでも手がべたついてるとちっとも認証してくれない。何度も拭いて拭いて、それで指紋認証してくれます。たまにどっちが早いんだか、、という気分にすらなります。
そんなある日のこと、画面につけてるフィルムを剥がそうと、とあるものをあのボタンに貼り付けました。張り付いていた、という方が正確でしょう。そしたら、ちょっと指が触れた位で、さくっと認証してしまったではありませんか。
「えっ?壊れちゃった!?いや、、あたしのiPhone6凄すぎ!?」
みたいな気持ちになるほどの差があるのです。
そろそろ、何なのか知りたいですよね?みたいですよね?
それは、、、コレだ↓↓

え?と思うかもしれませんが、コレは本当です。
このメンディングテープを適当にカットしてあのボタンに覆いかぶせるだけでいいんです。
私のiPhone君はホワイトなので、全然目立ちませんし、ボタンもちゃんと押せます。(ちょっとだけ押した感触は少なくなりますが。)
もう、その日から、人生が薔薇色になったようです。ほんとに。それほどに、結構ストレスになっていたのでしょう。(だから6sでは劇的な改善が入って、そしてそれが話題に登るということでしょう。)
でも明日からはもう大丈夫。5sの人も、6の人も、この↓

メンディングテープさえあれば、本当に快適な毎日が過ごせること間違いありません。
別にAmazonで買わなくても大体どこの文具屋にも売ってるはずですから、帰りがけや仕事の合間にGoしましょう!
間違えないで下さいね、セロテープではなくて、メンディングテープですよ!!お試しあれ!
 
では!
 
 
 
 

RaspberryPi x Laravel x リモコンサーバー

こんにちは、なかしーです。
寒くなって来ましたね。エアコンの時期です。
ということで、我が家のRaspberry Pi君を、現在のAirPlayサーバー、VPNサーバーだけでなく、リモコンサーバーにもしてみました。
ざっくり環境:

  • 機器:raspberry pi B+ (Firmは最新化済)
  • OS:raspbian jessie
  • Framework:laravel 4.2
  • HTTP:apache2 2.4
  • PHP:php5.6
  • DB:mysql(バージョンなんだろう?最新のやつ)

やり方は、先人達が詳しくやり方をのせてらっしゃるので、それを参考にした感じです。但し、RaspbianのJessieを使っている場合はデバイス関連の扱いがWheezyと違うので、要注意です。(ここでハマって、2回クリーンインストールした。。)

  • /etc/modulesではなく/boot/config.txtを弄ります
  • sudo cat /sys/kernel/debug/gpioしても、リストされません。

英語記事やらさんざん見てみましたが、結論として、日経BPさんの記事Raspberry Piをリモコンにしてエアコン制御、ロボットにも搭載が一番参考になりました。感謝。
 
そして、ある程度コマンドレベルでLIRCが動かせる様になったら、次は無駄にLaravelを入れてみます。(単に、MVCの書き方に慣れすぎたせいで、普通のPHPコードを書くのが億劫なだけ、、という。。)
下ごしらえ:

  • sudo apt-get install at (一時ジョブ用として使う。Cronよりお手軽。)
  • sudo apt-get install apache2 (入ってるかな?)
  • sudo vi /etc/apache2/sites-available/000-default.conf (必要に応じてドキュメントルート変更)
  • sudo vi /etc/apache2/apache2.conf (同じくドキュメントルート変更分と、AllowOverride Allにする)
  • sudo a2enmod rewrite
  • sudo vi /etc/apache2/ports.conf (Portを80ではなく8080とかにする)
  • sudo vi /etc/apache2/sites-enabled/000-default (同じくPort変更)
  • sudo service apache2 restart
  • sudo apt-get install mysql-server (rootのパスワードは適宜)
    • インストール確認
      mysql -u root -p
      select user,host,password from mysql.user;
      ->ユーザーが5つ表示されることを確認
    • アプリ用のユーザー作成
      GRANT ALL PRIVILEGES ON <DB名>.* TO <ユーザー名>@localhost IDENTIFIED BY ‘<パスワード>’ WITH GRANT OPTION;
      select user,host,password from mysql.user;
      ->ユーザーが6つ表示されることを確認
    • アプリ用のデータベース作成
      CREATE DATABASE <DB名> CHARACTER SET utf8;
      select host,db,user from mysql.db;
      ->データベースが1件表示されることを確認
  • sudo apt-get install php5-mysql
  • sudo apt-get install unzip (入ってれば良いです)
  • sudo apt-get install curl (入ってれば良いです)
  • sudo apt-get install openssl (入ってれば良いです)
  • sudo apt-get install php5-mcrypt
  • sudo /etc/init.d/cron start (Cronを使えるようにする)
  • 家のルーターに穴を開ける。(上でapacheのポート変更した番号をRaspberry Pi君に渡してあげる)
  • DDNSなどを適宜設定する。(すいません、私はここは手抜きしているので割愛)
  • SSL(お金が有れば鍵を買いましょう。。無ければ野良・・?)
  • リモコンコマンドの準備
    • irsend SEND_ONCE  XXX XXXX で扱える様に、複数登録しておく
    • カンタンで良いのでスクリプトに上記を突っ込む
    • 上記スクリプトをアパッチで使えるように、sudoers下部に以下エントリ追加する(XXXはスクリプトのパス)
      www-data ALL=NOPASSWD:/XXXXXXXX

 
はい。ここまでくれば、あとは既にどこかで動かしてあるLaravelをまるごとtarで持ってくれば動きます。(というか、疲れたのでcomposerの設定するが面倒になっただけです。初Laravelの人は、、他所の記事を参考にして下さい。。。スマソ)
Laravel確認事項:

  • 初回のmigrate (不要なら不要です)
  • app/config以下を見直す
    • appのKey要素
    • databaseのDB設定
    • emailの各種設定
    • その他。。
  • ユーザー認証をしていれば、ユーザーを再作成する(必要な分だけ)
  • コマンド実行は、raspiコントローラを作って(非REST)、getIndexの引数みてswitch文でコマンド実行してからreturnするようにしてみてます。ここはそのうちもすこしマシにする予定。

 
ということで、わざわざここまでしてリモコンサーバー on Raspberry Pi powered by Laravel環境を作る意味は謎ですが、まぁ、やってみたかったのでやりました。
若干メモ感は半端ない記事ですが、その内ハンズオンセミナーなどやってみますかね。
今後やる事:

  • リモコンコマンドのジョブスケジュール登録を可能にする(atコマンドを使う)
  • 予約済みジョブを変更する(atqコマンドでリストアップして削除などを行う、Cronを編集する)
  • 室温センサーで現在の室温・外気温をモニターする
  • 気圧計をつけてみる

とかかなー。次回あたりは回路図など載せていきます。
では。
 
役に立ったよ、という方、(役に立たなかったよ!という方も)
Facebookページにいいね!して頂けると嬉しいです。
まだの方は、ビジネスクリエーターズへの会員登録をどうぞ。
会員登録は無料です。
◆◆スタッフ募集中◆◆
ビジネスクリエーターズでは、
一緒に活動するスタッフを募集中です。
今よりもちょっと成長のスピードを上げたい方は、
ぜひ一緒に活動しましょう♪
友だち追加数

ジャパネットのチラシが味わい深い2

こんにちは、なかしーです。
前回、前回ジャパネットのチラシが味わい深いでジャパネットのチラシについて書きましたが、続きです。
通常、新聞のチラシには(そのチラシ単体の中に)類似製品は大体のってくるものですが、ジャパネットさんは極力、ほとんど類似製品は載ってません。テレビを買いたいな、となったら、1つしか選べないです。
「選ぶのが面倒くさいし、とにかく早く欲しいし、店舗見に行くのも時間かかるし、ましてやインターネットとかムリムリムリムリ。あ、ジャパネットのチラシあったな、じゃぁまぁこれでいいか。なんか安そうだし。」みたいな人には十分なんですよね。
価格.comを使い慣れている若者は絶対やらない意思決定なので信じがたいですが、それで売れてるんでしょう。すごいですね。
はい。
もう一つのネタです。
ジャパネットといえば、分割払い時の「金利手数料はすべてジャパネットたかたが負担します」とあります。
これは事実なんですが、分割時の支払い総額を見ると、、、、あれあれ、、なんだか、一括の時より値段がちょっと高い気がするなー?なんだろうなー。よくわからないなー。気のせいかなー。
まぁ、そんなもんですね。
 
日頃ぞんざいに扱われる折り込みチラシですが、細部まで見てみると企業の努力の結晶が垣間見えます。
味わい深いですね。
 
それでは。
 
役に立ったよ、という方、(役に立たなかったよ!という方も)
Facebookページにいいね!して頂けると嬉しいです。
まだの方は、ビジネスクリエーターズへの会員登録をどうぞ。
会員登録は無料です。
◆◆スタッフ募集中◆◆
ビジネスクリエーターズでは、
一緒に活動するスタッフを募集中です。
今よりもちょっと成長のスピードを上げたい方は、
ぜひ一緒に活動しましょう♪
友だち追加数

ジャパネットのチラシが味わい深い

こんにちは、なかしーです。
最近WEBサイト関連ばっかりだったのですが、たまには違う内容を。
私、家電製品アドバイザーという資格を趣味で持っている関係で、友人から家電の相談を受けることがままあります。まぁ純粋に家電が好きなだけですね。はい。
先日、新聞に入っているジャパネットたかたのチラシを見て気づいた事があります。
そもそも、ジャパネットって結構安い値段で商品出してるイメージが醸成されている気がするんですが、その観点でチラシを覗いてたところ、確かに、見開き(というのか?)に掲載されている商品は確かにお得感有る商品です。
このグレードでこの値段なら、まぁ悪い買い物では無いだろうと、及第点レベル。
田舎の母親:「おりゃ家電はいっちょんよーわからんばってん、こいば買(こ)うてもよかろうかね?」(家電は不得手だが、これでもよいか?)
家電好き息子:「ふむふむ。そうね、こいやぎ買(こ)うてよかよ。」(これなら良い。)
というような電話による意思決定のシーンが目に浮かびます。
 
ところが、裏面を見ると、同じ広告テイストで商品がいくつも載っていますが、実はどれも妙にちょっとグレードが高い奴なんです。お得はお得なんでしょうが、そもそものグレードを選択しなくても良い気もするけど、まぁ面倒くさいからそれでも良いか。という様な絶妙なライン。
(表の商品で)肉を切らせて、(裏の商品で)骨を断つ。
撒き餌でおびき寄せて、針がついた餌を食わせて釣り上げる。
無料期間で登録させておいて、、
特売の玉子で来店させて、、
優しい顔して近づいておいて、、
サンプル品をタダで配っておいて、、
「なんにもしないから」と、、
この構造はどこにでも有る常套手段ですが、人類はそれでもこの手の罠にハマるのかと考えると、賢いんだかなんだかわからないところが、愛らしく思えます。味わい深いです。
今後数年のアプリケーショントレンドは、意思決定支援という話をチラホラ聞きますが、老人向けの意思決定支援エンジン(イメージ的には、人間向けのウイルスバスターみたいなの)が5年後位には出て流行る気がする。今は入力インターフェース的に難しいんじゃないかな。。
 
チラシネタ、あと2つあるので次回書きます。
 
役に立ったよ、という方、(役に立たなかったよ!という方も)
Facebookページにいいね!して頂けると嬉しいです。
まだの方は、ビジネスクリエーターズへの会員登録をどうぞ。
会員登録は無料です。
◆◆スタッフ募集中◆◆
ビジネスクリエーターズでは、
一緒に活動するスタッフを募集中です。
今よりもちょっと成長のスピードを上げたい方は、
ぜひ一緒に活動しましょう♪
友だち追加数

MySQLのカラム定義を変更する

こんにちは、なかしーです。
今日もWEB関連です。DBのお話ですね。
元々Nullableでなかったカラムを途中でNullableにしたくなりました。管理画面からSQL叩いて直接変更するという手もあるんですが、折角Laravel使っているのでMigrationでやる方法で行きたいと思います。
今回もStackOverflowです。
http://stackoverflow.com/questions/24419999/laravel-migration-change-and-make-column-nullable/24425013#24425013
ここの中の、UpとDownで2行ずつあるところを参考にして以下のような感じで実装しました。

        const CHGFIELD = 'fieldname';
        const ORGTYPE = 'VARCHAR(256)';
        /**
         * Run the migrations.
         *
         * @return void
         */
        public function up()
        {
                DB::statement('ALTER TABLE `table` MODIFY `'. self::CHGFIELD .'` '. self::ORGTYPE .' NULL;');
                DB::statement('UPDATE `table` SET `'. self::CHGFIELD .'` = null WHERE `'. self::CHGFIELD .'` = "0";');
        }
        /**
         * Reverse the migrations.
         *
         * @return void
         */
        public function down()
        {
                DB::statement('UPDATE `table` SET `'. self::CHGFIELD .'` = "0" WHERE `'. self::CHGFIELD .'` = NULL;');
                DB::statement('ALTER TABLE `table` MODIFY `'. self::CHGFIELD .'` '. self::ORGTYPE .' NOT NULL;');
        }

こんな感じです。fieldnameとvarchar部分は今回変更するカラムの内容で、tableは対象テーブル名として下さい。
 
 
役に立ったよ、という方、(役に立たなかったよ!という方も)
Facebookページにいいね!して頂けると嬉しいです
受付中イベント情報はこちら
まだの方は、ビジネスクリエーターズへの会員登録をどうぞ。
会員登録は無料です。
明日は大久保さんです。
友だち追加数

bootstrapだけで丸ボタンを作る

こんにちは、なかしーです。
今日もWEB関連です。今日はHTMLですね。
Bootstrapで丸いボタンを作りたいな-と思いました。HopelistのHope一覧でログインした時とかにオーナーとかエントリー済みとか表示する際に使ってます。
これを作る際に参考にさせてもらったサイトが以下です。
http://bootsnipp.com/snippets/featured/circle-button
実装時には、微妙にピクセル単位で見え方は調整はしましたが、大体同じですね。
 
役に立ったよ、という方、(役に立たなかったよ!という方も)
Facebookページにいいね!して頂けると嬉しいです
受付中イベント情報はこちら
まだの方は、ビジネスクリエーターズへの会員登録をどうぞ。
会員登録は無料です。
明日は大久保さんです。
友だち追加数

atomでremote-syncのパターンマッチ(minimatch)で参考になったサイト

こんにちは、なかしーです。
今日もWEBというかatomのお話です。
前回もremote-syncのお話でしたが、今回も引き続きです。
初回でディレクトリ全体をSyncしたあとは、編集(実質的にはSave)した分だけサーバー側と同期されますが、たまにサーバー側でいじってしまった時には、atom側にも全体持ってきたいとかもあるわけです。
じゃぁまた全体をSyncすればいいじゃん、となるわけではありますが、Laravelつかってる以上、プロジェクト全体を持ってこようとするとatom側でほとんどいじることがないvendorとかapp/storage以下とかまでご丁寧に全部Syncしようとするので、時間が掛かって面倒くさいわけです。
それで、remote-syncのignoreなんかを指定しちゃう時にあんまりminimatchという形式に詳しくなかったので参考にさせてもらったサイトが以下です。
http://motemen.hatenablog.com/entry/2014/07/15/minimatch-cheat-sheet
https://github.com/isaacs/minimatch
それで、私が実際に入れた設定を一部紹介すると、以下のような感じ。他にも有れば同様に追加すればよいでしょう。

"ignore": [
    "vendor/**",
    ".remote-sync.json",
    "app/storage/views/**",
    "app/storage/logs/**",
],

こんな感じです。
 
役に立ったよ、という方、(役に立たなかったよ!という方も)
Facebookページにいいね!して頂けると嬉しいです
受付中イベント情報はこちら
まだの方は、ビジネスクリエーターズへの会員登録をどうぞ。
会員登録は無料です。
明日は大久保さんです。
友だち追加数

atomのremote-syncの鍵認証でタイムアウトする時の対処方法

こんにちは、なかしーです。
今日もWEB関連ですが、atomの話です。
atomは色々とプラグインが便利ということで、remote-syncを入れてVMのLinuxをWindowsからいじいじするとかやりやすい感じです。
SSH鍵をつかって通信させてますが、初回の接続でどうも時間が掛かってしまう時があり、タイムアウトしてしまうことが度々有りましたので、その時の対処方法を紹介します。
要するにremote-syncの設定ファイルのTimeout値をいじるんですが、その場所は
.atom\packages\remote-sync\node_modules\ssh2\lib\Connection.js
の中の
opts.readyTimeout
がそれにあたります。
なので、これを10000から60000位に修正すればよろし。
自分の環境にあわせて調整してみてください。
役に立ったよ、という方、(役に立たなかったよ!という方も)
Facebookページにいいね!して頂けると嬉しいです
受付中イベント情報はこちら
まだの方は、ビジネスクリエーターズへの会員登録をどうぞ。
会員登録は無料です。
明日は大久保さんです。
友だち追加数

フォームの外側にSubmitボタンを配置出来るなんて!

こんにちは、なかしーです。
今日もWEB関連です。
見た目上、一つのFormっぽいけど写真Upを即時でやりたかったからDropzoneを埋め込みたーい!という要件が合ったわけです。
(まぁ、他にもやり方合ったんでしょうが、いいんです。今は。)
Dropzone君は中で別途Formを持つ為、Formの入れ子になってうまく動かない。
だからFormの外に出してあげないといけない。でもSubmitボタンの上に置きたい。。。
まぁそういう気持ちに駆られたわけです。
それで、初めて知ったんですが、Submitって外に出せるんです。しかも幾つもの方法で。
今までそんな事考えても見なかったので、勉強になりました。見たら当たり前っちゃ当たり前なんですがね。
おなじみStackoverflowさんの投稿です。
http://stackoverflow.com/questions/7020659/submit-form-using-a-button-outside-the-form-tag
幾つか実装方法紹介されてますが、一番楽に出来るform要素(HTML5の機能)を使って実装してみました。
動かない(古い)ブラウザもあるかもですが、とりあえずスマホで動けばいいので良しとする!
では