けんちゃんくんさんのWeb日記
2022/8/3

2022-08-03

今日は、ペパボのサマーインターンに参加してくれている学生さん3人とお話する機会があり、みんな本当に優秀ですごく刺激をうけた。インターンでやっていることはもちろん、大学や大学院でやっている研究もすごいので、少しでも自信をもってもらえるように、不安に思っていることを解消できるように自分の経験を話したり、自分から見たときに今やっていることの意義を伝えたり、1x年この業界で働いて見てきたことを共有したりしていたら時間はあっという間におわってしまった。

インターンという職業体験を会社で提供している以上、ペパボの仲間になってくれたら一番嬉しいけど、技術コミュニティの一員として一緒切磋琢磨できる仲間になれたらそれだけで十分とも思っている。

また近い未来に、今日話したみんなと別の形でお話できることを楽しみにしています。

created_at: 2022-08-07 07:07:31 +0900
updated_at: 2022-08-07 07:07:31 +0900
2022/8/2

2022-08-02

火曜日は出社の日ということで朝から渋谷へ。今日から新しい定例ミーティングが1つあったのでそれに参加したり。

お昼に外に出たらめちゃくちゃ暑くて死にそうだったので、夜は少し遅くまで仕事をして涼しく&電車が空いてから帰宅。ほんとに暑かった…

created_at: 2022-08-07 06:53:42 +0900
updated_at: 2022-08-07 06:53:42 +0900
2022/8/1

2022-08-01

先月くらいに子が読む本を買うついでに買ってきて積読状態だった同志少女よ、敵を打てを読みはじめた。1章を読んだだけだが評判通り面白い。しばらく寝る前のお供にするつもり。

お仕事では少々思うことがあり 自分がいいと思うことを、理由を明示しながらやっていく - 29box を共有してこういうかんじでやっていこうという話をしていた。「失礼します」みたいな言葉って挨拶というか、ほぼ意味がないことが多い(本当に失礼だとおもっているならしないほうがいい)と思ってはいるのだが、だとしたらなおさら社内のコミュニケーションにおいては不要だろうし、その一言よりもすこしでも受け手の情報が増える言葉使ってほしいと思う。

また、夕方はひさしぶりにjune29と一緒に面談をする機会があったのだけど、あいかわらず引き出しの多さというか、相手の話を引き出すのが上手だなぁとすごく勉強になった。自分ももっと引き出すのが上手になりたいなぁ。

created_at: 2022-08-07 06:47:53 +0900
updated_at: 2022-08-07 06:47:53 +0900
2022/7/18

2022-07-18

海の日の月曜日。土日で体調も完全復活したので、朝から風呂掃除や部屋の片付けなど。子が夕方からポケカのジムバトルにでるというので一緒に外にでて、おわったのが7時過ぎだったので晩御飯を買って帰宅。

少し前から、ブックマークというかウェブクリップにGlasp - Social Web Highlighterを使ってみていたのだけど、いくつかのサイトでchrome extensionがcssを潰しちゃうことがあってうーんというかんじ。それ以外の部分はブラウザ拡張含めてdiigoよりもglaspの方が好みなので、フィードバックしてもうすこし使ってみよう。

created_at: 2022-07-18 23:41:36 +0900
updated_at: 2022-07-18 23:44:11 +0900
2022/7/17

2022-07-17

午前中は子が部活だったので、午前中はプールにいってお昼に合流してから買い物へ。

二週間ぶりのプールは体のなまりを強烈に感じることになり、最低でも週1ではいかないと維持できないことがわかったのはよかったことだろうか。とりあえず1000mは泳いだけど、スピードをあげて泳ぐのは25mが限界で、たぶん合計100mくらいだったかな。最近は暑くて散歩もしてないのが影響しているのかなぁ。朝か晩の涼しいときに散歩を再開しようかとおもった日曜日であった。

created_at: 2022-07-18 23:34:11 +0900
updated_at: 2022-07-18 23:34:11 +0900
2022/7/16

2022-07-16

今週は何か特別なことがあったわけではないような気がしていたが、どうも疲れはたまっていたらしく、午前中に猫を動物病院に連れていってから夕飯まで寝て過ごしてしまった。猫は退院してきてからは調子はよさそうで、体重も増えていたので一安心。

晩御飯たべてからはGGSTを。シーズン2でもなんとか天上界にあがれるくらいは維持できていることがわかったのでよかったが、RCC絡みの新コンボがぜんぜんできないので練習かなぁ。

created_at: 2022-07-18 23:07:50 +0900
updated_at: 2022-07-18 23:09:38 +0900
2022/7/2

2022-07-02

今週は猫の通院の週だったので、午前中は動物病院、午後からはいつものプールへいくことに。

猫のほうは、先週の検査で数値があまりよくなかったので心配だったのだけど、今週は数値も正常になって、体重も増えていたのでよかった。最近、療養食を変えてみたのだけど、あまりあっていない感じがするので以前のご飯を一つ買って帰ってきた。動物病院でめちゃくちゃでかいハスキーが隣にいたのだけど、猫がきになるのか興奮してしまったため、すこし離れたところで待つことに。かわいかったけど、さすがに大きさが違いすぎるし、ほえられてびっくりしちゃうとお互いつらいのでやむなし。

