python进阶02yield

yield关键字之前见过,也能读懂,但开发时也不大敢使用,感觉理解还是不够充分。刚好项目代码中有涉及,顺便再学习学习。
在理解yield之前,

开源阅读系列

现状与不足

django入门进阶12信号

看起来简单,用起来简单。理解起来则未必容易。上学那会这一块就没整明白,这两天又查了下资料,算是基本弄懂了。
为何难以理解?个人感觉起名占了很大一部分,如果signal命名为“观察者”,“监控者”,“盯梢者”,就容易理解多了。其本质就是一种典型观察者模式。命名为信号,第一感觉是”信号量“类似的东西。

linux_crontab任务配置失败原因总结和技巧

 昨天,配置crontab时遇到一些坑。crontab虽然算比较熟悉了,但也有1年多没碰过,有点生疏了,低级错误基本又犯了一遍。顺便整理下。

linux_ubuntu代理神器v2ray和Qv2ray

安装等不在赘述,网上一堆
v2ray特殊之处在于其代理模式上
传统代理:本机不安装任何软件,直接配置浏览器代理(ubuntu),或者,window/网络/中配置代理,本机不需要增装软件
当前主流代理:购买软件授权码,使用软件授权码就可使用代理
v2ray模式:需要安装2个软件,1个本机,1个服务器,这个是比较特殊的,否则看他人文档时容易懵,为何刚才安装一次又要再安装?

linux_sh和bash区别

区别:bash,sh,./,bash
当我们使用 sh test.sh 、bash test.sh 、 ./test.sh
运行脚本都会使用一个新的shell环境来执行脚本内的命令,
当子进程完成后,子进程内的各项变量和操作将会结束而不会传回到父进程中。

软件_matplotlib绘图跳过时间段的处理方案

在绘制行情图时matplotlib,遇到时间索引会自动进行补全,导致dataframe不存在的记录实际绘图中也有,不过是一条连续平线。这个默认设计对大部分情况也是合理的,但在股票行情分析中,我们并不需要自动填充,反而需要跳过这些非交易时间段。
目前如果采用dataframe作为索引(index),网上也没有找到合适的解决方案

linux_一次多命令方法和区别

1.每个命令之间用;隔开:各个命令都会执行,但不保证每个命令都执行成功。

python进阶01偏函数

定义:偏函数的第二个部分(可变参数),按原有函数的参数顺序进行补充,参数将作用在原函数上,最后偏函数返回一个新函数(类似于,装饰器decorator,对于函数进行二次包装,产生特殊效果;但又不同于装饰器,偏函数产生了一个新函数,而装饰器,可改变被装饰函数的函数入口地址也可以不影响原函数)

linux_环境变量相关文件profile,bashrc

文件:/etc/profile,/etc/bash.bashrc,/.profile,/.bashrc区别
2个profile都是绑定了用户的登录操作,用户登录则读取执行
2个bashrc都是绑定了用户的启动shell操作,用户开启shell则执行。所以一旦修改就需要重新登录方能生效。
etc/下的文件/etc/profile,/etc/bash.bashrc,是对所有用户都适用的,所以只要开启新终端就能生效。
~/下的文件是对当前用户适用的
可以通过source /etc/profile立即生效等,使得相应配置立即生效。

vnpy_vnpy20使用的异常或报错

vnpy2.0安装后报错ModuleNotFoundError: No module named ‘vnpy.api.ctp.vnctpmd’

vnpy_vnpy20火币期货交易接口配置使用

最近期货ctp穿透接口还在等待期货公式审批,看了vnpy2.0支持的数字货币,自己之前主要使用1.9,但是里面很多接口都以及无法使用了,所以长远来看,还是要转到2.0版本的,不妨试试。
推荐先使用火币的普通交易接口,测试通过了在使用期货接口
首先配置appkey和appsec都是类似的,
需要注意的如下
第一点,交易所选择,直观感受hbdm,但下拉框没有,其实选择huobi就行了
第二点,代码,官方的网页代码 ETH0628 这种格式,但是个人测试不行
然后还有ETH_CQ,这中格式尝试了也不行,最红发现ETH19628这样的才可以
即使这样也会有报错
ws_contract_type = CONTRACT_TYPE_MAP[contract_type] KeyError: ‘quarter’
需要修改代码:
hbdm_gateway里面的CONTRACT_TYPE_MAP改为如下信息,则可以解决报错问题

软件_anaconda_ImportError_NoModuleNamedConda_cli

anaconda报错 ImportError: No module named conda.cli
下午anaconda 突然抽风,进入终端就异常
ImportError: No module named conda.cli

