カラビナテクノロジー デベロッパーブログのフィード

https://zenn.dev/p/karabiner_inc

株式会社 カラビナテクノロジーは「命綱や支点を素早く確実に繋ぐカラビナ。そんなカラビナのような役割をテクノロジーで実現したい」という想いのもと、福岡で設立。 主にシステム開発・アプリ開発・ Webサイト制作を行っています。採用情報→https://karabiner.tech/r

フィード

記事のアイキャッチ画像
Gsonにレスポンスを殺された日
カラビナテクノロジー デベロッパーブログのフィード
API通信周りの実装をリファクタリングしたらバグを埋め込んでしまったのでそこから得られた知見を共有したいと思います。 この記事で得られる教訓使っているJava製ライブラリについてKotlin製の代替があるならそちらに移行したほうがよいKotlinはJavaにはない機能があるため、Kotlinの実装は悪くなさそうに見えても予期しない振る舞いをとるケースがあるとくにデフォルトパラメータとかnon-null周り レスポンスを格納するdata classをリファクタリングしたとあるエンドポイントのレスポンスを格納しているクラスをリファクタリングしました。そのエンドポイントは...
1ヶ月前
記事のアイキャッチ画像
[調査記録] roborazziが自動生成したPreviewテストが失敗する
カラビナテクノロジー デベロッパーブログのフィード
諸注意業務で得た知見なので、記事のなかで示すコードは改変しています ./gradlew recordRoborazzi が正常終了しない!!https://zenn.dev/karabiner_inc/articles/4d939b478c5f40前回、roborazziを導入してはまった点についての記事を書きました。実はその裏でもっとはまっていたことがありました。それは、./gradlew recordRoborazziでスクリーンショットを撮ろうとしてもタスクが正常終了せずに、画像が出力されないというものです。 経緯とりあえず、roborazziが導入できるか...
2ヶ月前
記事のアイキャッチ画像
[備忘録] roborazzi導入してみた
カラビナテクノロジー デベロッパーブログのフィード
案件のアプリケーションにroborazziを導入しようとして、いろいろはまったところがあったので備忘録的な記録をします ゴールjunit5を使って単体テストを書いているプロジェクトにroborazziを導入できるようになるプレビューテストの妨げになるComposable関数が分かるようになる 依存を追加 // root-level build.gradle.kts plugin { // ...+ id("io.github.takahirom.roborazzi") version "1.29.0" apply false } //...
2ヶ月前
記事のアイキャッチ画像
正規化について勉強したことをまとめてみる 〜その2〜
カラビナテクノロジー デベロッパーブログのフィード
経緯こちらの記事の続きです。1つの記事にするには文章量が多すぎたため、2つに分けています。 対象者DB設計を勉強している、または興味がある人第1〜3正規形までを勉強済みの人(まだの方は、前回の記事を先に読んでみてください)ボイス-コッド〜第5正規形を勉強したい人達人に学ぶDB設計を読んだことがある、または興味がある人 記事の内容 この記事で書くことボイス-コッド〜第5正規形について(順番に章を分けてまとめます)また、以下はこの記事で扱うキーワードです。(前回の記事と同じなので飛ばしても大丈夫です)キーワードの定義以下のような表のことを「テー...
7ヶ月前
記事のアイキャッチ画像
Java SDKで作られたRealmのデータをKotlin SDKでマイグレーションする
カラビナテクノロジー デベロッパーブログのフィード
元々、アプリ内にデータを保存するためにJava SDKでRealmを使っていたのですが、アプリのアップデートでKotlin SDKに乗り換えることになりましたテーブルの内容も併せて変わるのでRealmのデータのマイグレーションが必要なのですが、いい感じにまとめられた記事が見かけられず、地味に詰まってしまったので、同志がいることを信じて残すことにしますちなみに、公式には上記のような感じのものはなかった様な気がしますJava SDKからKotlin SDKに乗り換えるときのコードの書き換えみたいなのはありました 環境 RealmJava SDK(ver:10.15.1)からK...
8ヶ月前
記事のアイキャッチ画像
正規化について勉強したことをまとめてみる 〜その1〜
カラビナテクノロジー デベロッパーブログのフィード
経緯最近、達人に学ぶDB設計という本を読みました。大変読みやすく、仕事中もすぐ手に取れる場所に置くぐらいには気に入っています。で、せっかく読んだのでアウトプットしたいと思まして、手始めに「正規化」について自分の言葉でまとめてみようと思います。もし筆が乗ったら他のトピックについても記事にするかもしれません。予定は未定。 対象者DB設計を勉強している、または興味がある人第1〜3正規形までを勉強したい人(これ以降は、長くなったので別の記事にします)達人に学ぶDB設計を読んだことがある、または興味がある人 記事の内容 この記事で書くこと正規化・正規形について...
8ヶ月前
記事のアイキャッチ画像
ライブラリをインストールせずにGoogle Sheets APIを使いたい
カラビナテクノロジー デベロッパーブログのフィード
タイトルの通り、ライブラリをインストールせずに、エンドポイントのみを使ってスプレッドシートの生成や編集をやってみようと思います。これをやることになった経緯とあるローコードプラットフォームで開発することになったスプレッドシートの生成や編集をしたい。エクスポートなんかもできると◎(エクスポートはGoogle Sheets APIだけでは不可能でした)Google Sheets APIというのがあるらしい!早速使おうとしたが、なんと使用していたプラットフォームではライブラリのインストールどころかファイルのアップロードすら不可能だったGoogle Sheets APIなら、エンドポ...
1年前
記事のアイキャッチ画像
ChromiumブラウザでもChrome拡張でGoogleログインしたい
カラビナテクノロジー デベロッパーブログのフィード
はじめに社内向けのChrome拡張を作っていて、ちょっとGoogleカレンダーの情報を引っ張ってくる機能が作りたくなってGoogleログイン機能を実装してみました。その時は chrome.identity.getAuthToken() を使っていたのですが、これがどうやらChrome限定の模様。最初はそれでもいいかと思ってそのままにしてましたが、僕のメインブラウザがArcなので、そのために毎回Chromeを起動するのもめんどくさくなりました。やっぱり普段使っているブラウザで使いたい!というわけでいろいろ調べた結果をまとめておきます。!社内限定公開にするため、ストアで公開...
1年前
記事のアイキャッチ画像
Android Studioでのビルド時のジャーナルファイルロック絶対回避するマン
カラビナテクノロジー デベロッパーブログのフィード
! changelog2023/11/19スクリプトが間違っていたので修正しましたkillall -9 java → killall -9 java || true※ ジャーナルファイルが存在しなかったときに処理がシェルスクリプトで終っていたAndroid Studioでの開発中に「さてビルドして動作を確認しよう」と思ったときにこのようなログが出力された経験はないだろうかGradle could not start your build.> Cannot create service of type BuildSessionActionExecutor usi...
1年前
記事のアイキャッチ画像
文章力を鍛えて良いブログ記事が書きたい
カラビナテクノロジー デベロッパーブログのフィード
もっと「良い」記事が書きたいみなさん、自分が書く記事に満足していますか。僕はしていません!!!出来上がった記事はもちろん、記事を書く過程も大変不満足です。「テーマはあるけど構成がなかなか思い浮かばない・・・」「書き始めたけど文章にまとまりがない気がする・・・」「ここ、本当にこの表現で伝わるのか・・・?」「文章が稚拙だ・・・もっと賢い(?)文章が書きたいな・・・」などなど。ブログを書き始めて10ヶ月。Zennでの技術記事や個人サイトの趣味記事など20本近く書いてきましたが、毎回こんなふうに悶々としながら記事を書き上げています。いい加減にスラスラ書けるようになり...
1年前
記事のアイキャッチ画像
DroidKaigi 2023 初参加レポート
カラビナテクノロジー デベロッパーブログのフィード
今年のDroidKaigiは現地参戦したのでそのレポートをします 協賛ブース協賛ブースでは各社さまざまな展示がされていましたとくに印象に残ったブースを紹介させていただきます LINE今年もCode Review Challengeが行われていました私はDay1に1問、Day2に2問チャレンジしました不要なものや単純なタイポなどはすぐに見つけられましたがCoroutineのDispatcherに関する指摘やdata classに入れるべきでない型などはそもそも知らなかったり、想定回答を見てようやく理解するものばかりでした自分のヨワヨワ具合を痛感させられるいい機会だったの...
1年前
記事のアイキャッチ画像
AstroとNewtを使ってブログサイトを作る③
カラビナテクノロジー デベロッパーブログのフィード
AstroとNewtで個人ブログを作成する記事の第三回目になります。第一回- Astroとは?Newtとは?- チュートリアルの紹介- 使ったテンプレートの紹介第二回- サイトの構築手順第三回- サーバー構築手順- デプロイ→サイト公開!今回は、ローカルで作ったサイトをサーバーにデプロイして公開する作業をやっていきます。第一回目と第二回目の記事はこちら!https://zenn.dev/karabiner_inc/articles/b9b1d1c85bf1d2https://zenn.dev/karabiner_inc/articles/5bd7bd884...
1年前
記事のアイキャッチ画像
AstroとNewtを使ってブログサイトを作る②
カラビナテクノロジー デベロッパーブログのフィード
AstroとNewtで個人ブログを作成する記事の第二回目になります。第一回- Astroとは?Newtとは?- チュートリアルの紹介- 使ったテンプレートの紹介第二回- サイトの構築手順第三回- サーバー構築手順- デプロイ→サイト公開!今回は、サイトの構築手順について書いていきます。第一回目と第三回目の記事はこちら!https://zenn.dev/karabiner_inc/articles/b9b1d1c85bf1d2https://zenn.dev/karabiner_inc/articles/627fcc601445a7作ったブログサイトはこ...
1年前
記事のアイキャッチ画像
AstroとNewtを使ってブログサイトを作る①
カラビナテクノロジー デベロッパーブログのフィード
Astro(フレームワーク)とNewt(CMS)で個人ブログサイトを作って、結構サクッとできたので実装〜デプロイまでの手順をご紹介しようと思います。ちなみに、作ったブログサイトはこれです。良ければ覗いていってください^^https://blog.romy-will-become-dragon.com/さて、この記事ではこんな感じのことを書きたいと思っています。- Astroとは?Newtとは?- チュートリアルの紹介- 使ったテンプレートの紹介- サイトの構築手順- サーバー構築手順- デプロイ→サイト公開!全部を1つの記事にするのは読む方もしんどいと思うので、3回く...
1年前
記事のアイキャッチ画像
フルスクラッチ開発をFlutterで開始した
カラビナテクノロジー デベロッパーブログのフィード
大体1年半前から仕事でFlutterを本格的に使っている(数年前もちょっと使っていた)ので、そのあたりで記事を書こうと思っています基本的にはFlutter中心の技術記事なりますが、ちょこちょこそうじゃない箇所もあるかもしれないですが、許してくださいなお、技術的な部分以外はすべてフィクションなので、「あれ、今自分がいるチームと似ている・・・?」というのはすべて勘違いです まとめFlutter自体は良いものだった特に、開幕は開発メンバーが少なかったので、1つのコードで2つのOSで動かせる分、開発工数が効果的に減らせたOSごとの動作差分が(開発している限りでは)出てこなかった...
2年前
記事のアイキャッチ画像
EC CUBEのPHPUnitテストをインメモリDBのSQLiteで実行する
カラビナテクノロジー デベロッパーブログのフィード
タイトルの通りですが、インメモリのデータベースを使ってテストを実行します。最初、ググった通りにやっても上手くいかなくて苦戦したので、備忘録がてら手順をまとめていきます。 対象者EC CUBEのPHPUnitテストを、インメモリのデータベースを使って実行したい方一部、EC CUBE固有のファイルが出てきますが、Symfonyを使っていれば大体同じ手順でできると思います 動作環境・前提バージョンMac12.xPHP7.4.33SQLite3.37.0Symfony5.4.21EC CUBE4.x 早速実装して...
2年前
記事のアイキャッチ画像
Main.storyboardの削除作業を自動化する
カラビナテクノロジー デベロッパーブログのフィード
はじめにMain.storyboardの削除作業をシェルで自動化してみました。(補足)かなり無理やりな実装をしている箇所があります。最後の注意事項を読んでから実行してください。 実装方針Main.storyboardを削除プロジェクトファイルを編集し、Xcodeからの参照を消すInfo.plistを修正するSceneDelegateで初期画面を設定する 実装#!/bin/bash# Main.storyboardを削除current_dir=$(basename "$(pwd)")cd $current_dir/Base.lprojrm Mai...
2年前
記事のアイキャッチ画像
Yamlコンポーネントを使ってみる
カラビナテクノロジー デベロッパーブログのフィード
YamlコンポーネントについてSymfonyの公式Docsでは次のように説明されています。Symfony Yaml コンポーネントは、YAML 文字列を解析して PHP 配列に変換します。PHP 配列を YAML 文字列に変換することもできます。YAML文字列というのは、以下のようなやつです。"hoge: fuga"Yamlコンポーネントを使うことで、このYAML文字列を以下のようなPHP配列に直すことができます。['hoge'=>'fuga']拡張子yamlのファイルを使って書くと、もうちょっと綺麗に書けます。sample.yamlhoge: fuga...
2年前
記事のアイキャッチ画像
JSTQB(Foundation Level)を勉強してみた話 その1/「テストの7原則」とは?
カラビナテクノロジー デベロッパーブログのフィード
概要ソフトウェアテストの勉強をしている中で、JSTQB認定テスト技術者資格があるのを知りました。そのシラバス内に「テストの7原則」が記載されており、テスターとして業務する上で絶対に知っておくべき内容だと思ったので、自分の知識を定着させる意味でもまとめておきます。 この記事の対象者・ソフトウェアテスト関連の業務をされている方・ソフトウェアテストを勉強中の方・JSTQB認定テスト技術者資格に興味がある方 JSTQB認定テスト技術者資格とは?まずJSTQB(Japan Software Testing Qualifications Board)とは、日本におけるソフトウェ...
2年前
記事のアイキャッチ画像
QueryBuilderのExprクラスでandXとorXを使ってみる
カラビナテクノロジー デベロッパーブログのフィード
備忘録です。QueryBuilderのexprというメソッドでExprクラスのインスタンスを作ることができます。$expr = $this->getEntityManager() ->getRepository(Product::class) ->createQueryBuilder('p') ->expr();こんな感じ。これで作ったExprクラスのインスタンスには、SQLの=やlikeに対応したメソッドがたくさん用意されています。今回は、その中のandXメソッドとorXを使った検...
2年前