学海无涯,其乐无穷
10:46拆解 Kotlin 编译器插件体系:从注册入口到 IR 变换的完整链路
18:56揭秘 Kotlin 函数式编程的编译基石:Lambda 表达式、函数引用、SAM 转换的实现原理
29:15用三栏对比揭秘六大语法糖的编译真相
22:55揭秘 Kotlin 协程最核心的编译变换:从 suspend 到 CPS + 状态机
72:50点击在 Bilibili 打开观看完整视频...
07:05
05:31
07:18
14:52梦到啥说啥
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
This is a Kotlin compiler plugin for a compile-time indent trim of raw String.
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
08:15Kotlin Native 答疑时间
08:28Kotlin Native 答疑时间
05:02Kotlin Native 答疑时间
02:54Kotlin Native 答疑时间
07:18Kotlin Native 答疑时间
04:08Kotlin Native 答疑时间
03:03Kotlin Native 答疑时间
07:23Kotlin Native 答疑时间
05:41Kotlin Native 答疑时间
05:48Kotlin Native 答疑时间
jumpcutter with edl supports.
07:43项目地址:https://github.com/Tencent-TDS/KuiklyBase-kotlin/
36:37项目链接:https://github.com/bennyhuo/programmer-levels
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
02:14腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS
03:09腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS
04:06腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS
03:36腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS
04:07腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS
05:41腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS
05:08腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS
03:48腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS
03:38腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS
03:45腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS
04:18腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS
14:04聊聊 Kotlin × Compose 跨平台
04:12聊聊 Kotlin × Compose 跨平台
07:17聊聊 Kotlin × Compose 跨平台
05:47聊聊 Kotlin × Compose 跨平台
05:25聊聊 Kotlin × Compose 跨平台
07:38聊聊 Kotlin × Compose 跨平台
09:48聊聊 Kotlin × Compose 跨平台
09:51聊聊 Kotlin × Compose 跨平台
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
Simple implementation of kotlinx.coroutines to clarify the design of Kotlin Coroutines.
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
DeepCopy extensions for Kotlin Data class. Provide Reflection, Apt, Ksp and Kcp implementations.
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
Images is a tool set to process images.
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
Use this to help you upload images to QCloud and replace images urls in you markdown files.
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
Kotlin 官方博客翻译计划
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
Kotlin tuples.
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
An annotation processor to mix Java or Kotlin Classes up into a single Class. Also a sample of X Processing which is an abstract layer of apt and ksp.
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
渡劫 C++ 协程系列文章,手把手带你理解 C++20 协程原语 (co_await, co_yield, co_return),并从零实现 Generator、Task、Dispatcher 和异步 Sleep。
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
Swift 5.5 引入了原生的 async/await 协程机制。本专题涵盖了 Task、Actor、GlobalActor 和 TaskLocal 的全方位实战。
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
Java 17 是长期支持(LTS)版本。本专题系统性讲解 Sealed Classes、Switch 模式匹配、Vector API、Foreign Function & Memory API 等重要新特性。
This is a util library to help you setup apt project easily. Simply call AptContext.init(env) in your Processor, and you can access to the Filer/Messager/Types/Elements from AptContext.
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
Pure Java implementation of Android Handler.
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
Powerful Kotlin style API for Android Lua.
A bunch of maven repositories with predefined functions for Gradle.
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
一直想写点儿 Kotlin-Native 相关的话题,今天开始~
Kotlin 当中的 println 非常好用,可是 C 当中我们常用的 printf 却总是需要格式化字符,并且需要手动提供换行符。
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
前不久有个兄弟问有没有可能把之前 Native 写 Jni 的工程改造成 Gradle 的。正好借此机会把之前的工程整理得更完整一些。
ObjectPropertyDelegate for Kotlin class properties & functions.
本系列文章深入剖析 Kotlin 协程的基础概念、启动模式、调度器、异常处理、Channel、Flow 以及字节码级别的实现原理。后来作为《深入理解 Kotlin 协程》一书的技术基石。
A fork of https://bitbucket.org/achary/rx-marbles/src/master/
Useful extensions for coroutines. AutoDispose + MainScope
A Kotlin-Native Demo with gradle and makefile.
如果你觉得天气热不舒服,那一定是享受过凉爽之后才会有的感觉。你没有意识到 Java 的问题,那正说明你应该试试 Kotlin。
== 与 equals 意见不一致的情况 Kotlin 当中 == 和 equals 是等价的,所以所有用 equals 的地方都可以用 == 来替换。 一般情况下这种说法是没问题的,连 IDE 也都会提示你: 要不要换呢?这个就看哪种更有表现力了对不,对于这种情况,换了也就换了~但事情总是有例外,例如: 这回居然不提示我了!所以这里面一定有鬼! 你们猜猜结果如何? 我去,说好的 == 等价于 equals 呢? 完了完了,这下说不好了。。扎心了老铁。。官方文档还能不能信啊。。。
为什么需要这样一篇文章 我们知道 Kotlin 对 Jvm 的支持实在是太好了,以至于我们创建一个 Java 工程,配置一下 Kotlin 的编译插件和标准库就可以很轻松愉快的开始玩耍,什么互调用、什么单步调试都没有毛病——毕竟 KotlinJvm 与 Java 无论从使用上还是从生态上都尽可能的保持了一致,构建也主要用了 gradle,所以从 Java 到 Kotlin 的切换可谓是无缝衔接。 而 Kotlin 同样支持的 JavaScript 就似乎有点儿麻烦了,毕竟二者所处的生态差异略大,KotlinJs 仍然主要采用 gradle 构建,而 JavaScript 的话,例如 Node.js,就使用 npm/yarn 安装管理依赖了。想想可能还是有点儿别扭,你当然可以自己创建一个简单的 KotlinJs 工程,并且自己负责管理 node_modules,但那样的话,node_modules 的依赖并不会被 KotlinJs 直接依赖到,还需要管理 JavaScript 映射到 Kotlin 的接口依赖,例如 jQuery 在 Kotlinjs 侧就有一个接口库方便 Kotlin 以类型安全的方式调用,不过你还是要自己安装好 jQuery 才行,很麻烦对吧。 这一节我们将给大家展示如何搭建一个基于 Node.js 的相对完美的 KotlinJs 的开发环境,这个环境可以做到: * 依赖只需要在 Gradle 中统一管理即可,node_modules 会被自动安装 * 右键运行 Kotlin 中的 main 函数,就像我们在 KotlinJvm 当中一样 * 单步调试 Kotlin 代码,全程对 JavaScript 的编译结果无感知 基于这个工程,大家就可以很愉快的测试 KotlinJs 的特性啦,就像我们在 KotlinJvm 上面那样,毫无违和感。
今天的话题很简单,分享下也许对大家可以有帮助或者有启发。 1. 背景 一看题目,有点儿晕。看个例子马上就明白了: 我们有这么一个类,一看就是要写 Builder 模式。不过由于我们的这个 Event 的类型比较多,因此希望写一个父类,来一个子类感受下: 看上去也没啥大毛病,用一下吧: 我们调用完父类的 retryLimit 方法后,想要设置下 delay,结果发现没有这个方法。 “我 X,这什么玩意儿”,你嘟囔了一句。
0. 新年立个 Flag 首先祝各位小伙伴在新的中国年里找到属于自己的奋斗方向,凝聚自己的奋斗方法,实现自己的奋斗目标。 每年春节 0 点之后都喜欢随便做点儿自己喜欢的事情。曾经有一年就是在这个时间憋出了一篇晦涩难懂的协程的文章,所以今年需要在 Kotlin 协程上多写点儿文章,也许也可以写点儿 lib,总之公众号在这一年的发力点,协程算一个,应该也不会局限于 Java 虚拟机。 我前一阵子写过几次用 Kotlin Native 作为 JNI 的底层实现的文章。Kotlin Native 尽管可能还不是很完美,但就像它的负责人说的,后面的版本就需要来偿还技术债了,毕竟它从诞生开始就面临了类似于我们国内任何一款互联网产品一样的境遇,它如果不够快,也许就赶不上这波节奏了。可能各方面体验还没有那么好,但它的全貌已经完全呈现在我们面前,所以我们要做的就是帮助它,把生态建立起来。所以今年公众号也会把 Kotlin Native 作为一个重点,也许年底我能鼓捣出一个让 KN 写 JNI 变得很方便的 wrapper 呢,希望我时间会比较充裕吧。
大家一定用过 RxJava,也一定知道用 RxJava 发了个任务,任务还没结束页面就被关闭了,如果任务迟迟不回来,页面就会被泄露;如果任务后面回来了,执行回调更新 UI 的时候也会大概率空指针。 因此大家一定会用到 Uber 的开源框架 AutoDispose。
Swipable support for Activity to finish itself like Wechat App does.
上一篇文章我讲了用 @CName 这个神奇的注解,可以配置 Kotlin Native 函数在符号表中的名字,进而根据 Jni 静态绑定的规则来对应到 Java native 方法,但实际开发当中我们更喜欢用动态注册的方式,因为一方面不受名字的约束,不影响代码重构,函数名也相对美观,另一方面调用起来也相对高效,节省了静态绑定的查找过程。
我在之前写过一篇文章,讲如何用 Kotlin Native 编写 Native 代码通过 JNI 让 Java 调用。当时因为完全没有注意到 CName 这个神奇的东西的存在,所以那篇文章当中还是用 C wrapper 来做的调用。 后来,我发现根本不需要这么麻烦啊。
前不久 JetBrains 在北京搞了一次技术大会,我在演讲当中提到了一个叫 DeepCopy 的库,那么我们今天就来详细说说它。
0. 题外话:Hadi 的插件 上周的 JetBrains 开发者大会,Hadi 的两个插件比较亮眼,这里有小伙伴如果没有听到最后一场,可能不知道它们是啥,它们分别是: * Nyan Process Bar * Presentation Assistant 也有同学问我ppt的,上周一的文章末尾有提供哈~ 好了下面我们言归正传~ 1. 描述下需求 前不久跟群里小伙伴讨论的时候,发现他们有一个需求,那就是在一个变量使用完之后要将其置为 null,但是呢,又不愿意将它声明为可空类型,这个需求实在是。。大概就像这样吧:
难得取了这么正经的一个题目,根本不是我的风格啊︿( ̄︶ ̄)︿。 话说昨天去参加了一下 JetBrains 的开发者大会,因为我把钱都充点券买皮肤了,买不起门票( ̄. ̄),所以就选择在下午分会场做了一个 Kotlin 的分享来混入其中 (~ ̄▽ ̄)~
A delegate for those non null vars of which values need to be cleared at the end of the lifecycle.
This is a IntelliJ plugin for Kotlin. You may use this to create a data class from a Json string.
我在做 基于 GitHub App 业务深度讲解 Kotlin1.2高级特性与框架设计 这门课的时候,顺便做了一个注解处理器的框架,叫 Tieguanyin(铁观音),这个框架主要是用来解决 Activity 跳转时传参的问题,我们知道 Activity 如果需要参数,那么我们只能非常繁琐的使用 Intent 来传递,有了这个框架我们就可以省去这个麻烦的步骤。 在这里,框架的内容其实不是重点,重点是,它是一个注解处理器的项目。为了让它的作用尽可能的放大,我对原框架做了简化,做了这套课程。
Kotlin 为人熟知已经很长时间了,这段时间里,我们为了宣传和推广 Kotlin 也做了不少工作,下面简单盘点一下 Kotlin 社区的资源。
Apollo-Android wrapper like Retrofit for GraphQL.
Android Shell run without root. Just like adb shell does
一个类似于Navicat的Mysql Android客户端
Tensorflow demo by Kotlin Native. Organised by CMake.
GitHub 开源项目,点击查看仓库源码、文档与更新进展...
This is a very first sample of Kotlin Coroutine I used in the meetup of Beijing. Hello World!
Hexo edition used to build the kotliner pages. May differ from the original version.
A hacked edition of Retrofit 2.0.2.
Effective Java 这本书在业界非常流行,连 Java 之父 Gosling 都赞不绝口。可是,这本书本身也存在问题:Java 的初学者往往因为经验缺乏,读起来会有『你说得好有道理哦,可你说的都是什么』的感觉。基于这一点,我计划录制一套视频,从我自己的视角来解读一下这本书,希望让经典更通俗易懂。
If you wanna animate your items when you operate them (add/remove) in a ListView/ExpandableListView, you should check this.
Easy way to access file.
This is a project that we share we cooperate we do together to make it cool and have fun.
Helper classes to make it easier to use sharedpreferences. Preference items look like a plain old variable with sharedpreferences operations behind it.
This is the code from "Advanced programming in the Unix Environment".
Two parts:
北邮校园网无线认证助手
This is a workflow for Alred on Mac.
A simple plugin for intellij platform. This is the demo project from http://www.jetbrains.org/intellij/sdk/docs/tutorials/custom_language_support
代码分析工具(主要是统计);Analyzer of our code ( mainly about statistics so far)
这个名字取得有点儿逗比。其实我是想做这个程序来规范我玩游戏的时间的:什么时候可以玩,什么时候不可以玩,玩多长时间什么的。
Android 手机代码阅读器
check1n是我用来处理实验室考勤事务的。这个check1n则是用来帮助实习生们方便的记录自己每天出勤的时间并填报工时用的。
一个用来保存密码的简单工具,可以存多个人的密码。
实验室签到管理工具,服务端需要从中控5.0的控制端写入代码中对应的access.db读取数据并展示,并根据提供的python脚本输出统计结果。客户端可以实时查看签到结果,数据有服务器每5分钟推送一次。
something related to the interview affairs.