JetBrains社が開発している Java VM や JavaScript 上などで動く、型の強いオブジェクト指向プログラミング言語。 以下の項目を設計目標に掲げている。
エラー防止の機能はよく働いており、Javaですっかりおなじみ「ぬるぽ」ことNullPointerExceptionがこの言語では意図的にプログラミングしないと出てくれないらしい…。
おでんチーム(管理画面リメイクチーム)の向後 宗一郎です! 主にWallet Station管理画面の改修を行っています! 最近マッチングアプリを使い始め、性格診断をしたら「縁の下の力持ち」という結果でした! チームメンバーからも異論なし。最近のマッチングアプリの凄さを実感しました笑 さて、今回は「Wallet Station管理画面の自動テスト(E2Eテスト, インテグレーションテスト)でCucumberを採用した」ことについて話します! Cucumberとは 公式ドキュメントを参考に紹介します。 Cucumberとはビヘイビア駆動開発(BDD)をサポートするツールです。 ※ 今回はBDDに…
アプリビルド時に以下のエラーが発生。 文を読む限り、gradleファイルに記載しているバージョン番号が見つからないよということらしい・・・Could not find android.arch.navigation:navigation-fragment-ktx:2.5.3. Required by: project :app Search in build.gradle filesとりあえず最新版を適用すればいいかと思い「android.arch.navigation:navigation-fragment-ktx」でググって出てくるページで案内されたバージョン番号に書き換たが直らず。 上記…
アプリのビルド時に下記エラーが出ました。 minimum supported gradle version is 6.7.1. current version is 6.5. ググると、distributionUrlの値を6.7.1にしろという方法がありましたが、 修正してTry Againしても解決せず・・・ 試行錯誤して、一度AndroidStudioを閉じて、起動し直したら無事反映されたようで、ビルドできました。 Try Againは罠だった。
概要 入力フォームを Spring Web MVC の Annotation Controllers で実装しているときに、 @ModelAttribute と @SessionAttributes を使ったところ、すんなりと上手くいかない部分がありました。 そこで、起きた問題と解決策を記事に書きました。 前提 Java 17 Kotlin 1.7 Spring Boot 3.0 プロジェクトを作るときに spring-boot-starter-web と spring-boot-starter-thymeleaf を依存ライブラリとして追加しました。 結論 @SessionAttribute…
これはなに? Androidで画面遷移するための知識整理・Tips IntentとActivityによる起動のみです 公式サイトもある程度参照してます Fragmentとかの話はまた別途... こちらの本の第7章「画面遷移とIntentクラス」の内容を自分なりに整理した内容となります。 (+α) 起動ロジックは呼び出される側においた方が良くね?という話 目次 これはなに? 目次 Androidの画面遷移は"遷移"ではない 新画面作るのに必要なもの・手順 layout用xml Activityクラス AndroidManifest.xml Intent 起動ロジックは呼び出される側に閉じた方がい…
ドーモ、jollyjoesterです🙏 これはSwiftKotlin愛好会アドベントカレンダー 2022の25日目の記事です。 今年Swift愛好会は7周年、Kotlin愛好会は4周年を迎えました👏 そんな愛好会の1年間の振り返りをお伝えします。 SwiftKotlin愛好会とは? レベル、経験等不問で、Swift/Kotlinが好きな人が集まってわいわい楽しむ会です。 Swift愛好会 Kotlin愛好会 基本的にSwift愛好会、Kotlin愛好会、SwiftKotlin合同開催のいずれかを月1回開催するようにしています。 2015年11月に初回を開催して以降、Swift愛好会はこれまで7…
この記事はSpring Advent Calendar 2022の20日目の記事になりました。 qiita.com 前書き こんにちは、justInCaseTechnorogiesでバックエンドエンジニアをしている宮田です。 弊チームでは、Spring WebFlux(Kotlin Coroutines) x R2DBCのマルチモジュールプロジェクトで、Row Level Securityを有効にし、かつ効率的に開発を行うための基盤を作成しました。 この記事ではその中で得た知見についてまとめます。 技術スタック PostgreSQL 13 SpringBoot 2.7.3 Kotlin 1.7…
システム開発部アプリケーションエンジニアの工藤です。 今回は、マイクロアドのWebアプリ開発における社内標準化の動きとその策定内容について、簡単に紹介したいと思います。 課題 同好会の立ち上げ 策定内容 Vueの自動テストフレームワーク タイポグラフィー Javaのスタイルガイド Kotlinのスタイルガイド 策定する際の試行錯誤 採用基準 検討・導入コストを下げるための施策 効率的に進めるために 今後の展望 募集 課題 Webアプリプロダクトに注力する機会があることで、チーム内・外のメンバーが様々なWebアプリプロダクトに触れることが度々あります。 その際、そのプロダクトの立ち上げ時期が大き…
この記事はエムスリー Advent Calendar 2022 12日目の記事です。 エンジニアの星川 (id:oboenikui) です。以前はAndroidアプリを書いてましたが、現在はサーバーサイドKotlinを書いています。 Kotlinといえば、Kotlin Festが12/10にありましたがご覧になったでしょうか? 弊社はひよこスポンサーで協賛しており、また私自身は運営スタッフとして参加しました。 まだご覧になっていない方は、アーカイブをぜひご覧ください。 閑話休題、Kotlinを開発しているJetBrains社が、最近Pythonの人気ライブラリやツールを意識したKotlinライ…
ExposedのDAO APIを使って次のようなモデルを定義してみる。 object Posts : UUIDTable() { val text = varchar("text", 144) val createdAt = datetime("created_at") } class Post(id: EntityID<UUID>) : UUIDEntity(id) { companion object : UUIDEntityClass<Post>(Posts) var text by Posts.text var createdAt by Posts.createdAt } この時ページ…
Google が終わる!時代が変わる!なんて大騒ぎされている ChatGPT どんなもんかと使ってみた時のメモ 結論としては今のところ遅すぎるから使い物になんねぇなと言う感じ 速くなったら凄まじいものになりそうな雰囲気に満ち溢れてはいる「プロレスの魅力を教えて」の回答結果が以下だ プロレスは、観客を魅了する多くの要素を持っています。以下はプロレスの魅力のいくつかを示します:スリル: プロレスは危険な技やピンチのシーンがあり、観客を緊張させます。ドラマ: プロレスには物語性があり、試合中に試合前のストーリーが展開されます。演技: プロレスラーたちは見事な技やトリックを披露し、観客を魅了します。エ…
今回は、Data Binding でレイアウトとリスナーメソッドをバインドする方法を解説します。 なお、ここに掲載しているソースコードは以下の環境で動作確認しています。 Android Studio Electric Eel | 2022.1.1 Patch 1 JDK 11.0.15 Android Gradle Plugin 7.4.1 Kotlin 1.8.0 Gradle 7.6.0 androidx.lifecycle 2.5.1 Data Binding でリスナーメソッドのバインド 前回、Data Binding でレイアウトと StateFlow で保持する状態をバインドする方…
こんにちは。 開発部第1グループ、Android担当の沓名です。 Androidの開発において、言語としてKotlinを選択することは今やスタンダードになっています。 JavaからKotlinに変わり、色々と快適になったと思える要素はありますが、その中でも、各種Collection関数は本当に便利だと個人的に感じています。 その名の通り、リストやコレクションの各要素に対する操作を容易に行うために用意されている関数ですが、とにかく数が豊富で様々なシチュエーションに対応できるようになっています。 今回はそんなCollection関数について紹介できればと思います。 Collection関数の簡単な…
株式会社ヘンリーでSREをやっているTODA(@Kengo_TODA)です。弊社ではGoogle Cloud Platform(GCP)を活用してサービスを構築しており、またサーバサイドにはKotlinを利用しています。Cloud Runで動くJVMサービスの監視にログベースの指標が便利だったので紹介します。 何をもってJVMで駆動するサービスを「メモリが足りていない」と判断するか Cloud Runのメモリ監視で最も利用しやすいのは、Cloud Monitoringでメモリ利用率などを見ることでしょう。次に示す図のように、サービスごとのデータを取ってグラフ化できます。 図1 メモリ利用率をプ…
抱負が1月を過ぎてしまうスタイル...(いいわけ) さて振り返りシリーズの最後は、2023年の抱負や目標のようなものを未来の自分用に書いておこうと思います。
前回のふりかえり 【ふりかえり】2022年8月 - B-Teck! 夏頃以降気力がなくて何もできていなかったけど、回復してきたので色々再開し始めています。 とりあえず毎月ふりかえりを書けるくらい何かをしたい。 Input・Output ブログ MacBook Airを買い替えたので設定の覚え書き - B-Teck! 【本】人事と採用のセオリーを読んだ - B-Teck! 仕様書について考えてる - B-Teck! 本 イシューからはじめよ――知的生産の「シンプルな本質」 人事と採用のセオリー 勉強会 "良い開発体験"を提供するスタートアップ3社に迫る! - connpass 趣味とかその他 本…
今回は、Data Binding でレイアウトと StateFlow をバインドする方法を解説します。 なお、ここに掲載しているソースコードは以下の環境で動作確認しています。 Android Studio Electric Eel | 2022.1.1 JDK 11.0.15 Android Gradle Plugin 7.4.0 Kotlin 1.8.0 Gradle 7.6.0 org.jetbrains.kotlinx:kotlinx-coroutines-android 1.6.4 androidx.lifecycle 2.5.1 Data Binding と StateFlow 画面…
何となく実験してみたのでメモ。 [やりたいこと] [やってみた] [まとめ]
2023年1月の振り返り こんにちは。 寒すぎ電気代高すぎ生活で舞い踊りそうになります。振り返りしてきます。 2023年1月の振り返り 🤔 2023年1月の所感 📝 学習 学習時間 月に一度勉強会に参加する インプット アウトプット 🧹 生活習慣 1. 運動 2. 文化系 1月のアクションの振り返り 👈 いつも通りのアクション OKR 1月の目標 1月の振り返り 👉 2023 年 2 月へのアクション 生活習慣のアクション OKR OKR 自体の改善 🧘 最後に 🤔 2023年1月の所感 「気分の浮き沈みが激しい1ヶ月だった」 月初めは正月明けということもありリフレッシュできていましたが、今月…
2023年2月2日になりました。今年は残り333日です。あと91.2%です。— 今年の残り日数 (@remaining_days) 2023年2月1日 ということで、2月2日で今年の8.8%が終了した。明日になればちょうど9%が終わる(有効桁数3桁の場合)。 それだけの時間がたったなら、今年の目標の達成率も9%くらいはいっていてほしいものである。 ということで、それをチェックしてみよう。 たぶん、はてなブログ界でトップクラスに早い2023年振り返り記事だと思う。 shatsutosokks.hatenadiary.com 今年の目標は 日記(このブログ)を毎日更新する 語学系の資格を追加で3個…
TOC なぜ Go 言語で CLI ツールを作るのか 作り方 サブコマンドを取らない場合 サブコマンドを取る場合 cobra の使用例 urfave/cli 実際にやってみる setup 初期化 サブコマンドの追加 注意点 なぜ Go 言語で CLI ツールを作るのか 以下の 4 点がぱっと思いつきますね。 作ってて楽しい クロスコンパイル可能なので、複数プラットフォームへの対応が容易 コンパイラ言語であるためそこそこ性能がでる 作ってて楽しい また、みなさんがよく使ってるコマンドも、実は go でできてた、なんてことも多いと思います。 作り方 主に『サブコマンドを取る形式にするかどうか』で大…
エキサイト株式会社メディア事業部エンジニアの佐々木です。HTMXは、React.jsやVue.jsなどの大きいフロントエンドフレームワークを用いることなく、SPAのような仕組みを提供してくれるライブラリになります。 htmx.org HTMXとSpringBoot Thymeleafを使用して、簡単なサンプルを作ってみます。 動作確認環境 SpringBoot側のコード HTML 実行 まとめ 最後に 動作確認環境 動作確認環境としては下記になります。 Java $ java --version openjdk 17.0.1 2021-10-19 OpenJDK Runtime Environ…
概要 最近、サーバサイドKotlinを触り始めていて、データベース管理のライブラリにJetBrains製のExposedを使っています。 Exposedの使用方法として大きくDSL方式とDAO方式の2種類あるのですが、この使い分けについて個人的な悩みがあったので記載しました。 https://github.com/JetBrains/Exposed 結論 データベースレイヤーとアプリケーションレイヤーを切り分けて管理したい場合は、DSLを中心に使う アプリケーションレイヤーでデータベースについて管理しても問題ない場合は、DAOを中心に使う ドキュメント Exposedのドキュメントはgithu…
そういえば、ずっと*1書きかけだった、こんなタイトルの記事があったのだけれど、なぜか書き進められずに放置していた。 だが、最近ずっと取り組んでいるFlutterがらみのネタも溜まってきたので少し昔に思いを馳せながらなにか書いてみようと思い立った。 時は2018年にさかのぼる 「スマホ」というモノを持つようになってかなりの年数が経ちました。とは言うものの、確か持ち始めたのは(DocomoのBlackberryが最初ですが)2010〜11年頃だったかと思います。その後、メインで使っていたauの回線もスマホにし、それ以来ほぼ(初期の頃にガラケーに戻していた頃もあったのですが)スマホを持って行動してい…
エキサイト株式会社メディア事業部エンジニアの佐々木です。JVMでJSONを扱うときのライブラリであるJacksonのフィールド名の規則を定義します。 環境 UpperCamelCase のときのJacksonの設定 SnakeCase のときのJacksonの設定 キャメルケースやスネークケースが混在する場合 まとめ 最後に 環境 Javaバージョン $ java --version openjdk 17.0.1 2021-10-19 OpenJDK Runtime Environment (build 17.0.1+12-39) OpenJDK 64-Bit Server VM (build…