株式会社ラクス の技術ブログ

リアルな雰囲気が分かる!ラクスのエンジニアインターンシップ内容&体験談紹介

はじめまして、rks_rtnkです。 ラク スでは毎年、 「Rakus Tech Lab」という チャット アプリ開発 体験を行うエンジニア インターン を開催しています。 2023年も4回開催しまして、非常に多くの学生の皆さんに参加いただきました。 今年、運営に携わった私から、2023年の インターン を振り返りつつ、紹介させていただきます。 もくじ 紹介 タイムスケジュール 開発の流れ 成

手続き型プログラミングで発生した問題とオブジェクト指向への入門

こんにちは!新卒1年目のos188です。 私が担当する商材は、リリースから10年以上が経過し、膨大な量の ソースコード が存在します。 大部分は オブジェクト指向 プログラミングで書かれていますが、 コードを読んで勉強しているとき、古い部分で手続き型プログラミングによって書かれているところを見つけました。 新しい部分と比較すると「読みづらいな、処理を追

社外向けモバイル勉強会を初開催!立ち上げの道のりと得られた学び

こんにちは、モバイル開発チームのhyoshです。 弊社では各分野の特定のテーマに沿ってエンジニアが議論する「TechCafe」というイベントを定期開催しています。 PHPTechCafe フロントエンドTechCafe そして先日私を含めた弊社モバイル開発チームが初となる「モバイルTechCafe」を開催しました! rakus.connpass.com 本ブログでは開催までの準備過程や当日の内容についてレポーティン

【PHP/Laravel】マイグレーションファイルを全て削除するとDB構築時間が99%削減!?

こんにちは。大阪楽楽開発課のdaina_rksです。 Laravelの マイグレーション を活用して、テーブル定義を更新しているサービスは多いと思います。 しかしサービスが継続するにつれ、気づけば大量の マイグレーション ファイルが存在している、、、なんて経験はありませんか? 私が携わっていたプロジェクトでも同じ悩みに直面していました。 この悩みに対して、私は マ

PHPカンファレンス関西 2024【参加レポート】

はじめに 配配メール開発課moryosukeです。 2024/02/11(日)に PHPカンファレンス 関西 2024が開催されました。 ラク スはブロンズスポンサーとして協賛させていただいています。 2024.kphpug.jp ラク スからは5人が登壇した他、多くのメンバーが参加しました。 そこで今回は参加者によるレポート、そして ラク スからの登壇者本人によるレポートを紹介させていただきます。 はじ

PHPerのための「PHP8.3の新機能」を語り合う【PHP TechCafe イベントレポート】

 弊社で毎月開催し、 PHP エンジニアの間で好評いただいている PHP TechCafe。2023年8月のイベントでは「PHP8.3の新機能」について語り合いました。弊社のメンバーが事前にまとめてきた情報にしたがって、他の参加者に意見を頂いて語り合いながら学びました。今回はその内容についてレポートします。 rakus.connpass.com PHP8.3 新機能について Marking overridden method オブジェクトを

Go言語でゼロ値の場合の項目を出し分けする方法とは?

はじめに 新卒1年目のTKDSです! 先日,Go言語で json で返すレスポンスを作る際,ゼロ値の場合の項目の出し分けを行いたい場面がありました. そこで,encoding/ json でゼロ値の場合の項目の出し分けを行う方法を調査しました. はじめに 行いたいこと 1. 改変したいフィールドの型をany(interface{})にして,タグにomitemptyを指定する 2. encoding/json/v2 のomitzeroを使う. 3. MarshalJSON(
Go

kind (Kubernetes IN Docker) でクラスタ構築時に済ませておきたいポート設定の基本

はじめに こんにちは!新卒1年目のTKDSです! 今回はkindで任意のポートをローカルマシンのポートに マッピング する方法を紹介します. 実際にkindでclusterを作成して動作確認をしながら進めます. はじめに kindとは default 設定でのCluster構築 Cluster作成 deploymentとNodePortの作成 kindの設定ファイルの作成 設定したポートにアクセスする まとめ kindとは コンテナを使用して, k

スムーズな負荷テストのために私たちが実施していること

こんにちは、配配メール開発エンジニアのhiro_jiです。 突然ですが、負荷テストの進め方ってイメージできますか? ある程度経験があれば難なく進めることができると思いますが、そうでない場合はそもそも進め方のイメージが湧きづらいかと思います。 かくいう私も最初は何から手を付ければよいか分からなかった記憶があります。。。 そこで今回は負荷テスト初心者

非インフラエンジニアがPrometheusとGrafanaで簡単サーバモニタリング

概要 Prometheus未経験の非インフラエンジニアが、Grafanaでサー バモ ニタリングができるようになるまでの 軌跡を記録します。 とりあえず、モニタリングができることが目標なので運用面の考慮等はしていませんが、参考になれば幸 いです。 概要 きっかけ Prometheusとは Grafanaとは 今回構築する環境の構成 ①prometheus server ②exporter ③Grafana インストール 前提条件 ②exporterの

【GitHub】チームの情報粒度を揃えるためのissue formsテンプレートの作り方

はじめに こんにちは。フロントエンド開発課に所属している新卒1年目のm_you_sanと申します。 今回はissue formsを使って GitHub Issuesのテンプレートを作成する方法について、紹介したいと思います。 はじめに issue formsとは?導入するメリットは? 作り方 まとめ issue formsとは?導入するメリットは? issue formsは、 GitHub 上で提供される GitHub Issuesに入力フォームを追加する機能

インフラマネージャー厳選!10年使える知識が身につくおすすめ書籍10選

ラク スでは多くの SaaS プロダクトを開発・運用しており、オンプレミスまたは クラウド を適切に選択してインフラ基盤を構築しています。 そのインフラを担うのが、 ラク スのインフラ開発部です。 今回はインフラ開発部のマネージャーが厳選した、インフラエンジニアにおすすめの書籍10選をご紹介します。 それぞれの書籍に推薦コメントを記載していますので、是

JavaのComparatorまとめ

はじめに こんにちは、Hiropyです。 今回は、 Java のComparatorについて簡単に解説できればと思います。 はじめに Comparatorとは? compareメソッドの使用方法 使用例 Comparableとの違い 主なメソッド comparing reversed naturalOrder・reverseOrder nullsFirst・nullsLast thenComparing まとめ Comparatorとは? Comparator は、「比較者」という和訳の通り オブジェクト同士の比較 を行うインタフェースで、主にL

Amazon CodeWhispererの導入方法(VS Code)

新卒1年目のTKDSです! 今回は、AIコーディング支援サービスである、 Amazon CodeWhispererの導入方法について記事を書きました。 個人での利用は無償ですので、自宅などでは費用をかけずにAIコーディング支援サービスを利用できて便利でした。 Amazon CodeWhispererの情報 導入の手順 1. 最新の AWS Toolkit プラグインをVS Codeにインストール 2. 認証 3. AWS Builder IDの作成 試す まとめ Amaz
AWS

【TypeScript】inferで型情報を取得する

はじめに こんにちは。フロントエンド開発課に所属している新卒1年目のm_you_sanと申します。 今回はTypeScriptのinferについて紹介したいと思います。 はじめに inferとは? 具体的な使用例 関数の戻り値の型を推論する Promiseの内部の型を推論する 配列の中身を推論する 文字列リテラルと組み合わせる まとめ inferとは? inferは 型推論 する際に使われるキーワードで、 ジェネ