1
/
5

開発

コードリーディングの考え方をまとめてみる【株式会社ライトコード】

概要コードを読んできた経験を振り返ることで、読むことについて考えてみます。記事の構成最初にコードを読む目的を整理します。コードを読むのが良いとはよく聞くけれど、具体的になぜ良いのか、これまでの経験から見直してみます。そして、自分なりに取り組んできたコードの読み方を紹介することで、自分自身のコードリーディングに関する考えを振り返ります。読む目的・読み方について自分なりの考えをまとめることで、今後の自分自身・コードを読みたいと思っている方への参考になれば幸いです。なぜコードリーディングが重要か今までやってきたことを振り返ってみると、困難な問題を解決するのに役立ってきたのは、コードを読む力だと...

デスクトップ環境を整えて開発効率を上げてみる【株式会社ライトコード】

はじめにみなさんこんにちは、ずおです!最近家にこもっているので、体重が5kg増えました。今日はタイル型ウィンドウマネージャー(yabai, skhd)の紹介です。僕自身こちらを導入したことにより開発効率がかなり上がったのでぜひ参考にしていただければ幸いです!yabaiyabaiは、macOS 上で動作するタイル型のウィンドウマネージャです。こちらを使用すると、ウィンドウを自動的に整理し、スクリーンのスペースを最大限に活用することができます。では早速、yabaiをインストールします。(※Homebrewのインストールをお済ませください)brew install koekeishiya/fo...

【iOS】コマンドを使ってPush通知を送信する方法【株式会社ライトコード】

はじめに最近、iOS の Push 通知の実装を修正したのですが、その際、設定がうまくいっているか確認するため、コマンドを使ってPush通知を送信しました。今回、コマンドを使ってPush通知を送信する方法を備忘録としてまとめたいと思います。 参考コマンドラインツールを使用してプッシュ通知を送信する:https://developer.apple.com/documentation/usernotifications/sending-push-notifications-using-command-line-tools証明書(.p12)を使用して Push 通知を送信iOS の Push ...

KubernetesでHTTPS通信をやってみる①【ローカル編】【株式会社ライトコード】

MinikubeとIngressで自己署名証明書を使ったHTTPS通信を実現するこの記事では、ローカル環境のMinikubeを使い、自己署名証明書(オレオレ証明書)とIngressでHTTPS通信を実現する流れを見ていきます。前編としてローカルでIngressを使ったHTTPS通信を確認し、後編ではGoogleCloud上にk8sリソースを作成して同様にHTTPS通信ができるところまで確認します。前編後編を通してk8sでのネットワーク(L4, L7)について少し詳しくなろうという試みです。1. はじめに:なぜHTTPSが必要なのか?現代のウェブサービスにおいて、HTTPSは必須です。ユー...

Solr vs SQL 〜全文検索の速度を比較してみた〜【株式会社ライトコード】

はじめに初めまして!今年(2025年)の6月に入社した片岡です。業務で初めてSolrを触る機会がありました。「SQLよりどのくらい速いのか!?」という素朴な疑問から、入門編としてまずはシンプルな条件で比較をしてみました。特に全文検索ってSQLのLIKE句だけだとどうしても遅くなったり、精度が微妙だったりしますよね。そこで今回は、全文検索に特化した検索エンジンSolrと、普段よく使うSQL(ActiveRecord)を使って、実際にどれくらい速度差があるのか簡単にベンチマークを取ってみました!Solrとは?Solr(ソーラー)はApacheが開発しているオープンソースの全文検索プラットフォ...

MybatisでのID自動採番とSQL操作について

はじめにわりとDBでINSERT時に自動採番したIDを、すぐ後の処理で使いたい時ってあるかなと思います。その時の操作をMybatisを利用して対応していった時の話です。実現したいもの今回、ユーザ情報を登録したり、更新したり、閲覧したりした時のログをDBレコードとして残して、ユーザ行動ログ一覧として表示したい、ということがありました。SpringでのAPI開発で、言語はKotlin、DBはMySQLでの対応となります。APIとして作るのは以下の3つとなります。・新規登録用のAPI・更新登録用のAPI・表示用の一覧API<ユーザ行動ログ一覧>(表示用の一覧API)※実行日時の降順表示今回は新...

Android Roomで動的クエリを扱う【株式会社ライトコード】

Roomで動的クエリを使いたい時だってある(株)ライトコードでモバイルアプリケーションメインで色々開発している笹川(ささがわ)です!Androidアプリ開発でRoomを使っていると、@Queryアノテーションで静的なSQLを定義する場面が多いですよね。ほとんどのケースではこれで十分なのですが、アプリの機能が複雑になってくると、次のような要望が出てくることがあります。ユーザーの入力に応じて検索条件を柔軟に変えたい特定の条件を満たすデータだけを動的に絞り込みたいLIKEやGLOBなど、より高度な文字列検索をカスタマイズしたいこのような場合、事前に定義された @Queryだけでは対応が難しいこ...

【npm】最終手段で使えるpatch-package【株式会社ライトコード】

開発している上でパッケージ側に問題がありそれのアップデートなどでも修正できず諸々の事情で代替のパッケージも利用できない場合最終手段としてパッケージ側のファイルを修正する必要が出てくる時があります今回はそんな時に便利なpatch-packageを紹介します!概要基本的にパッケージのgit管理はnode_modulesフォルダをgitignoreに設定するためパッケージの変更は他の開発者と共有できませんそこでgitignoreを変更せず簡単に共有できるようにできるようになるのがpatch-packageです導入導入は簡単で以下のようにpackage.jsonのscripts内に追加しますスク...

