ReactNative学习二-Component
搭建静态页面的原则单一责任原则每个组件都应该只有一个单一的功能,并且这个组件和其他组件没有相互依赖
分析一段代码来学习一个组件的基本构成
12345678export default function Product({product = {name: '苹果', price: '1元'} }) { return ( <View style={{flexDirection: 'row', marginTop: 5}}> <Text style={{flex: 1}}>{product.name}</Text> <Text style={{width: 50}}>{product.price}</Text> </View ...
iOS配置统一推送证书Token Authenticatio方式
背景
由于开发者账号下面配置的app越来越多,对于推送证书的配置有了新的要求,证书尽可能只需要配置一次就可以。
方案Apple提供了一种新的方案,在开发者网站上,可以创建keys,极光推送目前也已经对这种方式进行了支持,创建好的key,保存到本地会是一个p8类型的文件,创建流程如下123
第一步: 点击key盘边的“+”号按钮
图一
第二步:然后勾选apple push notification service
图二
第三步:输入要创建的keys名称,然后点击右侧的regiest按钮
图三
第四部:登入极光平台,然后选中刚才生成的P8文件,之后,挨个填入对应的信息
图四
备注
极光推送网站
apple配置地址
ReactNative学习一-RN的技术栈
基础知识下面这张图是极客时间讲师:蒋宏伟总结的RN需要的基础知识
从上到下,分为:
开发语言,框架,工具等基础
RN的知识,主要是组件的学习
实践
React框架基于组件React是在 2013 年正式开始开源的。在此之前,业内的大多数 Web 框架都是 MVC 框架。 MVC 框架解决了代码大杂烩的问题,它把代码分成了职责分明的三层,M 指的是数据模型 Modal,V 指的视图模板 View,C 指的是控制器 Controller。MVC 强调的是数据、视图和逻辑之间松耦合,其文件结构也是按这三类分门别类地组织起来的。
声明式声明式编程是一个大的概念,除了我们前面提到了 HTML 所属的领域专属语言(DSL)之外,还有函数式编程等子编程范式。熟悉 React 的同学可能就知道了,React 借鉴了大量的函数式编程的思想。核心基础篇中的函数组件、hook,还有我们后面要讲的状态管理工具 Redux 和新架构原理,都大量使用了函数式编程的思想
核心组件的样式
Image
Pressable
TextInput
List
以上面四个组件为例,学习组件的样式
项目实践实践才能将所 ...
使用钉钉机器人将禅道任务,自动发送到钉钉群组
一、为什么要开发这样一个功能?
禅道,是公司用来对项目进行管理的软件,主要是用来对项目任务、产品bug进行追踪和管理.钉钉,是公司所有员工用来工作沟通的软件
将禅道上面,每个员工工作任务的情况,进行汇总并同步到钉钉群,有助于项目人员及管理人员对项目执行情况快速及时的掌握
下图是最终实现的效果图,钉钉机器人将项目组成员,一周任务完成情况,进行汇总。未完成的任务点击链接可传送到禅道对应的任务页面,进行快速处理
二、实现原理
钉钉的webhook机制
禅道的二次开发API
python脚本
crontab定时器
钉钉的webhook机制钉钉的webhook,是可以通过向一个url地址,发送消息,然后钉钉解析之后,会根据消息类型展示不同的样式卡片,而这个url,就是通常我们说的webhook,翻译成中文就是“网络钩子的意思”
添加一个钉钉群组机器人,大概需要以下四步第一步: 群组中进入群设置
第二步:点击智能助手,进入机器人设置页
第三步:勾选自定义机器人,并进入机器人设置页
第四步:机器人添加设置页
禅道的二级开发api想要实现我们的效果,需要拿到每个员工的任 ...
Python学习笔记(三)
今天来继续学习下pytho中的函数
学习目标
如何定义函数及带不同参数的函数
函数模块
global、nonlocal、lambda
如何定义函数
无入参的函数
12def sayHello(): print(hello)
带返回值的函数
1234def sayHello(): hello = 'hello' print(hello) return hello
带参数函数
12def saySomething(something): print(something)
有默认值函数
12def sayDefault(something='helloworld'): print(something)
可变参数* ,**
123456def sayMore(*morething): for a in morething: print(a)def sayMoreDic(**moreDic): for dic in moreDic: print(dic)
*修饰的参数,其实是一个元组,**修饰的参数是一个字典,传入方式如下 ...
修改Mac系统的命令行默认启动为Python3
问题mac系统的默认python环境为2.7.10,当前python的主流库都升级到3.7版本了。因此需要对python进行升级.升级方法这里不在介绍,参考这里,
当将本机的python升级到3.7之后,在mac自带终端,输入python -V之后会发现版本仍然是之前的2.7.10
解决办法
打开命令行,执行如下命令
1➜ ~ open ~/.bash_profile
在该文件的最下面,添加如下命令
12export PATH=${PATH}:/Library/Frameworks/Python.framework/Versions/3.7/binalias python="/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7"
最后执行
123➜ ~ source ~/.bash_profile➜ ~ python -VPython 3.7.4
但是这么解决还有一个问题,当重启命令行之后,又会变为2.7.10版本。接下来需要继续执行
1open /etc ...
Python结合cocoapod自动发布版本实践
一、问题ios开发人员可能对cocoapod比较熟悉,在维护个人的cocoapod版本的时候,会遇到一个问题,那么就是本地代码库修改了文件,一般需要做如下三步操作
代码功能开发完毕,提交代码到git服务器
修改.podspec文件中的版本号
给对应的提交打上tag,以便pod发布时需要
使用pod trunk push 命令,发布到cocoapod
步骤比较多,修改版本和打tag,有时候容易遗漏,如果发布失败的话,还需要重新再修改版本,打tag。很浪费时间,基于此,结合我最近研究的python,写了一个脚本。来实现一键提交代码、发布pod库的功能
二、脚本12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#encoding:utf-8#!usr/bin/pythonimport osf = open("CYKit.podspec", "r+")print ("文件名为: ", f.name) ...
Hexo升级3.9.0实践
一、诉求hexo使用了好几年了,使用的版本一直是3.2.0, node 版本也是4.5.9版本,当前很多的node_models要去的版本都是6.0以上了,所以今天对hexo和node进行一次升级,全部都升级到最新版本。
hexo->3.9.0
node->10.16.3
具体带来的好处是页面打开速度加快、使用最新的插件,升级完成之后,可以支持文章字数统计和阅读时间统计。此外,还有一点就是以前一直对写的文章的代码区,不是很满意。此次也一并解决。
二、升级方案
node升级方案
hexo升级方案
hexo文字字数与hexo阅读时间改造
这里要多说几句,由于有两个方案实现这个功能,一种是通过npm install hexo-wordcount --save这种方式,误导文章,浪费了很多时间在这里。而正是的方式应该是 $ npm install hexo-symbols-count-time --save
最终总算是找到正确的姿势,文章也实现了字数与阅读时间的统计
三、意外产物在升级过程中,意外搞出来一些其他小的东西,如代码支持暗黑模式(这个功能以前也有,没有找到 ...
Python学习笔记(二)
今天来学习下Python中的数组、元组和字典
一、数组
数组的声明,python的数组可以存放任何类型的数据,数组的声明如下
12#数组的声明list = [1, 2, 'chengyan',['chengyan',1]]
数组元素的获取,支持根据下标进行获取
123#根据下标获取print(list[0])#将会打印1
列表常用的方法**
方法名称
方法功能描述
append
在列表尾部拼接元素
clear
列表清空(python3.3之后支持)
copy
复制生成另一个列表(3.3后支持)
count
统计指定元素个数
extend
合并两个列表
index
获取指定元素的下标
insert
在指定位置插入元素
pop
删除指定下标元素
remove
删除某个元素,元素需要在列表中,否则会报错
reverse
反转列表
sort
对列表进行排序
二、元组元组与列表的区别在于:1. 元组不能对其元素进行变动,而列表可以。2. 元组用()括起来,而列表用[]括起来
元 ...
Python学习笔记(一)
今天开一个专题,来记录下学习python的一些笔记
1、 打印输出123#encoding:utf-8print('hello world')print('你好,世界')
2、变量声明123456789101112#声明一个字符串monday='星期一'#声明一个int类型的数字one=1#声明一个浮点类型的数字pi=3.14#声明一个数组arr=['1','2',2222]#声明一个字段dic={'name':'成焱','age':22}#声明一个bool类型的boolvalue=False
3、常用字符串操作函数
求字符串长度
1stringlength=len(monday)
字符串拼接
123string1='你好'string2='成焱'string3=string1+string2
格式化字符串输出
123456789101112131 ...