开发

Solidity编程开发实例

北慕城南 提交于 2021-01-12 20:33:10
Solidity 编程开发实例 接下来的智能合约教程非常复杂,但展示了很多Solidity的编程开发特性。它实现了一个入门的投票合约。当然,电子选举的主要问题是如何赋予投票权给准确的人,并防止操纵。我们不能解决所有的问题,但至少我们会展示如何委托投票可以同时做到投票统计是自动和完全透明。 Voting 投票 思路是为每张选票创建一个合约,每个投票选项提供一个短名称。合约创建者作为会长将会给每个投票参与人各自的地址投票权。 地址后面的人们可以选择自己投票或者委托信任的代表人替他们投票。在投票结束后,winningProposal()将会返回获得票数最多的提案。 /// @title Voting with delegation. /// @title 授权投票 contract Ballot { // 这里声明了复杂类型 // 将会在被后面的参数使用 // 代表一个独立的投票人。 struct Voter { uint weight; // 累积的权重。 bool voted; // 如果为真,则表示该投票人已经投票。 address delegate; // 委托的投票代表 uint vote; // 投票选择的提案索引号 } // 这是一个独立提案的类型 struct Proposal { bytes32 name; // 短名称(32字节) uint voteCount; //

数据库开发管理中的十条建议

主宰稳场 提交于 2020-11-08 16:31:43
因为主要管理数据库平台,所以和公司各个部门的相关技术人员都打过不少交道,然后从日常沟通中,了解到不少技术人员对数据库的观念,有正确的,有错误的,今天就列一些常见的错误观念: 1,发现锁表严重情况,会立刻想到改用Innodb,好像Innodb的行级锁之后,就不会表锁了,持这种观念的开发人员不在少数,其实他们不知道在做排序或是where条件复杂的情况下,一样会产生表锁。 2, 发现磁盘IO过大,会立刻想到分表,(这个方向是好的),但是一问,结果是分几千张表,认为这样之后,磁盘IO压力就会下降,其实分表并不能解决磁盘IO,结合分库+分表,然后分担到不同的物理机器,这样才能真正做到拆分,降低磁盘IO。 3, 大部分应用开发人员都会对表名定义的很通俗,如user,其实这样做不好,因为在进行抓包分析时候,这种没有特征的表名会导致故障排查变难。 4, 大部分应用开发人员不喜欢定时清理历史数据,只管存,不管清,导致项目数据量达到一定程度,再跑清理程序时候会比较影响服务。 5, 有些应用开发人员缺乏对表数据字段的控制,一个表放100多个字段,超级恐怖。 6,还有的应用开发人员干脆把表定义的超级多mediutext,拿数据库当存储用了,而且是冷热数据都放一起,搞得偶很无语。 7,应用开发人员经常会跑一些奇怪的join,嵌套子查询的SQL,但是却不去explain一下到底会有多大的扫描集

程序员的发展方向有哪些

和自甴很熟 提交于 2020-04-28 06:26:17
今天在这里为那些项从事 开发 工作,有犹豫不决的童鞋们,提供一些个人的看法: JAVA 、C、C++、C#、Python、JavaScrip 、PHP、等多种热门的开发语言,其实开发语言只不过是一个工具,“与其分散进攻,不如全力一击”,无论是哪一种开发语言,只要您全力地去学习,到有了一定的熟悉程度的时候,要学习另一种的语言也是轻而易举的事情。这里我根据经验将开发语言主要分为三大类: 1. 网络开发 现在网络已经成为世界通讯的一座桥梁,好像Javascript、PHP、Ruby这几类开发语言大部分是用作网络开发方面 2. 企业软件开发 JAVA、C#、这几类开发语言都实现了面向对象开发的目标,更多时候用于企业系统的开发 3. 系统软件 C语言、C++、Object-C这些软件更多是用在系统软件开发,嵌入式开发的方面。 当然,这分类不是绝对,像JAVA、C#、很多时候也用于动态网站的开发。在很开发项目都会使用集成开发的方式,同一个项目里面使用多种开发语言,各展所长,同步开发。但所以在刚入门的时候,建议您先为自己选择一种合适的开发工具,“专注地投入学习,全力一击”。 来源: oschina 链接: https://my.oschina.net/u/2971691/blog/778437

译:编程面试的10大算法概念汇总