午後のプールは、たまたまメインプールが解放される日だったので水深2mに初挑戦。人も少ないし、プールの水も適度に冷たくてとてもよかった。ただ、なにかあっても足が届かないという恐怖はけっこう大きいので、休みながら400mほど泳いでサブプールへ。ゆっくり泳ぐのはそれなりにできてきたので、筋力アップのためにも全力で泳ぐのをまぜながら、合計800mでフィニッシュ。

created_at: 2022-07-05 01:44:55 +0900
updated_at: 2022-07-05 01:44:55 +0900
2022/7/1

2022-07-01

今日から7月。金曜は出社の日なので朝から渋谷へ。

午前中はミーティングをいくつかやって、午後は最近手伝っているチームのふりかえりのファシリテーション、夕方からはk8sマニフェストのペアプロ。ようやくkustomizeの仕組みがわかってきたのでよかったよかった。ただ、動かすアプリケーションのコンテナがうまく構築できてないことがわかったので、正しく動かすのは来週に持ち越し。来週中にはさくっとおわらせたい!

お昼は、ここ数日ほど暑くはなかったので、ひさびさのCONROWへ。13時半くらいだったとおもうけど、ぎりぎり入れるくらいの混み具合いで無事コロナ禍を乗り越えることができたように見えてよかったよかった。ランチのイエローカレーガイヤーン、おいしゅうございました。

イエローカレーガイヤーンの写真

created_at: 2022-07-05 01:02:53 +0900
updated_at: 2022-07-05 01:02:53 +0900
2022/6/30

MySQLからPostgreSQLにデータを移行する

ロリポップマネージドクラウドからrender.comにこのサイトを移設するにあたり、DBMSの変更が必要になったのでそのときに調べたことや手順などを残しておく。

データ量は大したことはないが、データの大半がmarkdownやHTMLであり、SQLの中にはいっているなかなか苦労しそうな文字達が多かった。

lanyrd/mysql-postgresql-converter: Lanyrd’s MySQL to PostgreSQL conversion script のようなツールをつかうとほぼ一撃っぽいのだが、どういう違いがあるのかを知りたかったのでsedで置換してながせるようにしてみた。

1. mysqldumpをとる

mysqldumpにはcompatibleというオプションがあり、これをつけるとちょっとだけ他のDBMSでも読み込みやすいSQLを掃き出してくれる。ちょっとだけというのがポイントであり、これだけでは当然うまくいかないのだ。

また、このアプリはRailsでできてるので、スキーマはダンプしないように--no-create-infoをつける。

さらに、--skip-quote-namesでテーブル名やカラム名などがクオートされないようにしておく。これってDBMS依存なんだ……という発見があった。

mysqldump --compatible=postgresql --skip-quote-names --no-create-info --default-character-set=utf8mb4

2. 文字列中のシングルクォートを処理する

1で作成したdumpは文字列がシングルクオートで囲まれていて、中では\'\でエスケープされているが、PostgreSQLではこれはだめ。シングルクォートは二つ重ねるらしい。

\'''に変換してあげる。

sed "s/\\\\'/''/g" 

3. 文字中にエスケープ文字が入っていることを伝える

文字列中に\nのように\がはいっていると、PostgreSQLはそのままではうまく読み込めない。

'\n'E'\n'のように文字列リテラルの先頭にEをつけてあげる必要があるようだ。これをsedでやってあげる。余計に付けても問題なかったので、全ての文字列リテラルにつけてしまった。

sed "s/,'/,E'/g" 

4 tinyint(1)をbooleanにする

mysqldumpはtrueを1、falseを0で出力するが、これはそのままでは取り込まれてない。これはかなり苦労しそうなところだったが、なんとintのカラムがprimary keyであるid以外にはなかったので、とりあえず雑に全部変換してから、だめだったところを個別に手直しした。

sed "s/,0,/,false,/g" | sed "s/,1,/,true,/g"

まとめ

そんなこんなで、これくらい変換したらとりこめるようになったので、最終的にはこんなワンライナーで処理できた。めでたしめでたし。

sed "s/,0,/,false,/g" dump.sql | sed "s/,1,/,true,/g" | sed "s/\\\\'/''/g" | sed "s/,'/,E'/g" > dump_ok.sql
created_at: 2022-06-30 13:48:16 +0900
updated_at: 2022-06-30 13:48:16 +0900
2022/6/30

2022-06-30

ここ数日、あまりの暑さに散歩もできずに一日中家で仕事をしている。子の朝練があるので早くは起きているのだけど、8時くらいにはもう歩きたくないくらいの暑さで、ゴミ捨てにだけいって戻ってくる日々。

午後に奥さんがブレンダーでフラペチーノ的なものを作ってくれたのでいただくなど。おいしかった。

そういえば、今日で2022年も半分が終わりということで、のこり半年なにをやるか考えていたのだけど、あらためて技術の習得とアウトプットを初心にかえってやっていこうとなった。何回初心にかえっているのかわからないけど、結局そういうことだよな。

created_at: 2022-06-30 14:03:51 +0900
updated_at: 2022-06-30 14:05:30 +0900
新しい記事へ 古い記事へ