kotlin

Python从小白到大牛PDF高清完整版免费下载|百度网盘

谁说胖子不能爱 提交于 2020-10-11 00:27:32
百度网盘:Python从小白到大牛PDF高清完整版免费下载 提取码:mo3f 内容简介 本书是一部系统论述 Python编程语言、 OOP编程思想以及函数式编程思想的立体化教程(含图书、答疑服务、教学课件、源代码及视频教程)。全书共分为四篇:第一篇 Python基础(第 1章 ~第 8章),第二篇 Python进阶(第 9章 ~第 15章),第三篇 Python高级实用库与框架(第 16章 ~第 20章),第四篇项目实战(第 21章 ~第 24章)。主要内容包括开篇综述、搭建开发环境、第一个 Python程序、Python语法基础、 Python编码规范、数据类型、运算符、控制语句、数据结构、函数式编程、面向对象编程、异常处理、常用模块、正则表达式、文件操作与管理、数据交换格式、数据库编程、网络编程、 wxPython图形用户界面编程、Python多线程编程、项目实战 1 网络爬虫与爬取股票数据、项目实战 2 数据可视化与股票数据分析、项目实战 3 PetStore宠物商店项目、项目实战 4 开发 Python版 QQ2006聊天工具。 为便于读者高效学习,快速掌握 Python编程方法,本书作者精心制作了完整的教学课件、完整的源代码与丰富的配套视频教程,并提供在线答疑服务。 作者简介 关东升:一个在IT领域摸爬滚打20多年的老程序员、培训师、作者。精通多种IT技术

Python、Java、C++一网打尽,这个GitHub项目用多种语言实现经典算法

天大地大妈咪最大 提交于 2020-10-08 08:22:39
经典数据结构和算法你了解几个?想去大厂面试?想成为算法工程师?收下这份全面的复习材料。 机器之心报道,参与:Racoon、Jamin。 不想做低级码农,不想成为前端抠图达人或是后台「增删改查」小王子?那你可能需要好好复习下算法与数据结构。想成为算法工程师,基础知识是绕不开的大山。机器之心 这次要推荐的项目是数据结构与算法的开源项目集,覆盖多种主流语言,实现各类经典数据结构及算法 。 项目地址: https:// github.com/trending The Algorithms 项目介绍 正如 The Algorithms 项目主页上介绍的那样,这是一个使用多种编程语言,实现经典数据结构与算法的开源项目集。这里的「any Programming Language」真是没有虚假宣传,我们可以看到 The Algorithms 里从较为流行的 Python、Java、C、C++到 C#、Go、Rust、Kotlin 语言应有尽有,当然有的编程语言实现的算法还不是那么的丰富,其中维护较好的还是 Python 和 Java。 本文以 The Algorithms 的 Python 项目为例进行介绍。 截至目前, 该项目已经有 7 万多星,内容涵盖加密算法、图像处理、动态规划、线性代数、经典机器学习算法、搜索算法、排序算法以及各种数据结构等,单是所实现算法的目录就有 600 多行 ……当然

入门 Android Lint

点点圈 提交于 2020-10-07 09:57:53
Lint ​ Android Lint 是Android Studio 在ADT(Android Developer Tools)16提供的代码扫描工具,可以帮助我们发现和更正代码结构质量的问题。系统会报告该工具检测到的每个问题并提供问题的描述消息和严重级别,以便快速确定需要优先进行的修改。此外,我们还可以通过降低问题的严重级别以忽略与项目无关的问题,或者提高严重级别以突出特定问题。 优点 无需实际执行应用 不必编写测试用例 Lint工作流 下图显示了 lint 工具如何处理应用源文件。 App Source Files : 应用源文件,包含组成Anroid项目的文件,包括Java,Kotlin和XML文件,图标以及Progurad配置文件。 lint.xml : 一个配置文件,可用于指定要排除的任何 lint 检查以及自定义问题严重级别。 lint Tool :一个静态代码扫描工具,可以从命令行或在 Android Studio 中对 Android 项目运行该工具。 lint Output :lint检查结果,可以在控制台或 Android Studio 的 Inspection Results 窗口中查看 lint 检查结果 手动进行Lint检查 依次选择 Analyze > Inspect Code ,手动运行配置的 lint 及其他 IDE 检查。 在左侧窗格树状视图中