别来无恙 提交于 2020-04-15 17:27:39
【推荐阅读】微服务还能火多久?>>> 以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念。由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍。本文将从Java的角度看问题,包含下面的这些概念: 1. 字符串 2. 链表 3. 树 4. 图 5. 排序 6. 递归 vs. 迭代 7. 动态规划 8. 位操作 9. 概率问题 10. 排列组合 1. 字符串 如果IDE没有代码自动补全功能,所以你应该记住下面的这些方法。 toCharArray() // 获得字符串对应的char数组 Arrays.sort() // 数组排序 Arrays.toString(char[] a) // 数组转成字符串 charAt(int x) // 获得某个索引处的字符 length() // 字符串长度 length // 数组大小 2. 链表 在Java中,链表的实现非常简单,每个节点Node都有一个值val和指向下个节点的链接next。 class Node { int val; Node next; Node(int x) { val = x; next = null; } } 链表两个著名的应用是栈Stack和队列Queue。 栈: class Stack{ Node top; public Node peek(){ if(top != null)

如何提升你的远程开发的成功率

一曲冷凌霜 提交于 2020-04-14 07:38:42
【今日推荐】:为什么一到面试就懵逼!>>> 远程工作是趋势,一方面降低企业成本,提升企业人才素质而不受地域局限,一方面让员工可以对自己的时间和生活质量有更大的把握。然而,要建立一个远程团队,却不是一蹴而就的事情。我们客栈自从2015年9月远程项目正式上线,迄今已完成350个远程项目,100+项目正在进展,在此期间,我们在不断和客户一起学习来提升远程项目的成功率。总结我们自己350个项目的成功经验,以及学习国外远程团队先进经验,我们总结出以下几个方面的经验:   1,什么样的人适合做远程工作   2,如何提升你的远程开发的成功率   本文谈谈,如何提升你的远程开发的成功率。    一,找到正确的人   如果合作过程中发现有人持续不能完成任务,比如说,连续不能完成每周的交付,那么你需要去分辨是哪种原因:   1,本身不具备完成本项任务的能力   2,态度不对,没有契约精神。   3,受到突发事件影响,很快能解决。   如果是第3种,可以继续合作。如果是前2种,建议尽早替换人员。    二、颗粒化需求,做到可拆分到每周,甚至每天的交付。   如果一个项目拆分出来最小的子任务,都需要起码一个月以上的时间来完成,更有可能的是需求没有整理清楚,这个时候的关键任务是整理需求,不要急着开发。   整理的关键,是以可交付任务为基本单元来准备产品文档,开发者只用基于产品文档来实现

Android Contacts源码Eclipse开发编译环境搭建

久未见 提交于 2020-04-12 14:03:57
此文不同于官方文档给出的方案,之所以如此,基于以下考虑几点考虑:我们之所以拿源码进行增量开发,一般而言,不是为了整个工程,而是为了其中某个特定的模块,比如说 Contacts , Luancher 等;其次,官方方案有一个巨大的缺陷——优化后的模块打包成 apk 很有可能无法在其他系统上安装,因为它有系统权限,并且一直签 rom 的签名,而这个签名在其他系统上是拿不到的。换句话说,除非你想做嵌入式,否则别这么干。 具体步骤: 编译源码:由于这些模块依赖的包中有一部分是不开放的,所以,只能把整个源码编译一遍,然后拿出相关的 jar 包。 关于如何编译源码网上有很多说明,都是用 git 把源码下载下来( 4G 左右),然后配下相应的编译环境。请参照: Justin 的 Build Android Platform 。通常会遇到一些错误,编译停止,这些错误通常都是一些库函数找不到,这时候你只需要将相应的库函数下载下来,也就是完善一下你的编译环境,比如说这个错误:“ /usr/bin/ld: cannot find -lz collect2: ld returned 1 exit status make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1 ” 这个错误我曾经试了很多种方法

【避坑】初次接项目的血与泪,扎坑了老铁

