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…
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…
Wasm I/O '24 を履修する。 一旦スライドに目を通していく。 https://2024.wasmio.tech/sessions/ あとで動画見る WASM CAN DO THAT!? The Wasm-Scape Navigator: Sorting Through the Mosaic of Specs WebAssembly Component Model: What? How? And, why you should not ignore it! Kotlin/Wasm — Compile Once Run Everywhere Create cloud native age…
もう何年も Android Studio を触っていなかったけど、急遽業務で必要になったのであらため Android の復習をやっている。そもそも僕が Android を触っていたので Java の頃だったので、最近の書籍や Android Developer の公式ドキュメントが Kotlin ばかりになっていて困惑している。Java に似ているの雰囲気で何となくソースコードは読めるけれど、自分でいざ書くとなると全然分からない。 さっさと Android の基本の復習は終わらせて会社のアプリのデバッグぐらいはできるようになりたい。
プログラミングの世界に足を踏み入れ始める際、何から始めれば良いのか迷うことがあるかもしれません。 この記事では、プログラミングの始め方を具体的に解説していきます。プログラミングの基礎知識から始め、適切なプログラミング言語の選び方、オンラインで利用可能な無料プログラミングコースの紹介、効率的な学習方法やコツ、初心者が悩みがちなポイント、モチベーションを維持する方法、エラーメッセージの対処法、そしてプログラミング学習のメリットと将来性に至るまで、幅広くお伝えします。 新たなスキルを身に付ける第一歩として、この記事がプログラミングに興味を持つ方々に役立つ情報を提供することを願っています。 【PR】副…
Javaの概要 JavaとTypeScriptの比較 Springとは/Spring Bootとの違い Javaの概要 https://qiita.com/KenyaSaitoh/items/22f32b9d7aea5844d77 Javaの言語特性(抜粋) プラットフォーム非依存の言語 Java Virtual Machine JVMとは、LinuxやWindowsといった様々なOSに対応したJavaプログラムの仮想的な実行環境 Javaは、コンパイル型言語の一種である 通常コンパイラによって機械語に一括翻訳し、生成したバイナリファイルを実行することで、プログラムが動作する Javaは機械語…
過去にはそれなりにQiitaに記事を書いていたのですが、何を思ったのかアカウントを消したうえでZennに移ったようです。 おそらくその当時はプラットフォームは一つだけ持って記事を公開していく、と考えていたのだと思います。 が、半年ほど前に『Qiita Night』で登壇させていただいたことをきっかけに、再びQiitaのアカウントも作り直しました。 increments.connpass.com しかしその後あまり記事は書かず・・・ そうしている間にしずかなインターネットを始めてみたり、noteをはてなブログに移したりをきっかけにQiitaの使い方も見直そうかと思いました。 今のところ雑に考えて…
先日 Railroads という、Rails開発向けのIntelliJ Platform Pluginを作りました。 RubyMine 2023.3系から、rails routes を便利に扱える Railways プラグインが動かなくなったので、代替プラグイン Railroads を作りました - メモ的な思考的な 最初に作った段階では「動くものを作り切る」ことを優先し、 動作が正しいことは実機で担保 テストコードは後で追加 という方針でプラグインを作成・リリースしました。 ただ、今後の継続的なメンテナンスのことを考えると、テストコードがあると色々安心できそうです。 そこで、今回テストコード…
エキサイト株式会社メディア事業部エンジニアの佐々木です。Javaにrecord型が登場し、SpringBootでも結構いろいろなところで使用できるようになりました。今回は、application.ymlからrecordを使用して取り出す方法になります。 前提 application.yml コード まとめ 最後に 前提 環境は下記になります。 $ java --version openjdk 21.0.2 2024-01-16 LTS OpenJDK Runtime Environment Corretto-21.0.2.13.1 (build 21.0.2+13-LTS) OpenJDK 6…
こんにちは、UPSIDERで日々モバイルアプリ開発をしているふっくです。 UPSIDERでは今後、よりアプリ開発に注力し決済プラットフォームの中核的な役割を果たすことを目指しています。 今回は、今後の開発・運用を目指して考えたFlutterアプリ向けのアーキテクチャを紹介します。 ネイティブアプリの世界で触れてきた色々なアーキテクチャ・フレームワークを参考に、開発の後半でも順調にスケールさせることができるように、工夫を凝らしました。 本アーキテクチャで作ったサンプルアプリもあるので、ぜひ以下のリンクから見てみてください。 https://github.com/upsidr/flutter_ar…