PHPで言語処理100本ノック 2015(第2章:前半)

www.cl.ecei.tohoku.ac.jp 10. 行数のカウント

セットアップしたばかりのSymfony4をHerokuにデプロイしてみる

devcenter.heroku.com すべてドキュメント通り、というわけにはいかないため、所々変えていかなければいけない。 Heroku CLIをインストールしておく。 $ brew install heroku/brew/heroku Symfony4プロジェクトを作成。 $ composer create-project symfony/s…

Symfony4のウェルカムページはどうやって表示されているのか

Symfony4プロジェクトを作成するときはSymfony Skeletonを使用することが推奨されている。 symfony.com Symfony Skeletonは最小限、かつ空のSymfonyプロジェクトを生成するのだが、あまりに空っぽ過ぎてControllerすら1つも作成されない。 php bin/console d…

MacのPHPをHomebrewで7.1に変更する

Symfony4を利用するにはPHP7.1.3以上でなければならない。 https://symfony.com/doc/current/reference/requirements.html 試してみたところ、PHPのバージョンが要件に満たない場合は composer create-project するとSymfony3.4のプロジェクトが作成されるぽ…

PHPで言語処理100本ノック 2015(第1章)

www.cl.ecei.tohoku.ac.jp 00. 文字列の逆順

Symfony4でVue.jsを使う

symfony.com 必要なものをインストールして、 $ yarn add --dev vue vue-loader vue-template-compiler webpack.config.js の修正。 Encore // ... .enableVueLoader() ; これだけで使えるようになる。 Hello world的なところまでやってみる。 エントリーポ…

文字化けに立ち向かう

Macを使っていると、Windowsな人から送られてきたCSVを開いたときに文字化けしててツライ、的なことがよくあるので、備忘録的によく使う対処方法をまとめておく。 Vimで立ち向かう :e で文字コードを指定して開き直してやる。 :e ++enc=cp932 このまま編集し…

家庭内Slack運用はじめて1ヶ月くらい経った

家庭内でSlackを使う試みは2年くらい前にも一度やったのだけど、そのときはあまり継続しなくって、SlackのUIが日本語対応したタイミングで、もう一度使い始めてみた。 やっぱり日本語に対応しているのは大きいのか、今度はすんなりいって、すっかり定着して…

気楽に小さなアウトプットを積み重ねる

もう10日ほど経ってしまったが、2018年の抱負というか、心がけたいことというか。 「綺麗で読みやすい文章を書こう」とか「これ誰かがもうやってしまっているよな」とか「大した内容じゃないしブログに書くことでもないな」とか。 そういうのあまり深く考え…

Symfony4でBabelとPostCSSを使えるようにする

前に書いた記事の続き。 BabelとPostCSSを使えるようにする。 Configuring Babel (Symfony Docs) PostCSS and autoprefixing (postcss-loader) (Symfony Docs) と思ったんだけど、Encore入れるとすでにBabelが有効になってて、ES2015以降のシンタックスで記…

ブロックチェーンをPHPでやっていく

ブロックチェーンの仕組みを勉強するためにPHPで実装(写経)してみた。 gist.github.com exec.php で非同期処理やるためにampを使っている。 ので、動かすにはampのインストールが必要。 どうでもよいけど、ampって"Accelerated Mobile Pages"を想像してし…

Symfony4のフロントエンド環境構築

ここを起点にしてドキュメントを追っかければ、ほぼほぼ大丈夫だと思う。 Managing CSS and JavaScript まずは、Encoreをインストールする。 Encore Installation (Symfony Docs) 単純にJS・CSSを使うなら public/ に置いて読み込めばいいのだけど、Symfony…

Dockerで「ふつうのLinuxプログラミング」学習環境を作る

ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道作者: 青木峰郎出版社/メーカー: SBクリエイティブ発売日: 2017/09/22メディア: 単行本この商品を含むブログを見る VM立てるの気が重いのでDocker使うことにした。 Docker…

「テスト駆動開発」第一部の写経

読んでる。 とりあえず、第一部「多国通貨」をJSで写経してみた。 テストランナーはAVA。 テスト駆動開発作者: Kent Beck,和田卓人出版社/メーカー: オーム社発売日: 2017/10/14メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 「TDDっ…

instanceof演算子で親クラスと子クラスを比較判定する

developer.mozilla.org JSの自作クラスの型判定に instanceof 演算子を使ったりするが、この演算子を用いて親クラスと子クラスを比較すると true を返す。 例えば、親クラスとしてFooクラスを、子クラスとしてFooクラスを継承したBarクラスを作成し、Fooクラ…

Babelを使っているときのAVAのテストコード記述について

github.com JSのトランスパイラとしてBabelを使い、ES2017などでコードを書くようにしている場合、AVAを使ったテストの記述はどうすればよいのだろう。 実はAVAは特に設定も必要なくES2017でテストを記述することができる。 ES2017 support(2018/1/4時点) …

Webサイト制作のためにフロントエンド開発環境を見直してる

github.com 最近はバックエンド・インフラの知識を増やしたいなと思っているのだけど、フロントエンドを触ることも多いので開発環境を見直した。 Lintの設定はできてないので追々やっていくつもり。一から設定するのは大変面倒なので、既存のものを流用しつ…

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関…