2000年にサービス提供を開始して以来、毎年成長を続けているYahoo!カレンダー。サービスや組織の成長に伴い、出てきた課題を解決するため、PHP製のサーバーサイドシステムを改修してきた。その結果、アプリケーションが細かく分割されすぎることで、修正コストが増加。サービス追加などへの対応も時間がかかるようになってしまった。そこでPHPからKotlinに技術移行を決断。Kotlinに移行したことで、品質や生産性も高まったという。この技術移行の概要についてヤフー IDサービス統括本部 PIM本部 サーバーサイドエンジニア(登壇当時)の岡田信夫氏が解説した。 講演資料:なぜYahoo!カレンダーはPHPからKotlinへ技術移行を進めるのか ヤフー株式会社 IDサービス統括本部 PIM本部 サーバーサイドエンジニア(登壇当時) 岡田信夫氏 「ユーザーのための時間」を増やすため技術移行を決意 Yah
IDEs AppCode CLion DataGrip DataSpell Fleet GoLand IntelliJ IDEA PhpStorm PyCharm RustRover Rider RubyMine WebStorm Plugins & Services Big Data Tools Code With Me Quality Assurance JetBrains Platform Scala Toolbox App Writerside Team Tools Datalore Space TeamCity Upsource YouTrack Hub Qodana .NET & Visual Studio .NET Tools ReSharper C++ Languages & Frameworks Kotlin Ktor MPS Education & Research J
はじめに Kotlinの文法を短時間でざっと確認することが目的。最初はどんな言語なのか外観を掴む感じで全体に目を通して、書いたり読んだりしながら必要なところを見直すのが良いんじゃないかと。 汎用的なライブラリではなく、アプリケーションを書く際に必要な項目を重視して、リファレンスの内容をコンパクトにまとめた1。網羅性はかなりのものだと思うが、なんじゃこれってのが出てきたら、その時にリファレンスで詳細を調べればいい。 細かい文法についてはリファレンスを元に日本語で解説した記事を用意したのでそちらを参照。 基本的にJavaを知っていることが前提だけど、他のオブジェクト指向言語を知っていれば理解できると思う。 変数 // Kotlinでは文の後ろにセミコロンはいらない // 頭にvalって付けると変更不可 val num = 3 // 3はInt型なので、numもInt型だとコンパイラが推論してく
Kotlinをはじめるにあたって 言語仕様でここは押さえておこう、的な記事です。 普段の開発をJavaからKotlinへ移行していく過程で これは足りない、と気づいたら随時追記します。 何からはじめればいいですか Kotlin https://kotlinlang.org/ ここを起点に。本記事では主にAndroid開発を想定しています。 Try Kotlin ブラウザ上でサンプルを見ながら、その場でコードを書いて動作確認ができます。 コンソール↓の Open in Playground → からエディタが開きます。 More examples からはカテゴリごとにサンプルコードが見れます。 Kotlin Language Documentation 英語ですけどコードは読めるのでなんとなく意味はわかります。 https://kotlinlang.org/docs/kotlin-docs.
kotlin.connpass.comでコルーチンに関する話をしてきました。 Kotlin コルーチンを理解しよう スライドはコチラ。音声や動画が無くても大体読めばわかる内容になっていると思います。 流れ 6月末にひつじさんからお手紙がとどく 直前の技術書典4でKotlinのコルーチンを使う前に自前で実装してみるという話を書いていたこともあり、 その辺をベースにした話の組み立てでできそうな気がするということでシュッと受けた。 結果的にめちゃくちゃ大変でしたが最終形はなんとかまとまったので良かったです。 調べたことや登壇時は触れられなかったことなど 話のベースは頭の中にあったものの、コルーチンの概念そのものが一体どういうものなのかあまり深く理解していなかったこともあり、その辺の調査もしなきゃな〜と手を動かし始めるとそのままどツボへ真っ逆さま。今回話の流れや時間的に触れられなかったことなんかを
こんにちは、三度の飯よりKotlinが好きな id:takuji31 です。 ※ これは、はてなエンジニア Advent Calendar 2017 7日目の記事です。6日目は id:hayajo_77 さんの「Webオペレーションエンジニアとし研修して1ヶ月経ちました」でした。 hayajo.hatenablog.jp 今日は私が愛してやまないKotlinのSealed Classの使い方について紹介します。 Sealed Classについて Sealed Classを使う利点 普通の(final or open)クラスと比べて Enumと比べて 使い方 どういう使い方をしている? 決まった文字列(全てが定数ではない)を受け取りたい時 色々な値を受け取って表示するActivityを起動するIntentに渡すパラメーターオブジェクト 最後に Sealed Classについて Sealed
Kotlinが書きやすすぎて、仕事のAndroid開発だけでなく趣味のデスクトップアプリもKotlinで書いています。 Kotlinには便利な言語機能がたくさんあります。 その中でも個人的には sealed class が好きなので、この魅力をご紹介したいと思います。 sealed class とは 日本を代表するKotlinエバンジェリストのたろうさんのブログによると、 一言で言うと、クラスの継承を制限するための修飾子です。 sealedが付いたクラスを継承するにはある条件を満たす必要があるということです。 kotlin 1.2.1現在、sealed classを継承できるのは、sealed classでネストされたクラスと、同じファイル内で宣言されたクラスのみです。 // in Base.kt sealed class Base { object SubOne: Base() // o
Kotlin — A deeper look – Hacker Noon より この図分かり易いと思ってディスプレイに貼ってる。 この図↓も貼ることにした。(2017/10/05追記) データクラスの話/スコープ関数の話 #rkt - Speaker Deck より とてもわかりやすい! この図↓も追加(2018/7/25追記) Kotlin Demystified: What are 'scope functions' and why are they special? より 以下は自分用の調べたり人から聞いたりしたことのだらだらめも let run apply with also let public inline fun <T, R> T.let(block: (T) -> R): R = block(this) 最後の値が戻り値になる 自身がクロージャの引数になる nullable
少し前に、「Kotlinの隠れたコストについてのベンチマーク(原文: Kotlin's hidden costs - Benchmarks)」という記事が話題になりました。 その中で、Kotlin の Range を使った for ループと forEach() の比較があり、forEach() は「絶対に避けた方がよい(should absolutely be avoided)」と結論づけていました。この点と、それに対するはてぶなどの反応が気になりました。 そこで、今回は Range に対する for ループに対象を絞って調べてみました。 記事を見直してみる 元記事にはベンチマーク結果が書かれており、数値は以下のようになっています。 Benchmark
filter関数じゃなくてfilterTo関数使おうという話。 Twitterでの話題のサルベージです。 Kotlinはver1.0.4現在の話です。 発端 Kotlin の Set で filter したら List が返ってきて contains がくっそ重くなる事案が現実に起きてしまった…… — がくぞ (@gakuzzzz) 2016年9月23日 @yy_yank fun main(args: Array<String>) { println(setOf(1, 2, 3, 4, 5, 6, 7, 8).filter { it % 2 == 0 } + (4)) } とかやると4が重複して楽しいですよ — がくぞ (@gakuzzzz) 2016年9月23日 どういうことか Kotlin標準のfilter関数ですが、こんな感じ。 https://kotlinlang.org/api/
Gradle Kotlin DSL 1.0 release candidate is generally available, included in Gradle 4.10. The Kotlin DSL is nearly ready for widespread use. We want you to enjoy a build authoring experience with the benefits provided by Kotlin’s static type system: context-aware refactoring, smart content assist, debuggable build scripts, and quick access to documentation. In case you haven’t seen it, you can watc
#iOS | #Android ファショ通 Swift を身に付けていく過程の記録、最新ニュースや使い方、iPhone、Mac、Android、Python なども。 シンプルな記事あったので。 Learn Kotlin for Android in One Day – Mayur Rokade – Medium 1. 変数 変数は「var」。 var username: String = "some user name" 定数は「val」。Java の final と等価。 val API_DELAY_CONSTANT: Int = 100 null で初期化するには「?」。 null を利用可能にします。 var myString: String? = null static な定数には「companion object」。 class Animal { companion objec
Ukraine has the right to return to all occupied territories and be reimbursed for all harm done by the invader. Help Ukraine to build fleet of Naval and Aerial drone with official President of Ukraine initiative ⇢ Ukraine has the right to return to all occupied territories and be reimbursed for all harm done by the invader. Help Ukraine to build fleet of Naval and Aerial drone with official Presid
With the third edition of Joshua Bloch’s well-respected book, Effective Java, now available I thought it interesting to take a look and see how it applies in a Kotlin world. Each week I will try to add a new article referencing one more “items” from the book. I will cover each item only at a high level as this is not a replacement for Joshua’s reasonings and details. Creating and Destroying Object
Philipp Hauer's Blog Engineering Management, Java Ecosystem, Kotlin, Sociology of Software Development Posted on Jun 25, 2017. Updated on Jun 12, 2022 With Kotlin we can write code that is easy to understand, short, expressive and safe. Sounds like clean code, doesn’t it? In this post, I go through some recommendations and principles of clean code and consider if Kotlin can help to fulfill this ru
Philipp Hauer's Blog Engineering Management, Java Ecosystem, Kotlin, Sociology of Software Development Posted on Mar 28, 2017. Updated on Jun 12, 2022 In order to take full advantage of Kotlin, we have to revisit some best practices we got used to in Java. Many of them can be replaced with better alternatives that are provided by Kotlin. Let’s see how we can write idiomatic Kotlin code and do thin
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く