ボタンタップ時に発生する不具合の対策について【株式会社ライトコード】

はじめに今回は、Unityにおけるボタンの連打・同時押し対策についてまとめました。業務でゲーム開発を進める中で、これらの対策を初めて実装する機会があり、多くの学びがあったので、これからUnityでゲームを開発される方の参考になれば幸いです!前提として、アーキテクチャにはMVPを採用し、ライブラリにはUniTaskおよびR3を使用しています。どんな不具合が起きたのか実際に発生した不具合は以下の2点です。- ボタンを連打した後、タップしても処理が実行されず、ゲームが進行不能になる- 複数のボタンを同時にタップした際、それぞれの処理が並行して実行され、想定外の挙動になるいずれも致命的な問題です...

Pythonのパッケージ管理ツール「uv」を試してみた【株式会社ライトコード】

概要Pythonのパッケージ管理ツールuvを使ってみたので、使い心地をざっくり書いてみます。記事の要約趣味プロジェクトのパッケージ管理ツールをuvへ移行させた使ってみたらとても便利だったので、普段の開発ユースケースでどう運用するのが良さそうか整理したいuvはいいぞ環境Python: 3.13.2uv: 0.7.8背景もとい前置きPythonは主に趣味で触っていましたが、パッケージ管理で苦戦することが多かったです。Dockerを使うとIDEと噛み合わせが悪かったり、いろんなツールを試すと仮想環境とパッケージ管理が複雑になってきてメンテナンスが大変になったりと、色々迷走してきました。Pyth...

【GAS】Google App Scriptのタイムアウトエラーを回避する方法【株式会社ライトコード】

はじめにGoogle Apps Script (GAS) を使った自動化は非常に便利だが、タイムアウトエラーに直面したことはないだろうか?GASのスクリプトが連続して実行できる時間が無料版で最大6分、有料のGoogle Workspaceプランでも30分に設定されているために発生する。スプレッドシートに書き込む処理が時間がかかるため、getValue, setValueを減らし、getValues, setValues を使いまとめて処理することが速くすることができる。しかしながら、大量のデータ操作を行うスクリプトを開発していると、コードによる高速化にも限度があり、このタイムアウトエラー...

Ruby on Railsのschema.rbの深掘り【株式会社ライトコード】

なぜこの記事を書くのか最近、Github ActionsでRailsアプリケーションの自動テストを設定する中で、schema.rbがCI環境やテスト環境で重要な役割を果たすことを体感しました。その際、schema.rbが正しく管理されていないことが原因で、スキーマの不一致によるエラーや不便な点がありました。これを機にschema.rbの役割や管理方法をしっかりと理解しておこうと思い、ブログ執筆に至りました。schema.rbの基本schema.rbとは?Railsアプリケーションのデータベース構造を記録するファイルです。データベースのスキーマの情報がこのファイルに反映されます。schem...

【ゲーム事業部】ジグソーパズルゲーム開発秘話【株式会社ライトコード】

今回ご紹介するのは、ライトコードの「ゲーム事業部」。今までブログで、ゲーム事業部をご紹介したことはなかったかもしれません。そんなゲーム事業部では、新作ゲームをリリースしたらしいという情報をGET!どんなゲームを、どんなチームで、どんな想いで作っているのだろう?ふと、そんな疑問が頭に浮かんできました。いてもたってもいられず、メディアチームはゲーム事業部に突撃!開発者のインタビューも行ってきましたので、お楽しみに!新作は「ジグソーパズル」のゲームアプリ!最新作は「ジグソーパズルHD - パズルゲーム」。2024年12月19日(水)より、App Store・Google Play Storeに...

Pytorchで自作ゲームにDQNのAIを組み込もう!(前編)【株式会社】

はじめにUnityなどで対戦ゲームを作っている時に、「対戦相手のAIをどうするか」ということで頭を悩ませた経験はありませんか?ゲームのAIは「⚪︎⚪︎なら××する」というような条件分岐の処理をたくさん書いたり、ゲームの状況を表す変数を用意し、その変数に従って行動を分岐させるというようにして実装することが多いと思いますが、複雑な処理を実装するのは大変です。また、ゲームの種類によっては状況の分岐が膨大になり過ぎて書き切れなかったり、そもそもどのような処理を書くべきなのかが分からなくなってしまうこともあります。そうなると「AIの行動パターン作成を自動化できないか?」という発想が出てきます。人間...

Next.jsでNotionライクなリサイズ可能なサイドバーを実装しよう【株式会社ライトコード】

はじめにこんにちは! ふとNotionのようなリサイズ可能なサイドバーの実装方法が気になったので、調べたことをコードを交えてステップバイステップで実装し共有しようと思います。ステップ1 基本構造の作成今回は以下のようなUIのダッシュボードをSidebar / Navbar / MainContentコンポーネントを元に作成したいと思います。まずはこれら各コンポーネントの基本的なコードを実装していきます。src/app/page.tsximport MainContent from "@/components/MainContent";import Navbar from "@/compo...

4,974Followers
289Posts

Spaces

Spaces

エンジニア初心者向け記事

注目のストーリー

ライトコード技術記事

社員の声

フリーランス応援