Flutter与Android通信方式->MethodChannel方式(发送消息并且返回结果)

☆樱花仙子☆ 提交于 2020-10-06 10:29:21
摘要:Flutter版本号:1.12.13,Kotlin版本号:1.3.72 版本号不同,实现的方式不一样,所以特此标注下。 具体的实现原理,自行查阅。这里只写代码实现过程,主要原因是网上Kotlin的实现方式实在太少,特此记录。 Flutter: import 'package:base_library/base_library.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; class ChannelDemoPage extends StatefulWidget { @override _ChannelDemoPageState createState() => _ChannelDemoPageState(); } class _ChannelDemoPageState extends State<ChannelDemoPage> { static const _channel = const MethodChannel('plugins.flutter.io/FlutterMessagePlugin'); @override void initState() { super.initState(); } @override Widget build

【12】 kotlin 具名参数与变长参数

烈酒焚心 提交于 2020-10-06 07:53:51
具名参数 某个参数可以接受多个值 可以不为最后一个参数 如果传参有歧义,需要使用具名参数 package com.yzdzy.kotlin.nameFun fun sum(arg1: Int, arg2: Int) = arg1 + arg2 //变长参数 和数组一模一样 fun main(vararg args: String) { //具名参数可以交换参数 val res = sum(arg2 = 2, arg1 = 2) val res2 = sum(arg1 = 1, arg2 = 2) println(res) println(res2) //变长参数 和数组一模一样 for (arg in args) { println(arg) } val array = intArrayOf(1, 3, 4, 5) val array1 = arrayListOf(1, 3, 4, 5) hello(1.0, 2, 312, 3, string = "helo") // * 把array 展开。 hello(1.0, *array, string = "helo") //只支持list 不支持array // hello(1.0, *array1, string = "helo") } //变长参数 vararg fun hello(double: Double, vararg

云原生quarkus框架项目实践

烂漫一生 提交于 2020-10-06 00:36:04
写在前面, 不知不觉上篇文章已经是好几年前了, 回到博客园倍感亲切. 总想写点什么, 发现博客园里关于quarkus的文章不多, 故把自己在项目过程中的点滴整理如下, 希望对您有所帮助. 一、quarkus 是什么?为什么要用quarkus quarkus是Redhat开源的云原生微服务框架, 相比较成熟的SpringCloud, 为什么要用quarkus? 主要有以下几点原因: Spring系列框架臃肿、复杂, 更像是一个全家桶. 而quarkus 简单、高效, 工具先进 启动速度, quarkus可以在5秒内启动, 而spring对于一个golang开发者来说, 这个速度直接无法忍受. quarkus可以热编译, 无需手动编译和重启服务, 而Spring的热编译.. 与其他工具集成, Spring集成了大部分的工具, 但你把DI换成guice试试, quarkus可以很方便的集成工具, 虽然框架本身包含的东西不多 quarkus不依赖tomcat或jetty, 可以编译为原生应用, 性能大幅提高 quarkus耦合低, 项目结构干净, 适合使用代码生成器. 二、创建一个quarkus项目 您可以使用maven或gradle来快速创建一个quarkus项目, 具体方法见quarkus网站, quarkus 只需要创建一个Resource类, 就可以启动服务. 零配置. 另外

编译器移植到.NET Core失败记录和对.NET未来感想

