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

二つ目は、もうお約束ですが「ブログを書くまでがPHPカンファレンス福岡」です。ブログ記事を書いていただき、 #phpconfuk のハッシュタグを付けてツイートしていただくと、公式サイトからリンクを貼らせていただきます。みなさまどうかブログを書いてくださ…

【シェル】ずっと『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…

Windows7でgistyつかう

Git

gemでインストール。 # gem install gistyユーザIDとAPIトークン(GitHubの「Account settings」で作っとく)の設定。 # git config --global github.token <token> # git config --global github.user <userid>よし。privateでpostしてみる。 # gisty private_post hoge.txt</userid></token>…

Webサービス『CHEESE CAKE MIX』っていうのをつくってみた

この度、個人で初めて制作したWebサービス『CHEESE CAKE MIX』を公開しました。 きっかけ きっかけは、最近ハマっているバンド "CHEESE CAKE" の楽曲をちょっとだけ便利に視聴したいという個人的な想いからで、「そうだ、あの『ウタダヒカループ』みたいのも…

Qiitaはじめました

本格的にQiitaを使いはじめました。 tomcky - Qiitaついでにサイドバーにも貼りつけてみました。 今後技術系の投稿先はQiitaが中心になりそうです。…ということはこのブログには今後何を書いていけばいいんでしょうかね。。。ま、いいか。

How to setup Node.js on Ubuntu 12.10

タイトルを英語で書いてみました。特に意味はありません。 ...それではサーバサイドJavaScriptとして有名な「Node.js」を動かしてみます。 === Node.js 日本ユーザグループ上記URLのページからドキュメントのリンクをたどって最新安定版を入手する。 「イン…

DialogFragmentを使って編集画面を作る

ListFragmentに引き続きDialogFragmentを勉強がてら作成。仕様としてはこんな感じ。 トップ画面にDBから取得した文字列を表示し、EDITボタンを押すことで編集画面ダイアログを開く。 編集画面ダイアログにはトップ画面で表示されていた文字列が入っており編…

ListFragmentでチェックボックス付きのリストビューを作る

勉強しながら作ってみた。 こんな感じ↓ ※以下が非常に参考になりました。ありがとうございました。 【ListFragmentの基本的な使い方】 http://android.keicode.com/basics/fragments-listfragment.php 【リストビューをカスタマイズする】 http://techbooste…

String型から不変クラスを学ぶ【Java】

String型は参照型であるにも関わらず、値渡しされているかのような振る舞いをする。...ふと、今更ながら「なんで?」と思った次第。参照型はクラス型・インターフェース型・配列型と3つに分類でき、String型はクラス型。 実際に内部ではStringクラスとして…

AndroidでSQLiteデータベースを利用する(その2)

データを挿入するための操作は、例えば以下のように行う。 // ContentValuesのインスタンスにデータを格納 ContentValues values = new ContentValues(); values.put("data", 12345); // データの挿入 db.insert("sample_table", null, values); 挿入するた…

AndroidでSQLiteデータベースを利用する(その1)

Androidでデータベースを利用するにあたって重要なクラスは、SQLiteOpenHelperクラスとSQLiteDatabaseクラスである。[SQLiteOpenHelperクラス] http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html[SQLiteDatabaseクラス]…

リストの順序を無作為に入れ替えるCollections#Shuffleメソッド【Java】

コマンドを使ってターミナルからGistに投稿する

Git

GitHubのコードスニペットサービス「Gist」をコマンド叩いて利用できるようにしたい。 そのためにコマンドラインツールgistをインストールする。 https://github.com/defunkt/gist ※OSはUbuntu12.10 gistのインストール $ gem install gist Gistにソースコー…

Ubuntu12.10でEclipseのコード補完をCtrl+Spaceにする

sysoutって入力してCtrl+Spaceを押した時に、System.out.printlnって補完されることを知ったときには超感動したものだが、もはや今は当たり前のように使っているCtrl+Space。 が、それはWindowsの話で、UbuntuでのデフォルトはAlt+/とかになってたりする。 …

リポジトリ作成〜pushまでやってみた【GitHub】

Git

OSはUbuntu12.10。GitHubアカウント取得・設定済み。 リポジトリ作成前にSSHキーを準備しておく。 GitHubのヘルプに「Generating SSH Keys」って項目があるので、それを参考にすれば問題ないはず。 $ cd ~/.ssh $ ssh-keygen -t rsa -C "<メールアドレス>"「…

個人的にやっときたいキーバインド設定【Eclipse】

Eclipseでのキーバインド設定は、画面上部「ウィンドウ」→「設定」で設定画面を開いて「一般」→「キー」で行うことができる。色々設定できるのだが、正直あまり凝るのも面倒くさい。ただ、テキスト編集の際にできるだけホームポジションを維持したいので、個…

プログラミング作法②【ひとり読書会】

第五章:デバッグ5.2 よくあるバグパターンを見つける。 ただ、"よくある"ということをそもそも認識してないといけないワケで、エラーメッセージをよく読まず、『即コピペ→ググる→コピペで修正』みたいなことしてたら、大抵そのバグは自分の記憶に残ってない…

プログラミング作法①【ひとり読書会】

読書は非常に効果的な勉強法だ。 だが読みっぱなしだと忘れて思い出すこともなかったり。 なので、本当にザックリと読んで思ったことをまとめて記憶、思い出す取っ掛かりにするひとりぼっちの読書会ログ。『プログラミング作法』。"さほう"ではなく"さくほう…

配列とポインタ

配列名はその配列の先頭要素のアドレスを示す。 double a[] = {1, 2, 3, 4, 5}; cout << "a : " << a << endl; cout << "&a[0] : " << &a[0] << endl; 出力結果は当然どちらも同じってことになる。 じゃあこれはどうなるのか。 cout << "&a : " << &a << end…

ログって大事だよねって話

動作結果のログはもちろんのこと。不具合解決のアプローチとか、環境構築の方法とか、先輩に教えてもらったお便利コマンドとか、ショートカットとか、セミナー/勉強会とか、自分の鬱状態とか...。 テキストでもスクショでも、目に見える形でわかるなら何でも…

openFrameworks環境構築【Ubuntu 12.10】

UbuntuにopenFrameworks(以下ofw)環境を構築したのでメモ。ちなみにこれ書いた時点では0.7.4がofw最新バージョンなのだけど、なぜかinstall_dependencies.shの実行がうまくいかなかった...旧バージョンはうまくいったので、そっちで環境構築する。 http://ww…