柴ブログ

プログラミング奮闘記

久しぶりに開いたMacの日時がズレている場合の対処

はじめに

タイトルの通り、しばらく(数週間)使ってなかったMacを起動したら日時が自動で合うはずが、ズレていて再起動しても直らなかったので対応の備忘録。

ターミナルで作業

Macの設定画面で日時の自動設定をいじってみても直らなかったので、下記記事を参考にターミナルで作業

%ps -ef | grep timed
  266   340     1   0 11:11AM ??         0:00.09 /usr/libexec/timed
  501  3128     1   0 11:12AM ??         0:00.10 /usr/libexec/mlruntimed
  501  4643   733   0 11:20AM ttys000    0:00.00 grep timed

#  /usr/libexec/timedをkill
%sudo kill 340

%sudo sntp -sS ntp.nict.jp
+426924.199736 +/- 0.013587 ntp.nict.jp 2001:df0:232:eea0::fff4

これで無事日時が同期された。

参考

余談

ntp.nict.jp情報通信研究機構が公開している、日本標準時を時刻配信しているNTPサーバのこと。

日本標準時(JST)グループ

2022年の振り返り

はじめに

あまりブログを書けていなかったので、ソフトウェアエンジニアとして2022年を振り返ろうと思います。

転職

2022年になってすぐにメドピアという会社に転職しました。

エンジニアとしては2社目になります。

エンジニアになる前はMR(製薬会社の営業)をしていたので医療には関心があったのと、Ruby/Railsでの開発をもっとやっていきたい気持ちがあったので転職しました。

早いもので入社してもうすぐ1年が経とうとしてます。

会社での働き

開発言語/フレームワーク

何をしていたか

前半の半年ほどは広く浅くいろんなサービスの細かい改善、機能開発をするチームにジョインし、ドメイン知識の獲得や様々な社内の方とのコミュニケーションを取ることが主でした。

後半の半年は社内で昔から動いているPHPのコードをRailsにリプレイスするチームにジョインし、PHPコードを読んだりサービス運用者から仕様や要望を聞きながらリプレイスを進めたり改善したりしています。

来年も引き続きこのプロジェクトのチームでしばらくは開発に従事しそうです。

本番権限をもらえた

本番リリースや本番サーバでの作業は一部権限を貰えないと実行出来なく、権限を持つメンバーも限られている中で、僕の働きを認めてもらい晴れて本番権限を頂きました。

自分の働きが評価された結果であり、モチベーションにつながる一方で責任も伴うため、より一層インプットと周りへの確認/配慮を意識して行うようになりました。

エンジニアとしての学び・出来るようになったこと

細かいアウトプットが出来ていなかったので、ざっくりと書いていきます。

今年は特にRuby/Rails周りとSQL/DB周りのインプット、業務でのタスク取りを意識してました。

業務ではフロントエンドも触りますが、業務範囲内での学びに留まります。

Ruby/Rails周り

読んだ本

学んだこと

  • Rubyの言語仕様諸々
    • Rubyのしくみに書いてある内容
    • Ruby Kaigiに参加して講演を聞いた内容
  • Railsのバリデーション周り
    • Railsで用意されているバリデーションヘルパーで知らないものもいくつかあり、Railsガイドで一通り学び直した
  • Active Recordのクエリメソッドで用意されていないクエリを書く方法
    • クエリメソッドを用いた上でselect句やjoin句、マイグレーションでのオプションなどの指定方法。単純にSQLの文字列を実行する方法。
  • Railsにパッチをあてる方法と運用/保守
  • Draperを用いたDecoratorの書き方
  • sidekiqを用いた定期実行、非同期処理の書き方・運用
    • sidekiqを使ったクラスのRSpecの書き方。Flakyにならないためのテストヘルパーの使い方。
  • 複数DBを同じリポジトリで扱う際の設定や、スキーママイグレーションファイルの管理方法
  • RSpecで使える便利メソッド・マッチャの数々
  • Capybaraでのタブ操作
    • 別タブを開くetc
  • RubyでのCSVの読み書き全般
  • Rubyでgemを使ってExcelを読み込む方法

出来るようになったこと

  • Ruby Kaigiの講演内容が少し理解できる
  • パフォーマンスを意識したクエリメソッドの組み立て、レビュー
  • パフォーマンスを意識したRSpecやCapybaraの書き方、レビュー
  • 読みやすさを意識したテストコードの書き方、レビュー
  • テストとして質を担保できているかを意識した書き方、レビュー

SQL/DB周り

昨年も力を入れていた分野で、昨年に引き続き今年も色んな本を読み漁りました。

読んだ本

