IT系バンドマンの日常

備忘録やライフログなど

野良データにやられた話

PHPでちょっとしたスクレイピングのプログラムを作ったとき、 json_encode() で下記のエラーがでてハマった

// json_encode()のエラーは json_last_error_msg();  で出力できる

Malformed UTF-8 characters, possibly incorrectly encoded

blog.supersonico.info

こちらのサイトを参考にしたところ、どうもゴミ文字が混ざっているとencodeのエラーでバグるらしいので、下記のコードでUTF-8からUTF-8への変換をかけてやると回避できるとのこと。

$convert =  mb_convert_encoding ($string, 'UTF-8', 'UTF-8');

データを連想配列で持たせていたのでそのままmb_convert_encodingしたかったけど文字列しか渡せないみたいだったのでスクレイピングしたデータを代入する箇所を1箇所ずつmb_convert_encodingして対応しました

まとめ

野良データの取扱には時間がかかるので気をつけましょう、、、

2018年の振り返りと2019年の目標

こんにちは!2019年も残すところ361日となりましたがみなさんいかがお過ごしでしょうか?

弊社リビルドは7日が仕事はじめですので中西はまだお休みです。このお休みの期間を使って2018年の振り返りと2019年の目標を書き認めたいと思います。

また、この記事は中西哲大の個人としての意見です。社員の立場としての意見ではございませんので、その点ご留意くださいませ。

実際にリモートワーク(notフルリモートワーク)をしてみてどうだったか

色々な方の助けもあり2018年4月から株式会社リビルドでの憧れのリモートワーク生活が始まりました。実際に8ヶ月仕事をしてみてのメリットとデメリットをまとめてみたいと思います。

メリット

  • 必ずオフィスに出社しなければいけないというストレスから開放された
  • はとむぎくん(ねこ)と過ごせる時間が増えた
  • 自宅作業の場合はお昼休みにギター弾ける
  • 自宅やコワーキングスペースなど、その日の気分で好きな環境で働ける

デメリット

  • 一人暮らしでリモートワークするとガチで誰にも合わない日が発生します。体感で3日以上誰にも合わないと精神が病んでくる感覚がありました
  • ものづくりをする際、社内でのチーム連携をしっかり考えながら動く必要が出てきます。その点ではオフィスに出社する方がチーム連携がとりやすいため優位です

ベンチャーで働くか、既存の会社で働くか

実際にベンチャー企業で働いてみると、いわゆる大企業との違いがしっかり見えてきました。
技術面、お客さんとの交渉や、簡単な画面レイアウトなど、1から10まで仕事をこなさなければいけない場面も多々でてきます。
また、会社としての制度も整ってない場合が多いので制度が足りないと感じた場合は自分で声を上げる必要がありますし、それこそ自分のタスク量も自分で調整する必要がでてきます。
僕が大学生のとき就活をしていて、「大企業がいいのか、ベンチャーがいいのか」という話はよくあがっていましたが、僕のいまのところの答えは「怖がらずにどちらも体験してみよう」です。
人間失敗から学習し、気がつき、改善する生き物だと思っています。たくさん色々な人に相談して、あとは自分のやりたいことにマッチする会社に入るのがいいのかなと思っています。

見えてきた自分の行動理念

仕事やプライベートでの2018年の活動を通して、自分の行動理念というものが見えてきた気がします。
昔から、世界をかえてやるぞ!みたいなモチベーションはなかなか持てない自分なのですが、少なくとも僕の知る限りの人たちは幸せであってほしいという気持ちは昔から変わらずあります。
それは会社の仲間であり、飲み屋の飲み仲間であり、お客さんでもあります。2019年も引き続き周りの人たちが幸せになるようにはどうしたらいいか悩みに悩み抜こうと思っています。

2019年の目標

  1. 自分のタスク量が常に80%くらいになるよう調整して稼働する
  2. まわりの人を幸せにする
  3. 自分らしく生きる
    • 好きな人にはたくさん会う
    • 寂しかったら寂しいって言う
    • 自分の好きな技術をたくさん伸ばす
    • ギターたくさん弾く

おわりに

最後まで読んでくれてありがとうございました!

共によき世界になるよう2019年も頑張っていきましょう!

【PHP7】コンストラクタインジェクションで差し替えたいときだけ差し替えれる書き方

忘れるわりに重要なのでメモ!

    private $hogeService;

    public function __construct(HogeService $hogeService = null)
    {
        $this->hogeService = $hogeService ?? new HogeService();
    }

参考サイト

あるコミットの変更履歴のあるファイル一覧だけを取得したい

下記コマンドでいけます

コミットid:hogehogeの変更履歴のファイル一覧が欲しい場合

git diff --stat --name-only hogehoge\^..hogehoge

zshだとキャレットをエスケープしないとうまく動きませんでした

参考記事

Gitでcommit間の変更ファイル一覧を出力

docker imagesをリポジトリ名でフィルタリングして一括削除したいとき

docker images | grep hogehoge | awk '{ print $3 }' | xargs docker rmi

hogehogeの部分をフィルタリングしたい文字列に置き換えると一括削除できます

PHPStormでphpファイルがphpファイルとして認識されないとき

ある日を堺にPHPStormがある特定の名前のPHPファイルをハイライトしてくれなくなりました・・・

原因

PHPファイルを追加する際、ファイルの関連付けの設定をtxtファイルとして追加していたからでした。

解決方法

  1. Preferences > File Types > Text を選択
  2. Registered Patternsのリストから特定のファイルの名前を見つけて削除する

参考サイト

PhpStorm : 拡張子が.htmlのファイルをphpファイルとして認識させる