JetBrains社が開発している Java VM や JavaScript 上などで動く、型の強いオブジェクト指向プログラミング言語。 以下の項目を設計目標に掲げている。
エラー防止の機能はよく働いており、Javaですっかりおなじみ「ぬるぽ」ことNullPointerExceptionがこの言語では意図的にプログラミングしないと出てくれないらしい…。
Swift: for i in 1..<5`` Kotlin: for (i in 1 until 5)
もしリストの先頭または末尾だけ操作する場合、ArrayDequeを使え!
スマレジの テックファーム(SES 部門) でWebエンジニアとして働いている やまて(@yamate) と申します。 実務では SES の派遣先で、テーブルオーダーシステムの機能改修業務の設計などを担当しています。(2022 年 3 月〜 2023 年 3 月末予定) 2023 年 1 月からは Flutter を実務で使用することになって、キャッチアップ中です。 はじめに この記事では、 Flutter の MethodChannel を使って Kotlin のコードを実行するサンプルアプリの実装手順をまとめます。 MethodChannel とは api.flutter.dev docs…
雰囲気でrepeatOnLifecycleを使ってきたんですが、ちょっと気になったのでrepeatOnLifecycleの内部処理を覗いてみます!
概要 DropBoxAPIを使用して、一覧を取得します。 開発環境 Mac OS 13.2 Android studio 2021.2.1 Patch 2 事前準備 develop-imonari.hatenablog.com DropBoxの認証画面を表示して認証します。 binding.buttonSign.setOnClickListener { this.context?.let { it1 -> // ブラウザで認証画面が開きます。 Auth.startOAuth2Authentication(it1, {drop_box_app_key}) } } 以下の画面が表示されます。そのま…
概要 kotlinでDropBoxのAPIを使用するための事前設定です。 開発環境 Mac OS 13.2 Android studio 2021.2.1 Patch 2 DropBoxでAPIを使用する準備 DropBoxDeveloperでappを作成 以下のページのcreate appボタンからappを開始します。 https://www.dropbox.com/developers/apps以下の内容を入力しcreate appボタンで作成されます。 作成されたらapp keyをメモしておきましょう。 後で使用します。 AndroidProjectの設定 DoropBoxのライブラリを…
val fruits = listOf("apple", "banana", "pear") fruits.forEachIndexed { index, fruit -> println(index) println(fruit) }
こんにちは。Androidエンジニアの伊藤です。 スギサポwalkという歩数計アプリの開発を担当しており今回は Jetpack Composeを導入したので、この取り組みについて書いていきます! Jetpack Composeとは なぜ導入しようと思ったのか どのように導入していったのか? 問題の解決 プロダクトへの導入方針 実際に導入した箇所の説明 連続ログインボーナス 画面構成について レイアウトについて 工夫した点 改善点 実際に導入してよかったこと 今後の課題 Jetpack Composeとは Jetpack ComposeはAndroidの新しいUIツールキットです。 宣言的UIと…
TL;DR gradle.kts利用の場合、引数をpluginsブロックで参照することはできないようだった 代替案としては、環境変数に設定 -> System.getenvで読み出す形式にするのが一番シンプルそうだった やり方 紹介する内容は以下からの抜粋です(余計なdiffが入ってしまっていますが、lint-and-test-main.ymlとbuild.gradle.ktsだけ見て頂ければ大丈夫です)。 Kotlinのバージョンが対象です。 github.com build.gradle.kts側の設定 環境変数から設定を取得し、取得できなければデフォルトを用いるように設定しています。 p…
TL;DR 自分が遭遇した問題の原因はorg.jmailen.kotlinterプラグインとKotlinバージョン間の互換性が無いことだった プラグインバージョンを確認するのが良いかも 起きたこと Kotlinプラグインのバージョンを1.7.21 -> 1.5.32に変更した所、Caused by: java.lang.NoSuchFieldError: KOTLIN_STAT_LABEl_PROPERTYでsyncが失敗するようになりました。 ログ・スタックトレースは以下の通りでした。 ログ・スタックトレース Execution failed for task ':prepareKotlin…
バージョン kotlin.version=1.8.10 compose.version=1.3.1 問題 以下のGoogle公式のBackspaceでページを戻るプラグインをCompose Multiplatform JS Wasmで使用していると、TextFieldでBackspaceを押すと前のページに戻ってしまいます。 https://chrome.google.com/webstore/detail/go-back-with-backspace/eekailopagacbcdloonjhbiecobagjci HTMLでの動作との互換性はComposeでは重視されていないようです。 h…
概要 こんにちは。サーバーサイドエンジニアの窪田です。 これまでの戦術的DDDについて以下のような記事で紹介してきました。 戦術的DDDをGoで実現する【entity編】 - Yappli Tech Blog 戦術的DDDをGoで実現する【Value Object編】 - Yappli Tech Blog Deep Moduleという観点から戦術的DDDのRepositoryの設計を考えてみた - Yappli Tech Blog 今回は戦術的DDDにおけるトランザクションの扱いについて注目します。 トランザクションは一見インフラ層の関心ごとなのでインフラ層で完結するように思えますが、DDDの…
はじめに ChatGPTの登場により、AIアシストを上手く使えるのとそうでないのとでは大きく生産性に差が生まれるようになってきました。 既存の業務・開発プロセスにいかにChatGPTなどのAIアシストを組み込めるかあるいは変革できるか、今は様々な領域で試行錯誤されている状況かなと思います。 私は現在Androidアプリを開発しているので、Androidアプリ開発にChatGPTを組み込みたいなと思っているのですが、そもそもAndroidアプリの開発環境であるAndroid Studioのプラグインを開発する知識がありませんでした。 AIアシストの導入方法としてはIDE向けのプラグインだけが唯一…
本日はタイトル通り 学習方法やモチベーションの維持に関してです。 この部分に関してはスクールなどの利用をお勧めします。 理由としては大きく2点です。 1 : 独学での学習では挫折する可能性が高い 2 : 一人での学習はモチベーションの維持が難しい 1に関しては、わからない部分をわからないまま進めてしまって 基礎の構築ができず挫折してしまう可能性があります。 そもそも環境構築がわからず諦めてしまったという話もよく聞きます。 2に関しては、同じ志を持つ仲間と学習することでモチベーションを高く保つことができます。 また、専属でカウンセラーやライフコート、アドバイザーなどが付くことが多いので、 相談し…
これは何? 山根が2023年度の目標を宣言する記事です。 スキルアップ加速させたいんや 山根は今28歳(2023年で29歳になる)のですが、日々仕事をしている中で、ここらでエンジニアとしての成長速度をブチ上げておく必要があると思いました。 「できたら良いな」ではなく、「最低限、ここまではやっておこう」の気持ちで、2023年度は以下の目標を達成します。 1.DBスペシャリスト資格を取る 2.TOEIC(R/L)800点 + TOEIC(S)140点 + TOEIC(W)140点を取る 3.ブログ更新を続ける 1. DBスペシャリスト資格を取る 2023年の秋開催される試験で、DBスペシャリスト資…
会社で12月の評価時に昇格となり、これまで担当してきた領域のテックリードそして4月からマネージャーとなることになった。まだまだ実力不足な点もあると感じているが、CTOから評価してもらっているというのは非常に嬉しいことであり、その信頼をもっと強固にできるよう精進していきたい。また、現在の仕事について基本的にはWeb開発をやっており、フロントエンドはReact, TypeScript、バックエンドはPlay, Scalaを使っている。また、Web開発とは別にデータ分析を行なっており、そちらではSQLやpythonを使っている。会社で扱っている技術スタック的にはアプリ開発があるためSwiftやKot…
次の特徴をもつプログラム言語及び実行環境であって,オープンソースソフトウェアとして提供されているものはどれか。 〔特徴〕 ・統計解析や機械学習の分野に適している。 ・データ分析,グラフ描画などの,多数のソフトウェアパッケージが提供されている。 ・変数自体には型がなく,変数に代入されるオブジェクトの型は実行時に決まる。 Go Kotlin R Scala 解答・解説 (adsbygoogle = window.adsbygoogle || []).push({}); 解答 ウ 解説 Go作成中 Kotlin作成中 R作成中 Scala作成中 参考書・問題集 参考情報 分野・分類 分野 テクノロジ…
こんにちは、システム開発三部長 兼 マネックス・ラボ長の上川です。 2022年度もそろそろ終わりますね。 先日子供の卒業式があったのですが、今年はもうすでに桜が満開でいい写真が撮れてよかったものの、おそらく4月の入学式シーズンにはもう散ってしまっていそうです。 今年は春が来るのが早い。 エンジニアブログを振り返る 年度末ですので、エンジニアブログの振り返り記事でも書こうかなと思ったら、昨年も同じことしていました(笑) blog.tech-monex.com 同じことを書いても仕方ないので、今回はよく読まれている記事をランキング形式で紹介しようかと思います。 2020年と2021年頃には別の人が…
こんにちは。倉内です。ITエンジニアとして働く上で、コンピュータサイエンスについて学びたいという方も多いと思いますが、独学では少しとっつきにくい分野でもあります。paizaラーニングでは、プログラミング言語(Python・Java・C#など)やWebアプリケーションフレームワーク(DjangoやLaravelなど)の学習講座だけでなく、情報処理技術者試験で出題される分野について学べる「情報処理入門」シリーズも公開中です。ブラウザ上で動画を見ながら学べるため、初学者の方でスムーズに学習を始められます。今回は、その中でもコンピューターシステムの基礎を学べる「情報処理入門 テクノロジー編」に新しく追…
運営を長年続けるうちに開発コードが膨大になり、身動きが取りづらくなる。大規模なサービスにはよくある課題です。しかし、根本的な解決に向けて大ナタを振るうには「痛み」も伴うため、なかなか踏み切れない、という企業も多いのではないでしょうか。リクルートでは今回、『ホットペッパーグルメ』と『じゃらん』という大規模サービスのアプリのリプレイスを実施。リプレイスに際して、Flutter、Kotlin Multiplatform Mobile(以後、KMM)という新しい技術要素を導入しました。Flutterは今やクロスプラットフォーム開発に欠かせないフレームワークとして磐石の地位を固めつつあります。一方、後発…
大した内容じゃないんだけどメモ。 [Gradleプロジェクトの文字化け] [コンパイル時の文字コード指定] [まとめ]
木曜日です。 Android労の日。 Android特有の実装が少ない部分だったのでやりやすかった。Kotlinそのものはいい言語なんだよな。 Rust会、SwiftUI会もありました。 Rust会は次回でようやく教材(公式チュートリアル)が終了の見込み。 チーム内でRust熱が高まっているので、同じ教材で2周目をはじめる予定。 同じ教材をまたやるのか、と思われるかもしれません。このRust会はRustに触れる時間を安定して確保するのが目的なので、内容はそこまでこだわっていません。 また、社内のRustやっていきの気運を高めるのも目的なので、そういう意味で誰でも参加できる教材のほうが望ましいと…
はじめに 現在、N予備校バックエンドチームでは、現行のRails製アプリケーションからKotlin製の新アプリケーションへ一部移行する計画を始めました。 N予備校サービス構成図 移行の主な対象は、上記の図の紫の部分の 教材管理サービス まわりになります。 移行の目的 今回の移行は、主に次の2つの問題の解決を目指しています。 DBスキーマを含めたモデルの再設計 N予備校はサービスの仕様が十分に固まらないうちから基本設計が開始されたため、必要以上の柔軟性を持つ形で設計されている部分も多く、現在の事業ドメインの知識がモデルで十分に表現されているとは言い難い面があります。 特にコンテンツデータ同士の参…
調べたら5年前にも入れていたのだけど3年前にシステムが壊れているのでその後入れてなかった。 今回はちょっとしたWidget作れないかなぁという動機だったのですが、やはりプレビューやエミュレートが遅い。ビルドも時間がかかる。IDE自体は思ってたより軽め。 ま、ちょっとKotlinに触れてみる。