学んだこと

  • 意味のあるインデックス、意味のないインデックス
  • B-treeインデックスの仕組み
  • 全文検索の仕組み
  • RDBMSの実行計画の読み方
  • window関数の基本的な書き方
  • MySQLの運用周り少し
    • 権限管理、付与
    • オンラインDDLの注意点やオプション
  • ヒント句の書き方
  • クエリのチューニング方法
  • Amazon Redshiftの方言
  • pt-online-schema-changeの仕組み

出来るようになったこと

  • 分析のための少し込み入ったクエリの組み立て
  • パフォーマンスを意識したクエリの組み立て、レビュー
  • 可読性を意識したクエリの組み立て
  • 遅いクエリの改善

その他 

その他細々と触っていたり学んだこと。

読んだ本

学んだこと

  • TypeScriptの基本構文
  • VueとTypeScriptの組み合わせ
  • Jestの基本構文
  • Datadogの基本的な使い方

出来るようになったこと

  • TypeScriptの基本的な読み書き
  • Jestの基本的な読み書き
  • Datadogを使ってパフォーマンスのボトルネックを見つける

終わりに

ざっくりと学んだことベースで2022年を振り返りました。

日々のアウトプットが難しいなーと思いつつ、書き出してみると学びが色々あるので、1つずつ深掘りしていけばブログなどのアウトプットに繋げられそうという所感です。

環境も変わり、自分のインプット以外でも社内のメンバーからの学びもとても多く、充実した1年を過ごせたと思います。

社内外でお世話になった方々へ感謝しています。

来年もよろしくお願いします。

RubyKaigi 2022に現地参加してきました

はじめに

RubyKaigi 2022が三重県津市で開催され、今回初めてのRubyKaigi参加、そして初めての現地参加だったので振り返ろうと思います。

rubykaigi.org

ちなみに僕はメドピアという会社でRailsエンジニアとして働いていて、今回は弊社がスポンサー&会場ブースを出すということで会社のみんなで行ってきました。

tech.medpeer.co.jp

オフラインでのコミュニケーション

僕はコロナ禍になってからエンジニアへと転身したので、通っていたフィヨルドブートキャンプというプログラミングスクールや、現職のメンバーとはオフラインでほとんど会ったことがなく、今回その方々と初めてオフで会えることができて嬉しかったです。(スクールも仕事も基本リモート)

アイコンでしか認知してなかった方との出会いや、そこまで交流がなかった人も、オフラインで会うことで一気に距離が縮まったのを感じて、コミュニケーションはオフラインの方が捗るなあと改めて思いました。

また、会場で行われるトークセッションにおいても普段Twitter等でしかお見かけしない方々を目の前で見れてとても興奮しました。

登壇者のトークに対するリアルタイムなリアクション(拍手・笑い声etc)もあり、登壇者としてもとても嬉しいことなんじゃないかなあと思って見てました(突然の上から目線)。

会場に設置されたブースでも、各社のノベルティや企画に参加してコミュニケーションを取れたり、Twitterで相互フォローしているけど初めてお会いできた方もいたりで、本当に楽しく過ごせました。

Kaigi中のセッション

今回たくさんの方々のセッションを聞き、「勉強になるなあ」と思う反面、「全然わからない...」という部分もあったりで、自分の興味や深掘りのモチベーションが上がりました。

個人的に一番興奮したのは、ブラウザ上でRubyが動くのをライブで見れたことでした。

話題にはなっていたものの、実際に動くのを見たのは初めてだったので「これが噂の...!」とワクワクしました。

また、全体のセッションの内容としてはJITや型に関する話題が多く、Rubyのこれからの開発や将来が垣間見えて今後の展望が楽しみになりました。 自分はまだ知識も経験も浅く貢献できることは少ないですが、gemの型解析には誰でもコントリビュートチャンスがあることを知り、こういうところから貢献できるといいなと思いました。

あと英語のセッションもチャレンジしてみましたが、着いていけずだったので英語の勉強ももうちょっと頑張ろうと思いました。。。

会場からの待遇が手厚い

会場でTシャツがもらえることはなんとなく聞いていたんですが、実際行ってみるともっとたくさんのノベルティがもらえたり、会場からは松坂牛を使ったお弁当が出たり、津駅周辺で使えるクーポンがもらえたりと、「俺はVIPになったのか...?」と錯覚するくらい至れり尽くせりでした。

ノベルティを配布していたブース周りはまさにお祭り気分で、これはオフラインならではの楽しみだなと思いました。

ブースエリア

最後に

今回初めてのRubyKaigi、初めてのオフライン参加は楽しかったです!

弊社のVPoEから「勉強の場だけでなくRubyist同士の交流の場でもある」と言われましたが、まさしくその通りだなと身をもって感じました。

オフライン開催だからこそできる交流もあるので、とても貴重な機会を頂けたと思います。

来年もぜひ参加したいですが、プライベートが忙しくなり参加は難しそうなので、その先の開催に期待しようと思います...!

運営の方々、登壇者の方々、連れてきてくれた会社の方々、ありがとうございました!