安稳与你 提交于 2020-10-04 22:52:08
.NET Core 是微软力推的新平台,影响力好像还越来越大。为了对这一行业趋势有所准备,最近把自己搞的编程语言的编译器从 .NET 移植 .NET Core ,以实现跨平台在 Linux 上运行,然而失败了。 原因是 .NET Core 类库中 AppDomain 、 AssemblyBuilder 、 ModuleBuilder 、 ILGenerator 等等缺失了一些很核心的方法或类型,导致无法编译通过。 核心缺少这些无法编译成功,也不能生成最终的二进制文件。那些以前可以在 .NET CLR 上运行的开源语言 .NET Core 对它们来说已经没有了吸引力,现在没有一个跟进到 .NET Core 上,所以也没有办法从开源项目中获得帮助。比如说 Clojure CLR ,我下载了它最新的编译器源码,它还是用 System.Reflection.Emit 命名空间生成 IL 指令。 微软要在 .NET Core 上废弃了 System.Reflection.Emit 那一套东西。我拼命研究的那套生成 IL 的知识要作废了。这让我想到了 Sliverlight 、 XNA 、 Windows Phone 的下场。我辛辛苦苦钻研到的这部分知识又被归零了,让我想到了刷卡时为零 ( 萨卡什维利外号 ) 。 我又想到现在微软现在是用 Roslyn 编译 C# 的,而且 Roslyn

SpringBoot多模块项目(Gradle篇)

坚强是说给别人听的谎言 提交于 2020-10-04 22:26:58
Gradle Kotlin DSL 项目链接: https://gitee.com/ellipse/springboot-multi-parent 1、创建项目 1.1、创建根项目 (parent) 1、使用 Spring Initializr 创建一个项目 2、删除 src 3、修改 build.gradle.kts 文件,将以下内容移到 subprojects 里面: java.sourceCompatibility dependencies tasks 简单来说就是把除 plugins group version repositories 之外的东西都移到 subprojects 里面 4、将以下内容放在 subprojects 最前面 subprojects { apply(plugin = "java") apply(plugin = "kotlin") // 可选 apply(plugin = "org.springframework.boot") apply(plugin = "io.spring.dependency-management") ...... } 5、springboot插件后添加 apply false plugins { id("org.springframework.boot") version "2.2.7.RELEASE" apply

Android & Kotlin:打造自己的计算器

白昼怎懂夜的黑 提交于 2020-10-04 04:29:09
一直很好奇Android开发是个什么样的体验,最近赋闲在家,时间宽裕,找了几个教学视频跟着体验一下,顺便练习一下学的Kotlin,于是乎就写了一个计算器,感觉还像那么回事儿。 先上效果图: 1. kotlin Kotlin (科特林)是一个用于现代多平台应用的静态编程语言 ,由 JetBrains(知名IDE开发公司,如idea,pycharm) 开发。 Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。除此之外Kotlin还可以编译成二进制代码直接运行在机器上(例如嵌入式设备或 iOS)。 2017年Kotlin正式成为Android官方支持开发语言。 kotlin对Android的支持很好,对许多地方进行了简化,如直接通过id使用组建。 kotlin还对web框架也有支持,如spring,vert.x。 与java相比弥补了java的一些不足。 语言风格和typescript相近,有向前端靠拢的意思(一统江湖?) 2. Android 这个就不介绍了。。 android项目主要分为两个部分: 逻辑部分 layout 其中布局通过xml文件关联组建,设置一些参数,逻辑部分对组建部分进行更改状态等一些处理。 2.1 layout部分 使用Android

【Android】Navigation 用法及源码解析

∥☆過路亽.° 提交于 2020-10-02 11:24:46
本文讲解 Navigation 用法,以及 Navigation 源码解析。 官方文档: https://developer.android.google.cn/guide/navigation 一句话介绍 Navigation :Navigation 是指支持用户导航、进入和退出应用中不同内容片段的交互。 Android Jetpack 的 Navigation 组件可帮助您实现导航,无论是简单的按钮点击,还是应用栏和抽屉式导航栏等更为复杂的模式,该组件均可应对。 注:本文使用 Kotlin 编写。 一、基本用法 使用 Navigation 在两个 Fragment 之间相互导航 1. 在 res 里新建一个导航图 nav_graph.xml <?xml version="1.0" encoding="utf-8"?> <navigation xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/nav_graph"> </navigation> 这个过程 Android Studio 会自动帮我们导入必要的库 implementation 'androidx.navigation