博客主机_nginx建立hexo和wp双博客

 hexo结合github pages本来是绝佳组合,免费安全高效,无奈github国内访问太慢。同类的coding的pages自定义域名坑太多,大概率失败.gitee自定义域名直接收费月99,果然比抢更好(99可以买腾讯低配置云主机1年了。)。所以说了半天国内如果坚持自定义域名且少花钱,那么就是都不行。必须借助github,那么就只有github+cdn加速。但国外cdn大多数一样慢,国内使用cdn,则网站必须备案,github备案也过不了。所以此路不通。github+亚马逊CDN(可能名字不叫这个)可能可以,据说还行。但是可能收费。
 所以那么麻烦干么,干脆自己建了,不用github类似Pages服务,hexo生成的是静态页面,nginx轻松搞定。

博客主机_hexo如何召唤心仪妹子(live2d模型配置无效)

 hexo启用看板娘后发现一个问题,无论如何修改配置,妹子始终都是那个座桌子边上的那个。想换一个,修改配置,重启,无效!
 网上查了查,也没有类似的结果,只好硬着头皮自个找了。重新核对官方步骤,的确没问题,一模一样的,那为何自己的就不行呢?仔细检查配置后发现。

软件_jupyter运行的conda环境和报错处理generator_to_async_generator

指定jupyter运行的conda环境和报错处理generator_to_async_generator
安装nb_conda_kernels
conda install nb_conda_kernels
notebook的change kernel中切换虚拟环境
参考:https://github.com/Anaconda-Platform/nb_conda_kernels

软件_TB创建公式应用dll失败_请检查用户权限_终极解决方案

TB创建公式应用dll失败 请检查用户权限,终极解决方案
使用TB遇到问题,
编译公式时提示,创建公式应用dll失败,请检查用户权限
尝试了多种方法后最终搞定
将方案整理下,后续有遇到的战友可用参考下
1,权限问题:使用,右键,管理员权限启动
2,登录电脑系统的用户名是否为administrator,
3,用户账户控制改为从不通知,(关闭UAC控制)
4,软件存放路径不能有中文
5,如果装有360杀毒软件卸载后尝试,电脑系统不能是ghost版的
6,解决 别放C盘D盘或者Program Files文件夹下就行了
7,软件需要放(or安装)C盘的文件夹下就行了
需要注意,6,7矛盾的,但是有的人用6,有的人用7

python入门06标准库实例教程学习笔记

文本处理

vnpy_ubuntu期货看穿监管信息查看

报错信息:经期货市场监控中心反馈,您在我司报备使用的第三方外部交易终端软件在生产环境中不满足看穿式监管要求。无法采集到您的私网IP1。

但是无法采集到您的硬盘序列号等其他序列号信息。

软件_pyspider抓取数字货币价格bitcoin

第一步,找数据源,发现数据源url的pattern

python实战04常见坑

何谓坑:凡是和大多数人的直观理解不一致的,都可称之为“坑”

vnpy_ubuntu18下vnpy的安装

vnpy1.9版本

软件_印象笔记无法同步EDAMSystemException

可能国内软件做的太人性化了,最近用的几个国外软件,真的各种反人性,尤其是今天的evernote,窝火!
1,网页web版,新版旧版并存,新版切换旧版,链接明显。旧版切新版,找不到入口!!请问,是在鼓励用户使用旧版么?那做新版干干嘛呢?用户一旦误点击,切换到旧版,发现,回不到新版了!!!!
2,同步问题,evernote在win上有客户端,可以正常同步,但是,我第一次用就无法同步,折腾了大半天,最后还是csdn搞定,
解决方案:工具——>选项——>同步——>勾选开启部分同步——>点击确认
猜测是某一篇文章,可能哪里有残缺,同步过程抛出异常,导致同步失败。
难道设计、开发人员都不动脑子?博文本身互相独立,即使某一篇报错,也不该影响其他文章吧!一篇文章报错,全部无法同步!!还有就是,既然有兼容性的配置项,难道不应该默认放开么??
evernote这种toC软件,理论上不应该出现这种低级问题,毕竟面向用户很广泛,而且大多小白用户,难道让人家去debug么?

python实战02异常报错

百度自然语言处理报错:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\U0001f602’ in posit

软件_win10安装rqalpha

win10安装rqalpha
参考文档
rqalpha地址:https://rqalpha.readthedocs.io/zh_CN/latest/intro/detail_install.html#intro-detail-install
1,安装ubuntu和win10共存的双系统,失败,放弃
2,使用win10已安装的Anaconda2-5.3.0-Windows-x86_64.exe,参考官方文档继续安装
pip install -U pip
pip install -U setuptools

linux_ubuntu18常用软件安装设置

