array_mapよりはforeachがいいけどforeachよりはarray_walkで書きたい #PHP

基本的にはarray_mapが使えそうなケースでも素直にforeachを使いたい人です。 array_mapは考えて記述していかないと可読性が悪くなりがちだし、パフォーマンスもforeachのほうが良いし。。 ただarray_walkに関しては使っていきたいと思える部分があって、そ…

初めてPHPカンファレンスに参加した僕がPHPカンファレンス福岡2017についてブログ書いたよ #phpconfuk

ブログ書くまでがPHPカンファレンス福岡!! ってことで2017年6月10日(土)に開催されたPHPカンファレンス福岡2017に参加してきました。 PHPカンファレンス福岡2017 会場広くてホールによっては前列の方に机も用意されてたし快適でした。 開会式・スポンサ…

【シェル】ずっと『bash』だったけど『fish』に移行した

デフォルト設定でもイイ感じな『fish』っていう素敵シェルがあると聞いて。 fishshell.com インストール Homebrewでインストールできます。 $ brew install fish デフォルトのシェルをfishに変更 $ which fish | xargs chsh -s 上記のコマンド実行後にターミ…

宮崎での2年半は宮崎のITコミュニティの素晴らしさを感じた2年半でした

宮崎へUターンして、ソフトウェアエンジニアとして働きつつ、コミュニティにもそれなりに足を突っ込んだりして。。 そんな2年半を振り返ってみると、宮崎のITコミュニティは本当に素晴らしくて刺激的で温かくて感謝しかなかったよというお話です。 生まれて…

INNOVATE HACK KYUSHU に行ってきた

8月27日(土)・28日(日)に福岡市で行われた INNOVATE HACK KYUSHU に参加した。 INNOVATE HACK KYUSHUとは INNOVATE HACK KYUSHU 日本アイ・ビー・エムさんが主催されているハッカソンイベント。 INNOVATE HUB KYUSHUというプログラムの一つという位…

会社に打刻システムが導入されたんだけど打刻忘れしそうなのでChatworkにGAS使ってBot導入した話

最近会社に打刻用のWebシステム(たぶん自家製)が導入されて、出勤時と退勤時にアクセスして出勤もしくは退勤のボタンをポチッとな、っていう運用が始まったのだけれども、初めのうちはどうしても忘れる。 ということで、出勤前と退勤前の時間帯に忘れずに…

SOFT SKILLSを読み始めたので生産性(プロダクティビティ)を高めるためにやっていることをふりかえってみた

最近「SOFT SKILLS」を読み始めた。 ソフトウェア開発者向けのライフハック本という感じで、内容は幅広い。 比較的ストイックな内容になっているので、すべてを真似するのは簡単ではないかもしれない。 それでもソフトウェア開発者としての豊かな生き方を目…

Dockerの勉強を兼ねてWordPress開発環境構築のための構成を考えた

本番環境をローカルの開発環境へ持ってくる想定で構成してるつもり。 手動でセットアップしなきゃいけないところ多いし、まだ色々やれる感あるし、そもそももっと良いやり方あるだろうし、っていうのが正直なところなのだけども。 使い方はREADMEにざっと書…

画像をヨーグルッペっぽい雰囲気にできるか試してみた

ヨーグルッペって飲み物知ってますか? 南日本中心に出回ってるローカル飲み物で、ピルクルとかが割と近いのかな。 で、ある日、友人に「こういうのって出来るんかね?」ってメッセージをもらったんです。 アナタの顔が!? ヨーグルッペ顔メーカー | Sing! ヨ…

【Vim】文字列置換あれこれメモ

Vim

基本 :s/before_str/after_str/ 上記コマンドだと、カーソル位置の行にある、最初に合致する文字列しか置換対象にならない。 :s/before_str/after_str/gc オプションでgを付与すると、その行で最初に合致する文字列だけでなく、それ以降合致する全ての文字列…

【Raspberry Pi】バックアップ・リストアの方法

一度泣きを見たのでちゃんとバックアップ取っておくといいよね。 以下、OS X でやる場合。 注意点としては、今回は/dev/disk2にSDカードが認識されている前提で書いているけれど、当然環境によって異なるので、必ず確認してバックアップ・リストアしてくださ…

【Raspberry Pi】Model B+のUSBポートへの供給電流を最大化する

