2023年を振り返る
時の流れは早い!!
というわけで、2023年を振り返ってみたいと思います。
2022年の振り返りはこちら
仕事面
昨年に引き続き、NFT関連のプロダクトに多く携わりました。
今年は自分たちのサービスというよりは、他社のプロジェクトに技術面でサポートさせていただく機会が多かったように思います。今まで自社サービスが中心だったので、社外とのコミュニケーション面など多くのことを学びました。
来年は講談社様、ピクシブ様の協力のもと「NIZI.JP」というサービスもリリース予定なので、興味のある方はぜひ使ってみてください!
会社でMVPを頂いた
たいへんありがたいことに今年もMVPを頂きました🎉
会社で賞を頂いたので今後もやっていきます💪 pic.twitter.com/StS3JT4cxz
— Kosuke Ogawa🏝エンジニア (@koogawa) 2023年2月24日
なんと2回連続の受賞らしいです。Valueを発揮できる環境に身を置けることを大変嬉しく思います。これからもやっていきます💪
副業
今の会社にはもう5年ほど在籍しているのですが、同じ環境に長くいるとどうしても視野が狭くなりがち、という課題がありました。ちょうどそんなとき、TimeTree社で働く元同僚の id:gonsee から声を掛けていただき、11月から業務委託としてiOSアプリの開発をお手伝いしております。約2年ぶりにSwiftをガッツリ触っていますが、やはりiOSアプリ開発は楽しいです。
また、朝会の進め方やSlackの雰囲気など、会社が違うだけでこんなにも違うんだなーというのを再認識しました。
ひとつ例を挙げると、TimeTreeさんのiOSチームは本当に仲が良く(もちろん他のチームもみんな仲良しです!)、毎週の定例でも半分は雑談をしているのには驚きました。一人ずつ今週やったことを共有する際に「アイスブレイク」というコーナーがあって、そこで「⚪︎⚪︎に行ってきた」「⚪︎⚪︎が美味しかった」など、業務とは関係ないことを話せる時間が4分ほど用意されているんですね。だからメンバーも安心して雑談に時間が割ける。さらにその雑談部分が社内に共有される仕組みになっているのは面白いです。
詳しく知りたい方はこちら!
Studio Display買った
前から気になっていたAppleのStudio Displayをついに買ってしまいました!
ディスプレイは映り込みが少ない「Nano-textureガラス」も選択できましたが、ピカピカした画面が欲しかったのと、黒の発色が良いとのレビューを見たので、敢えて「標準ガラス」を選択しました。しばらく使っていますが、反射は全く気になりません*1。
ディスプレイの高さを調整する機会も実はほとんどないので、スタンドは「傾きを調整できるスタンド」で十分でした(5万円の節約!)
内蔵のスピーカーも重低音がしっかりしていて、音楽を聴くのが楽しみになりました。
総合評価としては⭐️5です。今年買ってよかったもの第1位と言っても過言ではないです。
世代交代。
— Kosuke Ogawa🏝エンジニア (@koogawa) 2023年12月4日
今までありがとう、
Thunderbolt Display🥹 pic.twitter.com/mcclwrEpo6
プライベート
初の出演映画が公開される
私が出演する映画「天尊降臨ヒムカイザー THE MOVIE」が、8/18より宮崎県内の映画館にて公開されました🎉
当初は1ヶ月のみの上映予定でしたが、好評につき10月下旬までのロングランとなりました👏
【千秋楽】 #映画ヒムカイザー 8月からスタートした宮崎県内の上映は本日最終日を迎えます。
— Kosuke Ogawa🏝エンジニア (@koogawa) 2023年10月19日
沢山の方に映画館で観ていただきまして本当にありがとうございます。🙏🙏🙏#感謝 #ヒムカイザー pic.twitter.com/q4V12yxLaH
「映画のエンドロールに自分の名前が載る」という夢も叶いましたし、とても良い経験になりました🌟関係者の皆様、そして映画をご覧いただいた皆様、本当にありがとうございました!
サーフィンをはじめた
昨年の記事で「2023年の目標」にも掲げた通り、ついにサーフィンデビューしました🏄
持ち前の運動音痴を発揮し、1回目はまったく立つことができませんでした。
全く立てなくて草😂 #サーフィン 🏄♂️ pic.twitter.com/JSVbmroOjx
— Kosuke Ogawa🏝エンジニア (@koogawa) 2023年6月11日
しかし、翌月のリベンジでようやく立ち上がることができました🎉
最後タコ踊りみたいになってしまったけど、なんとか立つことができました🏄#宮崎暮らし #サーフィン pic.twitter.com/e7C6FXqhyY
— Kosuke Ogawa🏝エンジニア (@koogawa) 2023年7月27日
40過ぎたおじさんでもなんとかなるもんですね。
ヘラクレスオオカブトを育ててみた
こちらも「2023年の目標」のひとつですが、ずっと育ててみたかったヘラクレスオオカブトをふるさと納税でお迎えしました。
ふるさと納税の返礼品としてヘラクレスオオカブトさんをお迎えしました👏
— Kosuke Ogawa🏝エンジニア (@koogawa) 2023年4月11日
さっそく息子が「ヘラ太郎」と命名しました#ふるさと納税 #ヘラクレスオオカブト pic.twitter.com/RBxP2yhCnn
日本のカブトムシとは違い、ヘラクレスオオカブトは成虫になっても1年ほど生きられます*2。今回お迎えしたヘラクレスも2022年12月には羽化(さなぎから成虫になること)しており、我が家に届いた4月から11月まで生き続けてくれました。
4月にお迎えしたヘラクレスオオカブトさん、10月になってもバリバリ動いてます💪
— Kosuke Ogawa🏝エンジニア (@koogawa) 2023年10月1日
このまま冬を越して頂きたい❄️ pic.twitter.com/hEs0AM7huF
7ヶ月間という短い期間でしたが、大切な時間をありがとう!🥺
キックボクシングをはじめた
映画に出るということもあり、実は10キロほどダイエットしていたのですが、筋肉も一緒に落ちてしまった感がありました。そんな中、Instagramで良さそうなキックボクシング教室を発見し、これを機にキックボクシングを始めました。
強くなるためにキックボクシングに挑戦したんですが、自分のパンチで自分の拳が砕けそうになりました🤛力が無さすぎる😂 pic.twitter.com/VMHfRbAgn9
— Kosuke Ogawa🏝エンジニア (@koogawa) 2023年7月30日
実はもともと空手と少林寺拳法をやっていたこともあり、スイッチからのミドルキック*3も割とすぐに習得することができました。
また、自分自身がキックボクシングを経験することにより、格闘技の試合を観る際も、より楽しめるようになりました。
週一ペースで現在も続いているので、来年も楽しく続けていきたいと思います🥊
来年の目標
さて、最後に来年の目標を宣言して締めたいと思います。
皆さま良いお年をお迎えください🎍
Gitで不要になったリモートブランチを削除するタイムを設ける
マージ後にブランチを自動削除する運用にしていても、なぜか残ってしまうブランチたち。
↑こうなっていると目的のブランチに辿り着くのに時間がかかるので、特別な理由がない限り不要になったブランチは削除したほうがよい
とはいえ、そのブランチが不要かどうかは、作った本人にしか判断できない問題も生じる。そこでおすすめなのが、定期的に「不要になったリモートブランチを削除するタイム」を設けること。
原始的すぎてビックリしたかもしれないが、もっとも確実な方法だと思う。
自分が作ったブランチは「Yours」タブに集められるので、
次のようにURLも載せてあげると親切だろう。
https://github.com/(プロジェクト)/(リポジトリ)/branches/yours から不要なブランチをポチポチ消していってね!
また、長い間放置されているブランチは「Stale(=新鮮でない)」タブに集められる。
「⚪︎ヶ月以上使われていないブランチは削除する」のような基準を設けても良いかもしれない。
おまけ:リモートで消されたブランチがローカルに残ってしまう件を解消する
リモートのブランチがスッキリしても、ローカルには不要なブランチが残り続けてしまう。そんなときは下記コマンドでローカルに残ったブランチを一掃できる。*1
$ git remote prune origin
$ git remote prune で
— Kosuke Ogawa🏝エンジニア (@koogawa) 2018年8月10日
リモートから削除されたブランチを
ローカルからサクッと消すことができる
∧_∧
( ・ω・)
_| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
俺はそういうことに
幸せを感じるんだ
<⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
*1:git fetch --prune でも削除できるらしいが、どちらが良いのかはわかっていない
PHPカンファレンス福岡 2023 #phpconfuk に参加してきたよ
4年ぶりに開催されたPHPカンファレンス福岡に行ってきました。
今年で4回目の参加です。会場はもちろん福岡ファッションビル。
今年もカンファレンスTシャツを頂きました。私が到着した頃にはもうMサイズしか残っていませんでした。大人気!
今年も素晴らしいセッションが盛り沢山でした。そのうちいくつかをピックアップしたいと思います。
- 伝えたい!オフラインのカンファレンスに参加するメリットと参加してから200%楽しむために実践してほしいこと
- レガシー回避のPHP開発術:保守性の高いアプリケーションを作る方法
- 制約の力: 可能性を狭めるアプローチ
- さいごに
伝えたい!オフラインのカンファレンスに参加するメリットと参加してから200%楽しむために実践してほしいこと
登壇者:kotomin_m さん
ことみんさんによる発表です。カンファレンスに参加するメリットや、当日聞くセッションの選び方、カンファレンスで話しかけるときの鉄板フレーズ集など、初めてカンファレンスに参加する方にも優しいトークでした。私自身、コミュニケーションがあまり得意な方ではないので、具体的な会話例はとても参考になりました。
レガシー回避のPHP開発術:保守性の高いアプリケーションを作る方法
登壇者:hanhan1978 さん
カオナビ富所さんによる発表です。
"レガシー回避のPHP開発術" というタイトルでしたが、技術的な内容というよりは、チームや組織の話が多かった印象です(個人的には良かった)。
45分のトークでしたが、スライドは200枚を超えており、富所さんの経験やノウハウが詰まった盛りだくさんの内容でした。
個人的に刺さったのは「改善しないと、改善されないんだよ?」 という耳が痛いワードや、「人間関係の再構築」に意外と時間がかかる、という内容でした。スライドが公開されたらぜひ読んでいただきたいです。(追記:スライド公開されました)
制約の力: 可能性を狭めるアプローチ
登壇者:shin1x1さん
PHPの現場でおなじみの新原さんによる発表です。
- 「可能性を狭める」つまり制約を与えることが、可読性やメンテナンス性の向上につながる
- 制約を与えることで、ソフトウェア開発の複雑さを減らし、本質的な複雑さに立ち向かっていこう
という内容でした。
PHPといえば、次のような関数があった場合、
function add10($v) { return $v + 100 }
引数 $v
には数値もBoolもセットできてしまいますが、「$v
は数値である」という制約を与えるにはどうすればよいか?という具体例がわかりやすかったです。型宣言の無い時代のPHPしか触ったことのない自分にとっては、とても勉強になる内容でした。
型宣言の例以外にも、ライブラリの影響を限定する例など、まさにPHPの現場で活用できそうな内容でした。
さいごに
久々のオフラインイベント参加でしたが、会場の雰囲気やノベルティ配布など、やはり現地参加は良いもんだなーと改めて感じました
PHPカンファレンス関係者の皆様、今年も楽しいイベントをありがとうございました!
来年もまた会いましょう😄
はてなブックマークしたページをTwitterにシェアしてくれるアプレットを作りました
2023.4.26 追記:ブコメもツイートに含めることができるようになりました!すでにお使い頂いている方は、もう一度Connectから再設定してください🙇🏻
はてなブックマークのTwitter連携が使えなくなってしまったので、IFTTTのアプレットを作りました。
使い方
ブックマーク時、コメントに「#tw」を入力することでTwitterにシェアしてくれます(#twは別のワードにカスタマイズ可能)
インストール
次のURLにアクセスし、Connectスイッチをオンにします。
ツイートのトリガーとなる文字列 #tw
は自由にカスタマイズできます。
Feed URLの (user_account)
の部分を自分のアカウント名に書き換えてください。
デフォルトでは {コメント} / {ページのタイトル} {URL}
という形式でツイートされますが、Tweet textを書き換えることで、ツイート本文をカスタマイズできます。
制限事項
2022年を振り返る
今年も色々あったなぁ
そんなわけで、2022年を振り返ってみたいと思います。
- 2021年の振り返りはこちら
仕事・スキル面
ブロックチェーン分野へ
今年の大きな変化として、技術分野をブロックチェーン領域へシフトした、というのがあります。Ethereum等は全く未知の分野でしたが、半年間でなんとかSolidity でスマートコントラクトを書けるぐらいまでにはなりました。自分が書いたコードでトランザクションが動き、ブロックチェーンにデータが書き込まれる体験は本当に面白いです。
12月にはNFT関連のプロダクトである「dango」もベータリリースしました。dangoはgiveaway*1をかんたんにするサービスです。当選後のNFT譲渡(Transfer)までサポートしているので、ぜひ使ってみてください !
web3ハッカソンにも参加
11月には日本最大級のweb3ハッカソンが開催されるということで、私も参加しました。NFT関連のプロダクトを1番乗りで提出しましたが、残念ながら決勝進出はならず。しかし、なにより「参加」することに意義があったので良しとします。
久しぶりに勉強会で発表
ちょこちょこweb3コミュニティにも顔を出すようになり、Solidity-jp さん主催の勉強会に登壇者として招いて頂きました。私以外の登壇者の面々が豪華で、発表内容も非常にレベルが高いイベントでした。著名な方々に混じって登壇側に立てたのはとても良い経験になりました。
Next.js
今年使い始めた技術としてNext.jsがあります。Next.jsはReactをベースに開発されたフロントエンドフレームワークです。私はReact未経験でしたが、チュートリアルがしっかりしているため、スムーズに使い始めることができました。
また、Next.jsに慣れるためには、ひとつ個人でアプリを作ることが手っ取り早いということで、ひとつプロダクトもリリースしました。
残念ながらまったく使われませんでしたが、それも含めて勉強になりました。
会社でMVPを頂いた
ありがたいことに今年は全社MVPを頂きました🎉
会社でMVPを頂いたので引き続きやっていきます💪 pic.twitter.com/LIUt2hpPp0
— Kosuke Ogawa⛅エンジニア🏝宮崎 (@koogawa) 2022年7月27日
評価してもらえる環境に身を置けることを大変嬉しく思います。これからもやっていきます💪
プライベート
ご当地ヒーロー映画に出演が決定
ご当地ヒーロー作品が映画化されるということで、出演者を県民から募集していることを知りました。演技経験は問わないそうなので、私もオーディションに応募してみることに。
演技は全くの未経験でしたが、なんとか1次選考を通過。最終選考は人通りも多い宮崎駅前の特設ステージで行われました。寒さと緊張で終始震えていましたが、見事に合格を勝ち取ることができました🎉
- 台詞をしっかり暗記してきたこと
- 大勢のプレッシャーに負けず、台詞が飛ばなかったこと
- どこにでもいるお父さんっぽいこと
が勝因だったようです。
ついに 映画のエンドロールに自分の名前が載る、という夢が叶いそうです🌟
ミニ四駆大会で優勝
今年の目標に「ミニ四駆大会で優勝する」というのがありましたが、4月に開催されたミニ四駆大会でついに優勝できました🏆
かなり運が左右するレースでしたが、それも勝負のうちということで、良しとします。
来年の目標
さて、最後に来年の目標を宣言して締めたいと思います。
- ソフトウェアエンジニアでありたい
- サーフィンを始める🏄♂️
- ヘラクレスオオカブトを飼う
皆さま良いお年をお迎えください🎍
*1:NFTを他の人に無料プレゼントすること
Visibility for constructor is ignored. If you want the contract to be non-deployable, making it "abstract" is sufficient
SolidityとEthereumによる実践スマートコントラクト開発 ―Truffle Suiteを用いた開発の基礎からデプロイまで
👆こちらの本のサンプルを試していると大量に出てくる警告です。
constructor() public { _owner = msg.sender; }
どうすればよい?
public
を削除します。
constructor() { _owner = msg.sender; }
解説
Solidity 0.7.0からコンストラクターの Visibility
( public
/ external
) は不要になりました。
Visibility (public / external) is not needed for constructors anymore:
Solidity v0.7.0 Breaking Changes — Solidity 0.7.0 documentation
本の執筆時点ではまだ必須だったのだと思われます。
Truffleで特定のファイルだけmigrateする
Truffleのmigrationファイルは 2_wallet_factory.js
のように数字が頭に付きます。例えば 2_
から始まるファイルだけmigrateするには以下のようにします。
truffle migrate -f 2 --to 2