首页 文章 精选 留言 我的

精选列表

搜索[系统],共10000篇文章
优秀的个人博客,低调大师

swift4.1 系统学习一

/* swift学习笔记1 简介 swift出现的目的:为了简化macOS和iOS开发 特点: 1.开源 2.跨平台 3.面向对象的编程语言 4.编程范式丰富:面向过程,面向对象,函数式编程 5.安全性 */ /* swift学习笔记2 基本类型体系 1.枚举(enum) 2.结构体(struct) 3.类(class) 4.协议(protocol) 5.函数(function) 6.复合类型:元组(tuple) 注意:这里并没有像别的语言那样,把基本数据类型和用户自定义数据类型分类。 值类型:枚举和结构体 引用类型:类和函数 抽象接口类型:协议 协议到底是值类型还是引用类型要取决于所引用的对象的实际类型。 */ //1. 变量 var var a = 1 a = 2 //2. 常量 let let b = 10 //b = 8 //报错 //3. 对象声明与类型标注 //swift具有强大的“类型推导”功能,可以根据声明的对象的初始化的值来推导出对象的类型。 //4. 下划线 //在swift中,下划线具有特殊的含义——表示“通配符”。一般用于对象声明中表示一个缺省对象。 //5. 表达式 /* 四类: 1.前缀表达式 单目操作符、try操作符 2.双目表达式 双目操作符、三目操作符、类型投射操作符 3.基本表达式 字面量、self 表达式、超类表达式、闭包表达式、圆括号表达式、元组表达式、隐式成员表达式、通配符表达式、selector表达式、key-path表达式 4.后缀表达式 函数调用表达式、初始化器表达式、动态类型表达式、下标表达式、optional表达式 */ // 对于关键字作为标识符,可以使用’‘ let `var` = 0 print("\(`var`)") //6. 注释 /// 这是一个注释 /// 这又是一条注释 /// - author: wm func foo() { } foo() /// 这是一个函数 /// /// - Parameter obj: 一个整数对象 func foo(with obj: Int) { } /// 这又是一个函数 /// /// - Parameters: /// - a: 浮点型的对象 /// - b: 浮点型的对象 /// - Returns: 一个整数对象 /// - Throws: 可能会抛出异常 func foo(a: Float, b: Float) throws -> Int { return Int(a + b) } 按住键 option ,点选对应的函数名,可以看到注释。 image.png

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

区块链钱包开发系统架构详解

随着国内区块链数字货币交易平台的逐步完善,区块链钱包开发和使用会越来越频繁和重要,在使用区块链钱包时,有几个名词必须深刻理解: 1、什么是区块链钱包地址可以把区块链钱包地址想象成一个银行卡号,别人可以给你的钱包地址打钱。一般地址和私钥是成对出现的,他们的关系就像银行卡号和密码。地址就像银行卡号一样用来记录你在该钱包地址上存有多少币。我们可以简单的把钱包地址理解成为银行卡号,该钱包地址的私钥理解成为所对应银行卡号的密码。只有你在知道银行密码的情况下才能使用银行卡号上的钱。所以,在使用区块链钱包时请保存好你的区块链地址和区块链私钥。2、什么是区块链公钥区块链公钥是密码学上的一个概念,是通过一种算法得到的,一般区块链公钥和区块链私钥是成对出现的。例如,你要传送一个信息给我,而这份信的内容是机密的。你用我的区块链公钥来加密来送信,而只有用我的区块链私钥才能够看到这封信的内容。也就是说你仅仅充当了一个邮递员的角色,只有保管私钥的人才能看到这封信的内容。3、什么是区块链私钥根据区块链地址、区块链公钥的概念,就很容易理解什么是区块链私钥。你可以把它看成是你的银行卡密码。区块链公钥是一个随机数,这个随机数的概率空间很大(256位,也即是2的256次方,例:随机生成私钥:抛硬币256次,用纸和笔记录正反面并转换为0和1,随机得到的256位二进制数字可作为比特币钱包的私钥)2的256次方是个什么概念呢?比宇宙中的分子还要多。也就是说,别人是不可能和你生成一样的区块链私钥的。备份区块链钱包开发后,会出现一个备份助记词功能,选择备份助记词,输入密码,会出现 12 个单词,每个单词之间有一个空格,这个就是助记词,一个钱包只有一个助记词且不能修改。用途助记词是私钥的另一种表现形式,具有和私钥同样的功能,在导入区块链钱包中,输入助记词并设置一个密码(不用输入原密码),就能进入区块链钱包并拥有这个钱包的掌控权,就可以把钱包中的代币转移走。特征助记词只能备份一次,备份后,在区块链钱包中再也不会显示,因此在备份时一定要抄写下来。五、keystorekeystore+密码=银行卡号+银行卡密码Keystore ≠ 银行卡号keystore=加密私钥keystore+密码=私钥1.备份区块链钱包开发里有一个备份 keystore 功能,选择备份 keystore,输入密码,会出现一大段字符,这个就是 keystore。用途在导入区块链钱包中,选择官方钱包,输入 keystore 和密码,就能进入钱包。需要说明的是,这个密码是本手机原来设置的本钱包密码, 这一点和用私钥或助记词导入钱包不一样,用私钥或助记词导入钱包,不需要知道原密码,直接重置密码。特征keystore 属于加密私钥,和区块链钱包密码有很大关联,钱包密码修改后,keystore 也就相应变化,在用 keystore 导入钱包时,需要输入密码,这个密码是备份 keystore 时的钱包密码,与后来密码的修改无关。 结语在现实世界中,如果你的银行卡丢了,密码忘了,可以去银行帮你找回,你的钱还是你的钱,丢不了,这是中心化的优势。但是在区块链钱包世界中,除了你自己,没有人存储你的钱包信息,钱包信息要是丢了,没人能够帮你找回,钱包公司也不能。因此,只要你保护好钱包信息,钱包里面的财产只属于你自己,谁也抢不走,这是去中心化的优势,这是小编简单的讲解的区块链钱包的架构,如有需要进一步理解,可以给我发消息。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

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文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册