首页 文章 精选 留言 我的

精选列表

搜索[1 X 认证],共10000篇文章
优秀的个人博客,低调大师

Kotlin学习探索-1

前言: 今天是2018年10月24日,也就是1024节,在这里首先祝福大家节日快乐,祝福各位研发朋友开心快乐、身体健康 1024节日快乐 本篇文章是《Kotlin学习探索》系列的第一篇,本篇文章主要学习的知识点有: Kotlin在Android Studio上的环境搭建 Kotlin在Android Studio上的应用和可视化直观对比 Kotlin在Android Studio上的环境搭建: Android Studio 从 3.0(preview)新版本开始就已经内置安装了 Kotlin 插件。如果没有的话,可以在studio上依次点开:File - Settings(可以直接快捷键:ctrl+ALT+s) - Plugins - Browse Repositories,接着,搜索关键字:Kotlin,然后点击右上角的install,下载完毕之后会重启Android Studio。这是已经安装成功的参考图,如下: Kotlin配置界面 插件下载完毕以后,我们开始创建一个Kotlin的新项目,跟传统创建方式不一样的地方是,需要在创建项目的时候,勾选: Include kotlin support选项,如下图红色矩形: 勾选Kotlin配置 勾选完毕以后,设置相对应的Application name、Company name、Project location、Package name等基本信息之后,后续的步骤跟传统构建新项目的时候一样,然后耐心等待工具构建新项目即可。 这样,Kotlin在Android Studio上的环境搭建以及第一个Kotlin项目就已经完成了。 Kotlin在Android Studio上的应用和可视化直观对比: 既然是Kotlin项目,我们先抛开语法基础这些,首先直观感受一下跟传统项目的差异,究竟有那些不一样。为了区分差异,这里规定:红色代表Kotlin项目,蓝色代表传统Java项目 首先对比下2个项目的Project的build.gradle(对比一) 通过截图可以看到,Kotlin项目的Project-build.gradle比传统项目的Project-build.gradle,在dependencies这个标签下多了一个value,也就是classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:kotlin_version",这里的$kotlin_version是占位符,具体的属性值是指向的是1.1.51,至于repositories和allprojects这2个标签倒是没有变化(因为都是指定远程依赖库) 对比一 在对比下2个项目的Module:app的build.gradle(对比二) 通过截图可以看到,Kotlin项目的Module:app-build.gradle比传统项目的Module:app-build.gradle多了2个apply plugin,分别是 apply plugin: 'kotlin-android'以及 apply plugin: 'kotlin-android-extensions' 试想,当我们原来区分一个Module是App还是library的时候,都是根据 apply plugin: 'com.android.application\library'这个标签属性来区分的,因此新增的两个标签也就从侧面反映了这是一个Kotlin项目。 对比二 接着对比下2个项目的Activity的代码(对比三): 毕竟Activity的代码才是我们最需要关注的。通过截图最直接感受的就是有如下差异: 首先,传统的类修饰符以及方法修饰符(public protect)没有了; 然后,extends关键字没有了,Kotlin取而代之的是 :这个分号; override注解没有了,Kotlin取而代之的是override fun写在一行; Java方法上的参数顺序是: 数据类型在前 数据名在后,Kotlin却是反过来的,数据名在前 数据类型在后; Kotlin的分号没有了 对比三 综上,以上对比可以看出Kotlin在语法上和写法上跟Java有较大的差异。语法算不上很简洁,可能需要进一步学习才能体会到Kotlin的优势。 总结: 本篇文章我们主要学习了:Kotlin在Android Studio上的环境搭建、Kotlin在Android Studio上的应用和可视化直观对比。总的来说,第一篇文章内容不是很多,主要是初步了解Kotlin的基本构建以及Kotlin项目的初体验、对比传统项目的差异。 如果这篇文章对你有帮助,希望各位看官留下宝贵的star,谢谢。 Ps:著作权归作者所有,转载请注明作者, 商业转载请联系作者获得授权,非商业转载请注明出处(开头或结尾请添加转载出处,添加原文url地址),文章请勿滥用,也希望大家尊重笔者的劳动成果

优秀的个人博客,低调大师

PHP项目学习1