Ubuntu18.04 安装后应该做的事:https://blog.csdn.net/hymanjack/article/details/80285400
Ubuntu 18.04 安装后的主题美化与软件安装:https://blog.csdn.net/MasterAnt_D/article/details/56839492

python入门02简明python教程笔记

linux_ubuntu双系统的安装(简明版基于win7)

主要参考第一篇,简单来说:
1,windows下释放出一个空磁盘。
2,下载ISO文件,放根目录(比如D:/)
3,ISO压缩包中提取文件initrd.lz和vmlinuz(位于压缩包的/casper/文件夹中),和ISO放到一起(也有文章说iso中的.disk文件夹也需要,保险起见可以和initrd.lz及vmlinuz放一起)。
此时d:/下有:文件:ISO,initrd.lz,vmlinuz。文件夹:.disk
4,安装启动easybsd,添加启动项(copy一段文本)
5,重启机器,进入ubuntu安装流程(唯一注意的是需要再分出一个swap交换分区)。
6,修改双重引导问题

python入门01廖雪峰python教程笔记

高级特性

项目实战05大客户定制相关技术

基于公版,对我司大客户进行定制版本的相关开发。

快捷手册08nginx

快捷手册nginx

快捷手册07linux三剑客之sed

快捷手册sed

快捷手册06linux三剑客之awk

快捷手册awk

快捷手册05linux三剑客之grep

快捷手册grep

分布式事务

分布式事务相关知识整理。

java_并发编程12线程池

并发编程可以高效利用CPU资源,提升任务执行效率,但是多线程及线程间的切换也伴随着资源的消耗。当遇到单个任务处理时间比较短,但需要处理的任务数量很大时,线程会频繁的创建销毁,大量的时间和资源都会浪费在线程的创建和销毁上,效率很低。
这个时候就需要用的线程池了,线程作为一个工作者,线程执行完一个任务之后不销毁,而是继续执行其他的任务。

数据库_读写分离

目前数据库提高并发量最简单的方式就是使用读写分离。但读写分离时会引入读旧数据的问题(数据不一致)的问题。整理了下大概有以下几种解决方案。按照解决成本(成本从低到高)依次排序。

java_并发编程11阻塞队列

阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。

读书_大型网站技术架构03_李智慧

第九章

java_并发编程10ThreadLocal

ThreadLocal提高一个线程的局部变量,访问某个线程拥有自己局部变量。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,在实际多线程操作的时候,操作的是自己本地内存中的变量,从而规避了线程安全问题。

读书_大型网站技术架构02_李智慧

第四章

读书_大型网站技术架构01_李智慧

豆瓣评分7.9还是不错的,并且目录上看也适合自己。个人技术栈比较杂,各方面都会一点,里面涉及的大多数技术或软件工具也都用过(redis,mongo,消息队列等),所以阅读起来还是比较轻松的。
读大学时读书也爱记笔记(主要出于方便复习的角度),现在纸质笔记携带不便,用电子笔记更合适些。

java_并发编程09CyclicBarrier_CountDownLatch_Semaphore

JUC 中的同步器三个主要的成员:CountDownLatch、CyclicBarrier 和Semaphore。这三个是 JUC 中较为常用的同步器,通过它们可以方便地实现很多线程之间协作的功能。

java_并发编程08锁相关小结

锁相关小结

项目实战06MES制造业SAAS平台

由于公司业务主要是2B的SAAS平台,自己也是初次进入这个领域。感觉和之前单纯javaweb还是有些差异的。

java_并发编程07从ReentrantLock到AQS

java锁

快捷手册02git

快捷手册_git
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

java_并发编程06从锁到ReentrantLock

java锁

java_并发编程05Synchronized

synchronized是用于修饰用的加锁关键词,synchronized属于隐式锁,即锁的持有与释放都是隐式的,我们无需干预。可以用于方法和代码块中,可以简单理解为锁住对象对应的指针地址,只要区分好指针对象是否同一个地址,就可以判断两个线程的锁是否互斥。
synchronized是可重入的,意思就是当前线程获得锁之后,其他线程就无法获得锁进入,但是当前线程自己还可以再次获得锁多次进入。

java_并发编程04Atomic原子类和CAS

Java从JDK1.5开始提供了java.util.concurrent.atomic包,方便程序员在多线程环境下,无锁的进行原子操作,其中包括:AtomicBoolean、AtomicInteger、AtomicLong、AtomicReference。其底层就是volatile和CAS 共同作用的结果
volatile 保证了内存可见性。
CAS(compare-and-swap)算法保证了原子性。 其中CAS算法的原理就是里面包含三个值:内存值A 预估值V 更新值 B 当且仅当 V == A 时,V = B; 否则,不会执行任何操作。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×