自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

余熙钰的博客

此情可待成追忆,只是当时已惘然!

原创 基于Google Flutter的开源中国客户端,支持Android与iOS

FlutterOSC基于Google Flutter的开源中国客户端,支持Android和iOS。码云戳这里 GitHub戳这里 关于Google FlutterAndroid扫码下载APK请使用手机浏览器扫码下载,不要使用微信或者qq扫码https://user-gold-cdn.xitu.io/2018/5/9/163431061116cabf?w=280&h...

2018-05-10 10:07:26 2390 2

原创 golang操作sqlite数据库

go-sqlite3开源库地址:https://github.com/mattn/go-sqlite3使用方法代码如下:package mainimport ( "database/sql" "fmt" "log" _ "github.com/mattn/go-sqlite3")const ( dbDriverName = "sqlite3" dbName ...

2020-02-10 15:29:51 618

原创 golang实现的文件服务器

最近在学习golang,使用golang实现了一个最简单的文件服务器,程序只有简单的十多行代码,可以编译成windows, linux, mac多平台可执行文件。源码package mainimport ( "fmt" "net/http" "os" "path/filepath")func main() { p, _ := filepath.Abs(filepath....

2019-06-06 15:09:26 4312 1

原创 Ubuntu安装mysql没有提示设置密码的问题

今天在Ubuntu上安装MySql,使用了如下命令:sudo apt install mysql-server安装过程中竟然没有提示输入root账户的密码,查阅资料后,将修改root密码的过程记录如下:进入/etc/mysql目录,查看debian.cnf文件cd /etc/mysqlsudo cat debian.cnf该文件中记录了用户名密码:使用上面文件中的user和pa...

2019-06-06 14:49:40 1137 1

原创 使用Nginx搭建文件服务器

第一步: 安装Nginx:sudo apt-get install nginx第二步: 修改Nginx的配置文件在/etc/nginx/conf.d目录下,创建新的配置文件default.conf,粘贴如下内容:server { listen 80; server_name 127.0.0.1; #charset koi8-r; ...

2019-05-13 16:52:05 1951

原创 Check failed: vm. Must be able to initialize the VM.错误解决方法

今天在已有的Android工程中接入Flutter,启动Activity加载Flutter View时出现“Check failed: vm. Must be able to initialize the VM.”错误,一番搜索之后将解决该错误的方法记录如下:该错误的原因是Android打包的apk中确实flutter_assets文件夹及内容,确实原因暂时不详。假设当前有一个projec...

2019-05-10 11:49:38 1101 3

原创 Mac上MySQL忘记密码解决方法

今天在Mac上使用MySQL时,输入mysql -uroot -p后输入密码,发现登录不了MySQL服务器,应该是密码忘记了,查找资料后把修改MySQL的密码过程记录如下:关闭MySQL服务在Mac的系统偏好设置中,进入MySQL管理面板,然后选择“Stop MySQL Server”选项停掉服务。打开终端依次执行如下命令:# 第一步,进入mysql的bin目录cd /...

2019-05-09 12:01:30 5933 3

原创 Ubuntu上使用npm命令全局安装的包所在的路径

Ubuntu上使用npm命令全局安装的包所在的路径:/usr/local/lib/node_modules

2019-05-09 09:12:57 2842

原创 Ubuntu配置Nginx负载均衡

Ubuntu配置Nginx负载均衡假设现在有3台机器:A:192.168.1.100B:192.168.1.101C:192.168.1.102假设现在B,C机器上已部署了Web服务器,访问192.168.1.101:9999和192.168.1.102:9999均可以获得服务器返回的数据。现在使用A机器作为负载均衡器,将对A机器的请求分流到B或C机器上,需要如下操作:给A机...

2019-05-08 11:34:17 304

原创 "Couldn't connect to Docker daemon at http+docker://"错误解决

今天在服务器上安装docker并执行docker-compose up -d命令时,报错如下:ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?If it's at a non-standard location, specify the URL with ...

2019-05-06 16:18:38 1217 1

原创 golang学习笔记6——并发

goroutinegolang里面没有线程的概念,取而代之的是一种叫做goroutine的东西,它是由golang的运行时去调度的,可以完成并发操作。使用goroutine很简单,直接使用go关键字就行,如下面的代码:package mainimport ( "fmt")func test() { fmt.Println("call test...")}func main...

2019-04-29 16:40:21 73

原创 golang学习笔记5——接口

接口的声明golang中的接口声明方式如下:type 接口名 interface { 方法名(参数) 返回值}例子:// Writer接口type Writer interface { // Write方法,参数为一个字符串 Write(s string)}// Stringer接口type Stringer interface { // String方法,参数为空,...

2019-04-27 12:35:51 65

原创 golang学习笔记4——结构体

结构体格式golang中的结构体格式如下:type 结构体名称 struct { 字段名 字段类型 字段名 字段类型}下面定义一个结构体Point,有坐标x, y两个整型字段:type Point struct { x int y int}同种类型的字段可以写在一行,如下代码:type Color struct { r, g, b byte}结构体的初始化结构...

2019-04-26 15:45:46 233

原创 golang学习笔记3——函数

函数函数的形式func 函数名称(函数参数 参数类型) 返回值 {}例如:package mainimport "fmt"// 一个简单的add函数,传入两个整数,返回两个数的和// 参数类型都是int,所以合并写参数类型func add(a, b int) int { return a + b}// 参数类型不一致,分开写参数类型func SayHello(a...

2019-04-26 10:40:01 81

原创 golang学习笔记2——容器和流程控制

golang容器golang中的容器主要有这几类:数组切片MapList下面分别记录相关用法。数组数组的定义与初始化数组的定义与初始化,用下面的代码来说明:// 数组定义与初始化的第一种方式var arr [2]intarr[0] = 1arr[1] = 20// 输出 [1 20]fmt.Println(arr)// 数组定义与初始化的第二种方式var n...

2019-04-25 16:06:20 60

原创 golang学习笔记1——基础知识

golang变量的声明声明变量有两种方式:使用var声明变量// 声明一个整型数据var a int// 声明一个字符串var s string// 声明一个浮点数组var c [2]float32// 声明一个函数var d func(int) bool// 声明一个结构体var e struct { x int}使用:=声明变量并赋值例如:age :...

2019-04-25 11:32:15 84

原创 在Ubuntu上搭建基于Nginx、uWSGI的Flask应用

在Ubuntu上搭建基于Nginx、uWSGI的Flask应用安装virtualenv如果还没有安装pip,可以使用如下方式安装pip:sudo apt-get install python-pip安装完pip后,使用pip安装virtualenv:sudo pip install virtualenvvirtualenv是python的一个虚拟环境,可以很方便的隔离不同的pyth...

2019-04-24 12:02:58 65

原创 Android dependency ‘xxx‘ has different version for the compile错误解决步骤

今天在AndroidStudio中构建项目的时候出现如下错误:Android dependency ‘com.android.support:cardview-v7’ has different version for the compile (27.0.2) and runtime (27.1.1) classpath. You should manually set the same ve...

2018-11-29 09:48:03 3673

原创 从0开始写一个基于Flutter的开源中国客户端(8)——插件的使用

上一篇中我记录了基于Flutter的开源中国客户端里网络请求和数据存储的部分,本篇记录的是app中插件的使用,由于很多功能并没有内置到Flutter中,所以我们需要引入一些插件来帮助我们完成某些功能,比如app内网页的加载,图库选择照片等。搜索插件包要使用插件,必须知道插件叫什么名字,目前是什么版本,Flutter提供了一个插件仓库,可以去上面搜索相关的插件,仓库地址为:https...

2018-08-14 09:59:10 3686 2

原创 从0开始写一个基于Flutter的开源中国客户端(7)——App网络请求和数据存储

上一篇中我记录了基于Flutter的开源中国客户端各个静态页面的实现,主要是UI的实现,没有涉及到任何网络请求,数据加载、存储等方面。本篇记录的是该项目中的网络请求和数据存储、加载的方式,希望自己在温故知新的同时能给Flutter初学者带来帮助。Flutter中的网络请求Flutter中已内置了网络请求库,可直接导入使用:import 'package:http/http....

2018-08-13 09:52:38 1196

原创 从0开始写一个基于Flutter的开源中国客户端(6)——各个静态页面的实现

上一篇中我记录了基于Flutter的开源中国客户端的整体布局框架的搭建,本篇记录的是每个页面的静态实现,关于具体的数据加载和存储,放在下一篇中记录,希望自己在温故知新的同时,能给Flutter初学者一些帮助。在基于Flutter的开源中国客户端中,使用得最多的就是ListView组件了,基本上80%的页面都需要用列表展示,下面分别说明每个页面的实现过程。侧滑菜单页面的实现上一篇...

2018-08-12 19:07:01 681

原创 从0开始写一个基于Flutter的开源中国客户端(5)——App整体布局框架搭建

上一篇中我记录了Flutter中常用的一些布局,本篇开始开发基于Flutter的开源中国客户端了。在本篇博客中,要实现的是一个App的整体框架,包括页面底部的Tab导航菜单、页面的侧滑菜单以及跳转到新的页面这几个功能。希望自己在记录的同时能温故知新,同时给初学者一些帮助。App整体布局框架搭建在我们日常生活中经常使用的App比如微信、微博、QQ等,基本上都是使用首页底部多个Tab可...

2018-08-10 10:24:32 1532

原创 从0开始写一个基于Flutter的开源中国客户端(4)——Flutter布局基础

我的上一篇博客中记录了Flutter基础和一些常用的Widgets,这一篇中主要记录Flutter常用的一些布局,希望自己在记录的同时能温故知新,同时给初学者一些帮助。Flutter布局容器在Android开发中,我们使用xml文件写布局,有诸如LinearLayout、RelativeLayout、ConstraintLayout等布局方式,在ReactNative或WEEX开发...

2018-08-09 14:33:11 1598

原创 从0开始写一个基于Flutter的开源中国客户端(3)——初识Flutter & 常用的Widgets

上一篇主要介绍了Dart语言的语法基础,从这一篇开始就要真正涉及到Flutter的开发了,希望自己在写作的过程中能温故知新,同时给Flutter初学者带来一些帮助。# 一个最简单的Flutter App## 创建项目,添加代码还记得在[上一篇](https://juejin.im/post/5b5005866fb9a04fea589561)中,我们使用Android S...

2018-08-08 17:30:08 1316

原创 从0开始写一个基于Flutter的开源中国客户端(2)——Dart语法基础

上一篇介绍了跨平台移动开发解决方案Flutter以及Flutter开发环境的搭建,由于Flutter开发使用的是Dart语言,故本篇记录的是Dart语言的语法基础,希望跟小伙伴们一起温故知新。Dart语言简介Dart是Google推出的一门编程语言,最初是希望取代Javascript运行在浏览器端,后来慢慢发展成可以开发Android、iOS和Web端App的一门高质量的编程语言,...

2018-08-07 16:27:33 943 2

原创 从0开始写一个基于Flutter的开源中国客户端(1)——Flutter简介及开发环境搭建

近几年,移动端跨平台开发方案层出不穷,从Facebook开源ReactNative,到阿里跟进WEEX,前端技术在移动端跨平台开发中大展身手,笔者作为一名Android开发者,经历了从Reactjs到Vuejs的不断学习。而在2018年,我们的主角变成了Flutter,这是Goolge开源的一个移动端跨平台解决方案,可以快速开发精美的移动App。笔者在2018年3月份有幸结识了Flutter...

2018-08-06 15:23:52 1100

原创 ES6(ES2015)新特性知识点整理

map, forEach, filtermaplet nums = [1, 3, 5, 7, 9];console.log(nums); // [ 1, 3, 5, 7, 9 ]// map方法传入一个函数,遍历数组中的每一个元素并将这个方法作用在元素上,最后返回一个新的数组,不改变原数组let arr1 = nums.map(i => i + 1);console.l...

2018-07-18 15:42:19 641

原创 Python复杂对象转json字符串

将一个对象数组转为json字符串,使用json.dumps()方法,比如下面的对象:class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return json.dumps({ ...

2018-04-08 19:35:34 2330

原创 基于ReactNative的跨平台俄罗斯方块游戏的实现3——游戏中Shape的实现

在上一篇中,我记录了基于React Native的俄罗斯方块小游戏的游戏框架的搭建,本篇记录的是如何实现俄罗斯方块的Shape,Shape代表一个可以移动和下落的图形。ART绘图基础要完成俄罗斯方块的Shape,必须先了解下React Native中的绘图基础。React Native内置了一个ART库专门用于绘图,下面简单记录一下使用ART库的方法。下面的代码用于在手机屏幕的...

2018-03-07 17:33:44 243

原创 基于ReactNative的跨平台俄罗斯方块游戏的实现2——搭建游戏整体框架

在上一篇中我介绍了使用React Native开发的跨平台俄罗斯方块小游戏,截图和代码都在上一篇中。本篇记录的是如何来实现这个小游戏的框架。如果你还不了解React Native,可以参考React Native中文网游戏整体框架介绍这个俄罗斯方块小游戏的源码目录层次如下图所示: 最主要的是src目录和index.js、App.js文件,需要注意的是,在低版本的React...

2018-03-07 10:36:35 1580

原创 基于ReactNative的跨平台俄罗斯方块游戏的实现1——开篇

翻了下自己的CSDN博客,发现距离上次写博客,已经过去了大半年了,这大半年里偷了懒,没有持续写技术博客,很多技术是需要积累的,不然容易忘记。今天开始,在这里提醒自己,每一个技术点都用博客记录下来,方便自己温故,也可以给其他同行分享,谨记!概述今天要写的是我在空闲时间里使用React Native开发的一款跨平台的俄罗斯方块小游戏,该游戏支持Android与iOS,游戏截图如下:...

2018-03-06 16:16:59 395

原创 如何使用夜神模拟器调试ReactNative应用

连接模拟器 在命令行下进入夜神模拟器安装目录的bin目录下,然后执行nox_adb connect localhost:62001如果端口号62001连接不上的话,改用52001试一下进入shell环境 执行下面的命令进入shell环境:nox_adb shell在shell环境下执行getprop命令,如下图: 找到dhcp.eth1.server对应的IP地址打开nox模拟器,确保

2017-06-22 12:10:45 6164

原创 ReactNative实战之仿微信客户端

代码地址:点击查看代码截图

2017-06-06 18:49:17 2684 1

转载 系统权限

本文转载自Google官方文档:https://developer.android.com/guide/topics/security/permissions.html?hl=zh-cn#normal-dangerous系统权限本文内容安全架构应用签署用户 ID 和文件访问使用权限正常权限和危险权限权限组定义和实施权限自定

2017-04-10 14:46:38 639

转载 权限最佳做法

本文转载自Google官方文档:https://developer.android.com/training/permissions/best-practices.html#perms-vs-intents权限最佳做法本文内容考虑使用 intent不要让用户感到无所适从解释需要权限的原因测试两种权限模式另请阅读与其他应

2017-04-10 14:41:39 398

原创 Android MVP框架学习

什么是MVP框架做Android开发也有好几年时间了,最近接触了Android开发的MVP模式,MVP即Model、View、Presenter的缩写。如果有过一些项目开发经验的人,在项目功能越来越多,逻辑越来越复杂的时候,代码一定会写得越来越乱,乱到自己都很难看下去了(本人在做项目时深有体会)。因为Android以前的开发模式比较类似于MVC框架,XML布局为View层,数据实体为Model层,A

2017-03-26 16:06:29 685

转载 Android DataBinding高级篇

本文转载自:http://blog.zhaiyifan.cn/2016/07/06/android-new-project-from-0-p8/承接上篇,本篇继续讲解一些Data Binding更加进阶的内容,包括:列表绑定、自定义属性、双向绑定、表达式链、Lambda表达式、动画、Component注入(测试)等。Demo源码库:DataBindingSample。

2017-03-26 11:15:13 4997

转载 Android DataBinding入门篇

本文转载自:http://blog.zhaiyifan.cn/2016/06/16/android-new-project-from-0-p7/引Data Binding自从去年的Google I/O发布到至今,也有近一年的时间了。这一年来,从Beta到如今比较完善的版本,从Android Studio 1.3到如今2.1.2的支持,可以说Data Binding已经是一个

2017-03-26 11:09:19 515

原创 Android项目使用AFinal框架中的FinalDB模块时报错java.lang.NoSuchMethodException: getSerialVersionUID []的解决方法

前言本篇文章记录的是我近期在Android项目中使用AFinal框架的FinalDB模块时遇到的java.lang.NoSuchMethodException: getSerialVersionUID []错误的解决方法。 AFinal框架是Android开发中一个非常老的框架了,由于我刚开始学习Android开发时就使用了该框架,导致后来的开发工作中就一直使用的这个框架,包括网络请求,数据库操作

2017-01-05 20:56:03 4123

原创 Python基础学习笔记

这几天一直在学习Python,总体来说,Python给我的感觉是,简洁、有趣、功能强大、易学。我对Python是这么理解的:Python是一门解释型脚本语言,通过Python解释器解释执行Python代码,Python的使用范围包括开发桌面应用,开发web应用,开发各种小工具和脚本任务等。 为了避免在以后的学习过程中对Python的基础知识点有所遗忘,现在将Python基础知识记录在此,希望自己以

2016-12-08 17:05:22 515

提示
确定要删除当前文章?
取消 删除