故事扮演 提交于 2020-04-09 21:06:19
谈起外包经历,我的第一次外包源自前两年某天陪着女友逛商场时,接到一个朋友的电话,朋友兴高采烈地跟我介绍一个大项目:需求不多、钱不少,难度不大、口气不小,我一听心动了,原以为要赚一笔 easy money,后面再看看,这次外包踩了大大小小不少的坑,遂想好好记录一下。 前期沟通 电话的第二天,和外包项目需求方简单沟通后,他们发来十几张 App 界面的样例,大概是些软硬件结合、通过 App 界面展示硬件信息和数据统计,以及相关信息的 CRUDDemo,功能不多不过开发时间也有限,要求在月底前做完 App Demo 与后台系统,赶着参加一个会议展示。对方多次强调项目的优势:正处于风口、资源配置各方面都齐备,除了...没有软件技术团队,目前只有硬件团队,软件这边只有零星的两三个,但不堪重用。 Tips: 这里我犯下了第一个错误,我以为只是一个Demo完事,但这背后是一个完整庞大的项目,项目大小、类型和复杂度的错误评估,使我没有很好地把控全局和考虑整个项目的细节,导致后面引发了很多问题。 在评估一个项目时,我们通常会低估项目的复杂度,而高估自己处理某些琐碎细节的能力。 组建团队 项目要进行,一个人是搞不定的,因为涉及到 各端 App、Web以及后台,于是我首先找了一个靠谱的后台开发朋友,然后等项目快正式开始前,再一起寻找和确定其它小伙伴。 Tips: 外包合作过程中,优先找靠谱、技术扎实

在windows下开发、调试hadoop 2程序

拟墨画扇 提交于 2020-03-24 20:38:13
3 月,跳不动了?>>> 一、winutils的windows版本 GitHub上,有牛人提供了 winutils的windows的版本,项目地址是: https://github.com/srccodes/hadoop-common-2.2.0-bin 直接下载此项目的zip包,下载后是文件名是hadoop-common-2.2.0-bin-master.zip,解压到一个目录 二、配置环境变量 配置环境变量: HADOOP_HOME, 值是 hadoop-common-2.2.0-bin-master.zip解压后的目录,如D:\Program\hadoop-common-2.2.0-bin-master 三、验证 利用hive JDBC执行show tables import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Demo { public final static String hiveJDBC = "jdbc:hive2://172.168.10.12:10000"; public static void main

使用AndEngine开发游戏之二

萝らか妹 提交于 2020-03-24 07:49:52
3 月,跳不动了?>>> 看完例子熟悉了基本以后就可以开始制作游戏了。 游戏的具体代码我就不贴了,有兴趣可以到我Github上看。下面说一下一些注意的事项 一、声音 1. 背景音乐 作为背景音乐就应该是循环播放的,注意这里是背景音乐,不是背景声音。。。(只有音乐才可以循环播放,我就在这里吃过亏)。 2. 声效。。这个应该没有什么难的 首先,在onCreateEngineOptions()方法里面加点东西 @Override public EngineOptions onCreateEngineOptions() { this.mCamera = new Camera(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); final EngineOptions engineOptions = new EngineOptions(true,ScreenOrientation.LANDSCAPE_FIXED, new RatioResolutionPolicy(SCREEN_WIDTH, SCREEN_HEIGHT), this.mCamera); engineOptions.getAudioOptions().setNeedsSound(true); engineOptions.getAudioOptions().setNeedsMusic(true); return

Freelancer自由工作离我们还有多远?

瘦欲@ 提交于 2020-03-06 13:38:02
Freelancer自由工作离我们还有多远?   离职闲下来,接触了不少大牛级别的自由职业者,硬是被改变了些许世界观,第一感觉就是“哇擦!程序猿还能这么玩”。   现在除了线下做点传统外包,也会去了解国内外的外包平台,elance、upwork(原odesk)、Freelancer是我重点关注的。访问过去我就傻眼了,不翻墙速度奇慢,而且,满眼的English真是让我呵呵。Freelancer还不错,不少页面做了中文交互,但是中英混杂的文案看起来依旧别扭。这样看来,不学习英文就没法去接单啊,什么数理化都是浮云啊,赚钱面前英文才是王道。   再来看看国内的平台,接外包首选猪八戒!为啥?二师兄宣传的牛逼啊。出家早,背景雄厚,身处直辖市重庆,搞得一手好关系。虽然产品做得一塌糊涂(纯互联网角度),但经过9年的发展好歹也有了千万用户,并自称为国内最大的众包服务平台。在广大需求方和服务方的不断吐槽中,二师兄在6月中稳稳获得了26亿融资,并在8月份宣布免佣金,这是多么伟大的决定!感觉接外包的人们顿时嗨起来了,不过,我也得叹息一声,“项目佣金又TM要降低了”。   不过,这么做一定是有原因的!根据小道消息,猪八戒网依靠项目介绍那20%的佣金很难支撑平台发展,还落下了不好的口碑,而去年新开的“猪镖局”业务已经成为了现金流的主力。36氪也对此事进行了报道 。(猪八戒网免佣金背后