JetBrains社が開発している Java VM や JavaScript 上などで動く、型の強いオブジェクト指向プログラミング言語。 以下の項目を設計目標に掲げている。
エラー防止の機能はよく働いており、Javaですっかりおなじみ「ぬるぽ」ことNullPointerExceptionがこの言語では意図的にプログラミングしないと出てくれないらしい…。
github.com greadle.propertiesを弄る ビルド・テストで全コア使われると他アプリの動作が重くなるので、kotlin.test.junit5.maxParallelForksを全コア数 - 最低限確保したいコア数にしていいかも。 以前はJDK7以前を無視するオプションも有ったがいつの間にか消えていた。 テスト周り 変更 kotlin-reflect関連はcompiler/testData/codegen/box/reflectionに有る。 特にテスト追加のような変更後はgenerateTests(IDEに保存されている内だとGenerators -> Generate…
はじめに こんにちは、新卒2年目の菊池(akikuchi_rks)です。 近年、Androidアプリ開発のみならず、サーバーサイドの開発言語としてもKotlinが急速に注目を集めています。私自身もKotlinを使ってサーバーサイドの開発を行っており、豊富な機能やシンプルな文法に魅力を感じています。 Kotlinを使用していて特に感じるのは、そのコレクション関数の充実性です。コレクション操作はプログラミングにおいて頻繁に行われるため、これらの関数が豊富であることはKotlinの特長のひとつと言えると思います。 また、これにラムダ式を組み合わせることで、よりシンプルで効率的なコーディングが可能とな…
以下のように、additionalPropertiesのtypeを指定すると、値の型を変えられます。 例ではstringを指定しているので、Kotlinで生成した場合Map<String, String>になります。 type: object additionalProperties: type: string type: integerにすればMap<String, Int>になりますし、type: stringのままformat: uuidにすればMap<String, UUID>になります。
非日常生活に入る前に 下書きをしていた記事があったことを思い出しました ARにハマっていて勉強中だったのに…すっかりリセットされてしまいました また日常に戻ったら1からやり直しかな(悲) その時のために まとめたものをアップしておきます 以前アップしたUnityのスマホをタップしてコダックを召喚 everydayisagoodday.hatenadiary.com これのAndroid Studio版ですAndroid StudioでもARアプリができるはずなのでいろいろ調べながら挑戦してみました が うまくいかず保留にしようかと思い始めた頃この記事に遭遇 qiita.com 解説通りにやって…
こんにちは、モバイル開発チームのhyoshです。 弊社では各分野の特定のテーマに沿ってエンジニアが議論する「TechCafe」というイベントを定期開催しています。 PHPTechCafe フロントエンドTechCafe そして先日私を含めた弊社モバイル開発チームが初となる「モバイルTechCafe」を開催しました! rakus.connpass.com 本ブログでは開催までの準備過程や当日の内容についてレポーティングさせていただきます。 TechCafeについて 準備編 テーマ選定 参加者選定 打ち合わせ 当日編 紹介したイベント 複雑さに立ち向かうためのコードリーディング入門 認証体験向上の…
ふと、Android で動作するデジタルアートを作りたいと思い立ち、衝動に身を任せて簡単なものを作った。そのとき学んだことを、忘れっぽい自分のためにメモしておく。 開発環境はAndroid Studio Electric Eel 2022.1.1 目次 準備 - アニメーション - ブレンドモード 本編 - クリエイティブコーディング アニメーション 一定時間ごとに、onDraw()を呼び出せば良い。invalidate()を使えば、onDraw()を強制的に呼び出すことができる。 Handlerを使う方法もあるが、今回はTimerAnimatorで実装してみる。 import ... //省…
むおおおお! 久しぶりに個人ブログを更新したけど、 個人的に脳内を整理するために書き散らしたエントリなので役に立たないかも。 Kotlin Flowを勉強する場合、例えば以下のサイトを流し読む方が役には立つハズ… 勉強するときに見たサイト Android での Kotlin Flow | Android Developers StateFlow と SharedFlow | Kotlin | Android Developers もう迷わないCoroutines(記事版〜余談編〜) Kotlin Coroutines Flow とは。 #Kotlin - Qiita StateFlowの深堀り…
昨日からの続きです 今日は各ボタンをタップした時の処理を編集します // カラーチェンジメソッド fun ChangeColor(colorSelected: String) { when (colorSelected) { "black" -> color = Color.BLACK "red" -> color = Color.RED "blue" -> color = Color.BLUE } paint!!.color = color } // clearメソッド(初期化とキャンバスクリア) fun Clear() { pathList.clear() colorList.clear(…
はじめに 株式会社スペースリー iOSエンジニアの樋川です。 普段は弊社サービスの、物件の撮影を補助/管理するアプリのiOSの開発をしています。 現在、モバイルアプリチームはマネージャー1人、iOS/Android 2名ずつの計5名の構成となっています。 今回は、モバイルアプリチームで行っているモバイルLT会について紹介したいと思います! LT会が始まった経緯 OSを横断して知識を共有する コミュニケーションを増やす 上記2点の機会を増やすために始まりました。 特に完全リモートワークの中で、チーム内のコミュニケーションの重要性が高まっています。 開催方法 頻度は隔週水曜日に1時間ほどです。 発…
今日は手書きメモアプリの描画するクラスCustomSurfaceViewを作成します CustomSurfaceView.ktを編集していきます import android.content.Context import android.graphics.Bitmap import android.graphics.Bitmap.CompressFormat import android.graphics.Bitmap.createBitmap import android.graphics.Canvas import android.graphics.Color import android…
今日の学び 今日はKotlin系の学びが多かった。 zenn.dev zenn.dev 明日もバックエンドの実装をするので、Kotlinのアレコレについて気になったら調べていく。 KotlinではないがJVMのヒープメモリについて疑問が生まれているので、これが明日の学びになりそう。 日記 今日の学びシリーズを始めるに当たって、業務用PCからでもメモをかけないか試行錯誤していた。 が、個人アカウントでのGoogleログインが禁止されているため(こちらからは物理的に不可能)、Zennにログインすることができない。よって、Scrapを使えない。 「↑で書いとるやないか」と思われるかもしれないがこれが…
状況 大量のUUIDを指定したin句を発行する際に、メモリ消費量が問題になりました。 見たところ、jOOQではUUID1件当たりcast('b81b8735-6ac8-4b0b-a969-658e70425616' as uuid)みたいな形のクエリになってしまうことが原因のようでした。 対処 応急処置として、以下2点を満たす省メモリ化されたin句を発行するためのカスタム実装を行いました。 cast文無し UUIDのハイフン無し サンプルコード Kotlinかつ一部余計な処理が入ってますが、要するに${取得対象カラム} in (b81b87356ac84b0ba969658e70425616,…
Exposedは、JetBrainsによって開発されたKotlin専用のORMライブラリとのことです。 Android以外の環境であって、Roomが使えない場合に使いたいと思いました。 kotlinのORMライブラリで、定番で軽量のものがあれば教えてください。 Exposedの歴史と、他の類似ライブラリとの比較もお願いします。 Exposedの使い方を教えてください。 update()の引数に、条件式のブロック{ Users.id eq 1}がありますが、このような条件式について詳しく教えてください。 フィールドの指定にUsers.ageのような表現を用いていますが、これはどのようなオブジェク…
RakeはRubyビルドツールで、MakefileのRuby版です。 あるプログラムを別のプログラムの後に実行したいといった、順序を制御したい場合、あるプログラムが別のプログラムの生成ファイルの存在を前提とする場合など、異なるタスクをつなぎ合わせて機能させたい場合に利用できます。 あまり知られていない気がしますが、日常用途でもかなり使えます。たまに使おうとして、使い方を忘れていて困ることがちょくちょくあるので、ChatGPTに聞きました。 RubyのRakeの使い方を教えてください。 namespaceとタスク名を指定するにはどうすれば良いのですか? どのタスクにも依存しないタスクは、明示的に…
Gradleをインストール https://gradle.org/install/ ダウンロードして適当なフォルダに置く。 binの場所システム環境変数pathに追加。 Gladle作成 Windows10にGradleをインストール #Windows10 - Qiita gradle init --type=kotlin-application 質問に答えてく。 これでフォルダ構成の雛形が出来る。 拡張機能をいれる Extension Pack for Java Extension Pack for Java - Visual Studio MarketplaceKotlin Kotlin …
プログラミング初心者と称することさえ躊躇う、経験値0人間の学習記録です。 学習サイト developer.android.com kotlinとは? 2011年に発表されたAndroidアプリ開発向けのプログラミング言語。 Kotlinで作られたアプリで有名なものとしては、『LINE』、『Yahooニュース』などがあり、Kotlinでゲーム開発なども可能です。 自分がkotlinを学習する理由は、使ってるスマホがAndroidということと、漠然とした「なんかアプリ作ってみたい」という気持ちによるもの。結構難易度は高いらしい。 何はともあれ、早速進めていきます。 Happy Birthday ア…
ふと、「再帰」のことが気になり、ChatGPTにいろいろ聞いていたところ、KotlinのWebサーバーフレームワークKtorの使い方の話に行き着きました。 Kotlinでコードを書く際は特に関数型プログラミングの知識が必須というわけではないのですが、徹底しようと思えば相当純度の高い関数型プログラミングが出来るようになっています。 Ktorというライブラリなどはその一例かも。 特に今、差し迫った必要があるわけではないのですが、少し興味があります。 プログラミングにおいて、再帰という手法が重要な理由を教えてください。コード例はRubyでお願いします。 関数型プログラミングの書籍に再帰の説明が多く記…
仕事で成果を出したい、キャリアアップしたい、もっと充実した人生を送りたい… そんな思いを抱く方、たくさんいらっしゃいますよね。 いろいろと調べて、「プログラミング」にいきついた方、必見! この記事では、 プログラミングとは何か スキルアップの中でもプログラミングがおすすめな理由 プログラミングに必要な具体的なスキル4つ について詳しく解説します。 この記事を読むことで、 プログラミングの必要性と重要性を理解 自分に合ったプログラミングスキルを身につける方法を見つけ 一歩踏み出すための勇気を持てる ようになります。 さあ、一緒にプログラミングで夢を叶えましょう! 1. プログラミングとは何か 2…
android.util.Logを用います。 Android, Kotlinで開発を行う場合のログの取り方の標準的方法を教えてください。 ログレベルの使い分けの指針、及び、設定ファイル等を用いたログレベル設定について、標準的方法があれば教えてください。 buildConfigFieldとは何ですか? releaseとdebugはどう違うのですか? release build, debug buildを行う方法をそれぞれ教えてください。 開発中のビルドは全てデバッグビルドと考えても良さそうですね。ビルドの際の、普通の「実行」と「デバッグ」とはどちらもデバッグビルドということでよろしいですか? A…
Kodeinの使い方でよく分からないものについて聞いてみました。 Kodeinのオブジェクトで、DI{..}で生成されるものとKodein{..}で生成されるもので違いはありますか? あと、KodeinAwareインターフェースの使い方も教えてください。 import()はKotlinの標準ライブラリのメソッドですか? KodeinAwareインターフェースを継承することで使用可能になるメソッドを教えてください。 import()もdiのメソッドですか? private val myDependency: MyDependency by instance()のinstance()はdiのメソッ…
ニート生活最高!
こんにちは、電通総研、Xイノベーション本部 AIトランスフォーメーションセンター所属の徳原光です。 普段は、主にPythonでPandasを使ってデータ分析やAI学習・推論のための特徴量を生成を行っていますが、最近KotlinでKotlin DataFrameを操作してデータ処理を実装する機会が増えました。 これまでローカル上で開発してきた機械学習モデルをONNXを使ってアンドロイドスマホで利用するために、スマホ上で動く前処理のコードを実装しているのですが、Kotlinを開発しているJetBrains社が開発しているKotlin DataFrameはデータサイエンスに必要な基本的な処理をサポー…
Kotlin Fest 2024が約5年ぶりにオフライン形式で開催されるそうです。そんなKotlin Fest 2024に「今までのKotlin Standard Libraryの追加APIを眺めてみよう」というタイトルでプロポーザル(セッション登壇申し込み)を送りました。 fortee.jp Kotlinと自分 Kotlinとの最初の出会いは、2013年の秋「JavaのコミュニティーイベントJJUG CCC 2013」内の「JVM言語パネルディスカッション」でした。そのパネルディスカッションで、Kotlin Fest代表のたろうさんのKotlinへの愛やプレゼンを見て、「Kotlinってめっ…
kotlinx.seriarization便利ですね。KotlinのデータクラスをJSONで読み書きする場合だけでなく、CSVで読み書きする際にも使えるようです。 ただし、ヘッダを自動的に入出力する機能は無いようです。 データをCSVの行にあたる文字列に変換する際にserializationライブラリを用いて、後は、Kotlinでファイルを読み書きする標準的な方法を用います。 読み込みの際に登場する、useLinesによる遅延読み込み処理の手法は知らなかったです。ヘッダ行を飛ばす処理で登場しますが、覚えて置きたいです。 KotlinでCSVファイルの読み書きをしたいのですが、定番のライブラリが…
IntelliJを入れたほうが快適だと思うが、VSCodeを使えという指示なので試してみる。 コンパイラをいれる https://kotlinlang.org/docs/command-line.html#install-the-compiler Githubよりkotlin-compiler-1.9.23.zipをダウンロードする。 システム環境変数path コンパイラをおいた場所を環境変数pathに追加する。C:\kotlinc\binhttps://kino-code.com/course-kotlin03-environment-for-windows/#toc5 CodeRunner…