Raspberry Pi Model B+ はUSBポートが4つ付いてて非常に便利ですね。 ただ、デフォルトの状態だと合計0.6Aまでしか電流を供給できず、0.6A超えてしまうとRaspberry Pi の赤いLEDがパカパカしだします。 「うーん、0.6Aだとちょっと足りんぞ(´・ω・`)」って…

【Raspberry Pi】MACアドレスを取得する

Raspberry Pi以外でも使えるLinux系ディストリビューションあると思う。 MACアドレスだけ取得したいケースがあったので。 こんな感じでコマンドを叩けばいけます。 ifconfig | grep 'eth0' | grep 'HWaddr' | awk '{gsub(/:/, ""); print $5}' awk内でgsub関…

【AWS】新規追加したユーザーでEC2にSSH接続するための準備

AWS

この方法って色んなところにリソースが転がっていているんだけど、いつもどっかで躓くのと、一旦自分で整理すべきだと思ったので書いておく。 1. EC2インスタンス作成時に発行された秘密鍵を使用してEC2へ接続 接続したい新規ユーザを追加。sudoが使えるよう…

新年度に入って1ヶ月半たった今、プログラマな新人さんや初めて後輩ができた先輩方にお薦めしたい一冊

久しぶりの投稿。かなり間が空いてしまった。 5月も半ばを過ぎ、今年プログラマになった新人さんも少しずつコードを書く量が増えてきたんじゃないだろうか? 日々、わからないところはググったり聞いたりしながら、夜遅くまで必死にコードを書いて退社。 そ…

attr()とprop()とchecked属性とcheckedプロパティと...

うろ覚えでいつもググってしまう悪い癖なんだけど、チェックボックスのチェックをつけたり外したりとか、ラジオボタンの選択をソースコードからしたいとかいう場合。 <input type="checkbox" id="foo"> ここで、ググって良く当たるのがattr()を使う方法だったりして、うまくいかず「はぁ?」…

回路の設計図がサクッと作れる『Fritzing』がかなりイイ

Arduinoの回路を組むにあたって、回路設計図を書きたいと。 なんか良いツールないかと思って探したら『Fritzing』がヒットした。 Fritzing Fritzing ダウンロードはこちら。 Fritzing Download フリー("No Donation"を選択)でダウンロード可能。 Windowsの…

WindowsでArduinoはじめます

引っ越しの荷物の中に眠っていたArduinoを引っ張りだした。 以前書籍と合わせてArduino Unoがついてる入門向けキットを買ってちょっと触ったきり。 今回はWindowsでArduinoを使うためのセットアップからやってみる。 Arduinoをはじめようキット出版社/メーカ…

『聲の形(こえのかたち)』は確かにすごいマンガだった

『聲の形(こえのかたち)』を読んだ。 聲の形(1)作者: 大今良時出版社/メーカー: 講談社発売日: 2014/01/17メディア: Kindle版この商品を含むブログを見る 全7巻で、それほど大きくないボリュームだったこともあり、年末に全巻買って一気読みした。 さ…

The Swift Programming Language 勉強記録 - 4

Swiftべんきょうきろく、その4、です。 Enumerations and Structures 列挙型を作りたいときはenumを使う。 一番シンプルな形は以下のような感じだろうか。 enum EnumTest { case Zero, One, Two, Three } EnumTest.Zero.hashValue // 0 EnumTest.One.hashVa…

The Swift Programming Language 勉強記録 - 3

なんとか第3回目。先が長いですね、困った(´ー`) とりあえず"A Swift Tour"の終わりまでを目指します。 クラス クラスを作成するときはこんな感じ。 class NamedShape { // property var numberOfSides: Int = 0 var name: String // initializer:インスタ…

The Swift Programming Language 勉強記録 - 2

前回に続き、Swiftの勉強記録その2。 function Swiftの関数はこんな感じの記述。 func addExpression(x: Int, y: Int) -> Int { return x + y } addExpression(6, 12) // 18 可変長引数もできるし、複数の値返却も可能。 func sumOf(numbers: Int...) -> (s…

The Swift Programming Language 勉強記録 - 1

だいぶ間が空いてしまいました。。。 まぁ引っ越しとか色々忙しかったからですね、はい。 個人的にやりたいことも積もってきましたが、そのうちの一つがSwift。 というわけで、『The Swift Programming Languageを基にSwiftについて勉強した記録その1』です…

フレームワークとか使わずにNode.js + PostgreSQLでTodoリストをつくってみた

Node.jsでCRUD機能を有するWebアプリ作ろうと思うと、大抵Expressとか何かしらのフレームワークを使うのだろうけど、あえてフレームワークを使わずにTodoリストを作ってみました。 ソースはこちら。今回Node.jsでTodoリストを作成するにあたって参考にしたの…

Unityでネットワーク通信(2) - アニメーションを同期させてみた -

前回の課題は次の2つ。 1.アニメーションが同期されない。 2.同じユニティちゃんをホスト・クライアントどちらからでも操作できてしまう。というわけで、今回はこれらを解決してみる。そもそも、NetworkViewはObservedプロパティに設定したコンポーネン…

Unityでネットワーク通信(1) - ユニティちゃんをネットワーク上で動かしてみた -

暫くぶりのUnityでネットワーク周りに初挑戦してみようかと。今回は、走り回るユニティちゃんをネットワークを介して同期させてみる。 ユニティちゃんのデータダウンロードはこちらから。 サンプルシーンの中にLocomotionというシーンがあるので、これをベー…

JavaScriptで半角/全角カナを相互変換するには

というわけで作りました、半角/全角カナの相互変換モジュール。 ググったら実装方法は色々あるのだけれど自学も兼ねて車輪の再発明。 記号系やスペース、長音符は未対応なんですけど、createKanaMapメソッドの引数(L.22~30辺り)に、対になる文字をそれぞ…

JavaScriptのループについて(配列編)

はい、前回の続きです。 配列の場合 配列のループ方法で調べるとこういう議論もあったりしますが。 JavaScriptで配列をループで処理するベストな書き方は?まず、for...inは避けましょうっていう傾向はあるみたい。 Effective JavaScriptでも配列の反復処理…

JavaScriptのループについて(オブジェクト編)

JavaScriptのオブジェクトや配列のループはどうやるのがベストなんだろうって考えてました。 オブジェクトの場合 おそらくfor...inが一般的かと。 var myObj= { hoge: 'HOGE', fuga: 'FUGA' }; for(var key in myObj) { console.log(key + ':' + myObj[key])…

callで関数を即時実行すると何が嬉しいのか(と、ちょっとおまけ)

callを使うとstrictモードのときに嬉しい underscore.js(1.6.0)とかって全体を即時関数でラップするときに、ただの括弧じゃなくてcallを使ってるんですよね。 これなんでやろ?と思って調べたら、strictモードを有効にしたときに即時関数内のthisがundefined…