Home avatar

ISLAND

Kotlin 1.2:平台之间共享代码

前言

这是一个尝试,之前没有翻译过任何技术文章,做一个尝试,也算是学习,尽管现在这个译文在网上已经是满天飞了。

原文地址Kotlin 1.2 Released: Sharing Code between Platforms

正文

今天,我们将要发布 Kotlin 1.2。这是一个重要的新版本和一个大的步伐在我们朝着使用 Kotlin 在现代应用程序中的道路上。

在 Kotlin 1.1 中,我们正式的发布了 JavaScript 目标,允许你去编译 Kotlin 代码成为 JS 并且运行在浏览器上。在 Kotlin 1.2 中,我们将要添加 JVM 和 JavaScript 的代码重用成为可能。现在你可以写一次应用程序的逻辑代码,而在你的应用程序中所有层重用它——后端,浏览器前端和Android移动应用。我们也会在库上进行工作,帮助你重用更多的代码。比如跨平台库。

协同过滤算法

前言

在推荐系统中有很多算法,其中一种就是协同过滤算法。

分类

在协同过滤算法中,分为两类,基于用户的协同过滤(UserCF)和基于物品的协同过滤(ItemCF)。每个类型的适用情况不同。

在上述的两种类型中,基于用户的协同过滤算法是不太常用的,原因如下

  • 用户的数量是远远大于物品的数量,计算用户之间的相似度计算量会很大。
  • 对于一个新用户很难找到相似度

所以一般是不会使用基于用户的协同过滤,但是并不表示不用,一般用于新闻推送等。

Kotlin 扩展函数/属性

前言

扩展函数和扩展属性在 Java 里面是没有的,这样的话很好的弥补了 Java 的缺陷。所谓扩展方法或者属性是指在原来没有的方法或者属性上进行扩展,不会改变原来的属性和方法。

扩展函数

声明扩展函数的方法是先写上要扩展的类名,之后在写扩展方法。

对 Book 这个类进行扩展,这个类只有一个方法,在我们不修改 Book 类的前提下对其进行扩展。

Kotlin初步学习

最近项目逐渐使用 Kotlin 代替 Java 。

感受

关于 Kotlin 的最大的感受就是:代码少写了很多。

相遇

最开始知道这个语言是在使用 IDEA 的时候,当时只是知道,并没有过多的关心,也并没有去了解,更不要说是使用了。直到今年的 Google I/O 提出来 Kotlin 被上升到 Android 开发的一级开发语言。整个互联网沸腾了一把,大家纷纷百度 Kotlin 是什么?当然也包括我。

Hamming Distance 问题

前言

经过了好久,终于开始学习算法,刷算法题了。从LeetCode上开始刷题。也是完成之前立下的flag。

Hamming Distance(#461)

编号名称等级
461Hamming DistanceEasy

这个试题 主要是计算 两个数源码中有几位不相同。

python 实现微信打飞机

微信打飞机 python 实现

所用技术和软件

python 2.7

pygame 1.9.3

pyCharm

准备工作

  1. 安装好 pygame 在第一次使用 pygame 的时候,pyCharm 会自动 install pygame。
  2. 下载好使用的素材。

技术实现

首先要初始化 pygame ,之后设定一些基本的要点,比如窗口大小(尽量避免魔法数字),窗口标题以及背景图像。pygame 通过加载图片,最后返回一个 surface 对象,我们不需要关系图片的格式。但是通过 convert() 这个函数,会使我们的图片转换效率提高。