最近在学习PHP,看了《轻松学PHP》,2天看完,学习了很多基础知识,可是没有出什么成果。然后看《PHP项目开发全程实录》,里面讲到一个online影视365网,刚好有一个朋友也要使用PHP做一个视频类的网站,所以我就用这个项目来练练。 主要内容: 架构 前言 开发背景 需求分析 系统分析 系统目标 系统的功能结构 架构 online影视365网,Apache+PHP+adodb+phpMyAdmin+MySQL实现。 前言 在全球知识经济和信息化高速发展的今天,网络化是企业发展的趋势,21世纪的人更习惯在网站上听音乐、看电影,所以企业要在同领域中得到突飞猛进的发展,就必须借助网络。 当今社会进入一个信息快速发展的社会,在网络世界浏览信息的同时,也可以听听歌曲,这样既愉悦了身心,有得到了最新的市场动态,由此网络上也出现了很多的影视网站,都很受到欢迎。未来视听生活的新空间,也必然在宽带互联网上开启。VOD(视频点播)的概念已经被越来越多的人接受,逐渐成为网络发展的必然趋势之一。 开发背景 xxx影视有限公司是一家以影视为主的公司。为了扩大企业规模,增强企业竞争力,决定向多元化发展,计算机技术、网络通信技术、多媒体技术、数据存储技术的飞速发展,对人类生产和生活方式产生了很多的影响。网络传播以其特有的快速、高效、便捷的被人们所接受、随着多媒体数据的存储、传输、应用技术的不断成熟,宽带网络的不断发展,我们有理由相信视频点播一定会成为网络内容创新的重头戏。 需求分析 根据客户要求、成本核算,本系统索要实现的功能如下: 网站实行会员等级管理,分“普通会员”和“高级会员”2种 网站提供下载和在线视听功能,不同的会员等级实现的功能操作也不同 网站分前台和后台2部分,没有权限,用户无法进入后台进行管理 独特的点歌模块,为网站会员提供点歌平台(其实我觉得这个功能是不是附送的,有点鸡肋) 前期数据量比较少,可以使用小型数据库,以节约成本,如果后期数据量增大,则可以更换大型数据库 系统分析 系统目标 其实基本上和需求相关 online365影视网主要实现一下目标: 自定义鼠标样式(这个应该是CSS的内容) 采用无边框窗口技术 信息搜索灵活、方便 采用多媒体引用技术播放影音文件 网站采用文件上传和下载技术实现图像、音频、视频文件的客户端上传和下载(这个也算是技术?不就是会用file类型的input标签,然后会使用file的io操作,看来真是能够使用的就算是自己的技术) 系统的功能结构 online影视365网的前台功能结构 online影视365网的后台功能结构 未完待续。。。

优秀的个人博客,低调大师

JAVA重拾1

java的运行过程实质? 源代码被编译然后被解释成机器语言 源代码--->编译器--->字节码--->解释器---机器码 .java--->Compiler--->.class--->Interpreter---Machine code 生米--->锅--->熟饭--->筷子---品尝 Compiler+Interpreter构成JVM虚拟机的基本功能 静下来分析可以发现java的整个运行过程只是把生米用锅煮成熟饭最后用筷子吃 源代码就是生米(没有正常人会把生米拿来吃吧?) 编译器就是锅(有各种型号的锅,但目的都一样:加工食材) 字节码就是熟饭(熟饭还是要用工具来进食的) 解释器就是筷子(就像有些人只食口前饭) 机器码就是品尝过程了 整个过程JVM负责2次转译,可以看出效率并不高,但是正是因为他的存在才让JAVA可以一次编写,随处可用 提一个不专业的疑问: 可否将JVM看成给每个平台都是定制的,而程序是一个相对单一的,这一点貌似在hibernate框架的多对多映 射中有相似处

优秀的个人博客,低调大师

lecture 1 isinstance()函数

isinstance()与type()区别: type()不会认为子类是一种父类类型,不考虑继承关系。 isinstance()会认为子类是一种父类类型,考虑继承关系。 如果要判断两个类型是否相同推荐使用 isinstance()。 语法 以下是 isinstance()方法的语法: isinstance(object, classinfo) 参数 object --实例对象。 classinfo --可以是直接或间接类名、基本类型或者有它们组成的元组。 返回值 如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。z 实例 以下展示了使用 isinstance 函数的实例: >>>a = 2 >>> isinstance (a,int) True >>> isinstance (a,str) False >>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True True type()和isinstance()函数的区别: class A: pass class B(A): pass isinstance(A(), A) # returns True type(A()) == A # returns True isinstance(B(), A) # returns True type(B()) == A # returns False 本文摘录自:http://www.runoob.com/python/python-func-isinstance.html

优秀的个人博客,低调大师

第 1 章 Audio

Digital Audio Workstation 目录 1.1. ardour 1.2. LMMS 1.3. Qsynth 1.4. Rosegarden 1.5. TerminatorX 1.6. Pulseaudio 1.7. Synthesizer 1.7.1. ZynAddSubFX 1.8. Drums 1.8.1. Hydrogen http://revo-create.com/viewthread.php?tid=11731 混音系列 ardour Pulseaudio 取样器 Qsynth 1.1.ardour http://www.ardour.org/ Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a>comments powered by Disqus 原文出处:Netkiller 系列 手札 本文作者:陈景峯 转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册