虽说我的记忆还停留在高中,不过事实始终提醒着我:”你丫的别闹了!“哈哈!2014年,要真正的脱离学校步入社会了,几个月之后要告别学生这个身份,真是不舍得阿!再也没有那么长的寒暑假了!
2013年还是很有收获的一年,找到了实习,认识了很多新的伙伴。不过,这么多月我的工资怎么一分都没剩下呢!!??唉,记账这个事始终没坚持下来阿!年末送给自己一部手机当作年终奖,犒劳一下自己吧!
2015半年度总结 2015年6月30日今天过去了,2015就过去一半了。年初写计划的日子仿佛就是昨天,看着那一条条年初立下的目标,果然关于买买买和玩玩玩的被率先完成……
64位kali安装skype 2014年6月1日
64位win7安装mysql-python 2014年7月6日
GIL,线程,协程 2013年11月6日
Flask+html5实现服务器推送事件 2016年8月4日服务器推送事件(server-sent events,SSE)是一种除websocket、ajax简单轮寻外另一种实现服务器数据主动推送数据到浏览器的方式。
这里,举一个的例子来说明如何使用基于pyhon的服务端来实现,为了简单我使用flask框架来实现。关键点有2个:
HTTP响应头中包含 content-type:text/event-stream 流响应 GPG使用记录 2016年9月5日GPG简单来说是一种加密机制,可以用来加密文件、邮件等。这里以Centos为例记录一下生成密钥以及相关操作。
HAPROXY+KEEPALIVE构建高可用集群 2015年1月19日
CentOS7安装systemtap 2016年7月27日这两天突然对火焰图起了兴趣,至于什么是systemtap、什么是火焰图这里我不多说了,网上有很多介绍,这里说记录一下我的安装过程以及
碰到的坑。
Gevent学习记录1 2013年11月7日
Kalilinux安装失败的解决方法 2014年3月18日
MONGODB集群部署――Replica Set 2015年3月3日
MacOS安装Wireshark-qt 2015年4月6日
Mongodb初用记录 2014年4月9日
MacOS读写ntfs格式硬盘 2015年10月17日
MySQL数据库修复 2016年7月18日把博客服务器搬到香港之后,发现这个供应商的服务器经常自动重启,不过mysql、nginx都设定了开机自启动,所以也就没当事。结果今天出了大问题:服务器ip可以ping的通,但博客就是无法访问,登录到服务器一看,我擦――整个数据盘不见了!由于把网站放在了/home目录下,而现在home目录空荡荡的啥也没有。
Nginx+Uwsgi部署Django程序 2014年9月27日
OC学习第1天――hello world 2015年2月9日
OC学习第2天――CLASS 2015年2月11日
RMBP我的记录 2015年1月18日
Percona XtraDB Cluster+HAProxy配置 2015年1月6日
NodeJS学习记录1 2015年3月19日
SVN常用操作 2013年11月1日
Ubuntu下Gogant的简易破墙术 2013年2月12日
Selenium+phantomjs模拟网页自动化操作 2015年6月15日
VirtualBOX虚拟机网络互通同时访问外网 2016年4月29日对于爱好网络安全而又不想非法入侵的小伙伴来说,VirtualBOX可是神器级别的工具,这里记录一下我是怎么配置网络使虚拟机之间可以互通同时可以通过物理机访问外网的。
第一台虚拟机是kali linux,启动之前需要在设置中启用2块网卡, 第一块网卡设置为“Internal Network”,第二块设置为”Bridged Adapter” 。
第二台是OWASP提供的漏洞测试虚拟机镜像,基于ubuntu的系统, 第一块网卡设置为“Internal Network”即可 。
windows下的django批处理运行脚本 2014年5月15日
entOS6升级docker1.6 2015年6月18日最近饱受Python版本、Django版本、系统不同导致部署方法不同这一类问题的折磨,虽然之前也有接触过docker但一直没抽出时间仔细学习,正好趁这个机会学习docker使用方法。
centos6搭建在线web代理 2015年5月17日
celery使用小记 2016年1月21日之前的博客有关于celery以及相关概念的介绍,不过那篇文章没有具体的使用示例,今天补充一下。
目前celery的版本是 3.1.19 。
这里我使用rabbitmq作为broker以及banckend。
centos7安装Metasploit框架 2015年12月28日
centos下部署openerp7 2014年8月22日
centos安装denyhosts 2014年10月20日
centos搭建dns服务器 2014年9月29日
django-I18n-国际化语言 2013年11月12日
centos部署Ganglia 2014年11月28日
Django-REST-framework中文文档教程 2016年6月27日
Django+Celery+Rabbitmq+Flower使用小记 2016年2月23日之前的博客中简单的介绍了celery的安装配置以及如何在python程序中使用,这里记录一下我使用django结合celery以及rabbitmq提供web服务,同时使用flower进行监控的过程。至于这几样东西是什么、怎么安装这里就不再细说了。
django-auth-ldap中文文档 2016年9月9日
django中由类实例引起的小坑 2014年4月1日
django-userena使用记录 2015年4月9日
django数据库分库 2014年2月11日
django-groundwork个人1.5.3修改版 2013年11月1日
django中静态文件的使用 2013年11月19日
Django常用三方库 2016年6月15日更新于2016.09.18
首先安利本书《two scoops of django1.8》目前还没有中文版,不过是我看过关于django的书中收获最大的一本。本来有机会和作者面基,可惜我大天朝的签证太难办了,只得作罢。
这里推荐三方库的大部分出自这本书,移除了部分失效或者不维护的库,添加了一些其他库,强烈建议大家阅读原书。
下面的模块有些是django模块,有些则是python模块,可以脱离django直接使用。
话说那些复制到别地方然后标注“原创”的,敢加个本文链接不?手工整理很累的好不?
django性能分析 2015年11月20日
django文件上传功能 2013年12月4日
Django的view中常用return方法 2014年3月25日第一种HttpResponse,最基本的返回方式,可以直接返回字符:
fromdjango.httpimportHttpResponse defindex(request): returnHttpResponse(“a test”)或者结合contextloder返回网页:
fromdjango.templateimportContext, loader frompolls.modelsimportPoll defindex(request): latest_poll_list = Poll.objects.order_by('-pub_date')[:5] template = loader.get_template('polls/index.html') context = Context({ 'latest_poll_list': latest_poll_list, }) returnHttpResponse(template.render(context))django解析用户上传的excel文件 2016年10月13日
eventlet,django,requests问题杂记 2016年5月3日最近使用django+requests+eventlet做了个小程序,eventlet用来替代原生的多线程,最后发现有关manage.py的功能全都不能用了,报错信息类似:
django.db.utils.DatabaseError: DatabaseWrapper objects created ina thread can only be usedinthat same thread. The objectwithalias'default'was createdinthread id139911009593152andthisisthread id51055504.产生这个问题的原因在于我的monky_patch()是在爬虫模块中执行,而希望这个爬虫模块能够保持独立性不希望和django融合的太深,所以解决问题只需根据实际需求在manage.py或settings.py或wsgi.py中先把monkey_patch()执行了即可。
django自带的评论模块 2014年4月4日
django版本更换 2013年11月1日
fedora19下装XMind 2013年12月3日
fedora19中VIM复制粘贴到系统剪切板 2014年1月10日
fedora19升级20 2014年1月27日
fedora19安装cairo-dock 2013年11月17日
fedora19安装ar8161网卡驱动 2013年11月1日
fedora19安装skype 2013年11月16日
fedora19安装codeblocks 2013年12月4日
fedora19更换fcitx输入法 2013年12月6日
fedora19美化 2013年11月1日
fedora19源,rpmforge,fastestmirror 2013年11月1日
fedora21使用ipv6访问google 2015年9月14日
fedora21安装MITMf框架 2015年4月2日
fedora21安装有道词典linux版 2015年4月22日
fedora21架设minecraft服务器 2015年9月17日
fedora21开机执行某命令 2014年12月26日
flask-socketio中文文档 2015年12月29日官网在 这里 ,英语好的直接去看官网文档吧,我是英语渣只能翻译个大概;另外注意本文翻译时间,可能你看到的时候官网已经更新了。
flask-socketio赋予了flask程序支持服务端和客户端间双向低延迟通讯的能力,客户端可以使用 SocketIO 库或任何支持与服务端建立长链接的兼容库。
安装可以直接使用pip安装:
pip install flask-socketio 依赖自从1.0版开始,这个扩展完全兼容了python2.7和python3.3+版本。异步服务的支持基于下面3个选择中的一个:
eventlet 是3个选项中性能最高的,同时支持长轮循(long-polling)和WebSocket。 gevent 是在以前版本中使用的框架,支持长轮循,如果想支持WebSocket的话需要同时安装 gevent-websocket 库。使用gevent和gevent-websocket结合性能也不错,但略低于eventlet。 flask 基于Werkzeug的开发服务也能用,不过性能上不如上面2个选项,所以它应该只用于开发时使用。这个选项只支持长轮循。本扩展将自动检测哪些异步框架被安装,默认首选eventlet,其次是gevent,最后是flask自带的开发服务。
对于客户端来说,可以使用官方的Socket.Io来建立于服务端的链接,也有使用swift和c++写成的客户端。非官方的客户端也能工作,只要它实现了 Socket.IO 协议。 目前的局限
目前flask-socketio只能同时运行在单个进程中(这里应该指的是一个进程中仅能存在一个实例的意思,而非只能开启一个进程吧…),解决这个限制的工作正在进行中。
(关于升级变化、以及从老版本迁移到新版的注意事项我就不翻译了,因为没用过老版本)
linux用vps翻墙(ssh篇) 2013年12月6日
Freora21使用vpn翻墙同时访问内网 2015年7月16日
iptables禁止某Ip 2014年11月17日
flask常用插件 2015年7月28日
linux系统的3种端口转发方式 2016年5月20日很多情况下我们都需要进行端口转发,这里以centos为例记录一下linux系统上端口转发的3种方式。
iptables想利用iptables进行端口转发,首先要打开内核转发功能:
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf sysctl -p然后编辑转发的服务器的/etc/sysconfig/iptables文件,添加
*nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A PREROUTING -d 转发服务器的ip -p tcp --dport 转发服务器的端口 -j DNAT --to-destination 目标ip:端口 -A POSTROUTING -d 目标ip -p tcp --dport 目标端口 -j SNAT --to 转发服务器的Ip COMMIT重启Iptables后即可生效,在我们本机链接转发服务器的ip和端口实际上就是链接目标机器的ip和端口了。
metasploit命令参考 2014年10月24日
mysql-python:not all arguments converted during string formatting 2014年3月27日
pip下载经常超时的解决办法 2014年3月12日
nessus使用记录 2014年9月28日
postgresql学习记录3 2014年8月7日
postgresql学习记录1 2014年8月6日
postgresql学习记录2 2014年8月6日
postgresql无法启动问题 2015年5月27日
python lxml模块 2013年11月13日
Python optionParser模块 2013年11月11日
python queue模块 2013年11月13日
python-memcached源码小窥 2015年8月13日
python+selenium+phantomjs抓取ajax动态页面 2014年11月5日
python traceback模块 2013年11月14日
python threading模块 2013年11月13日
Python 深入理解yield 2013年12月1日
python中and-or小技巧 2014年9月11日
python 获取网站cookie 2013年11月15日
python中的md5以及base64加密 2015年2月5日
python中如何自定义解析域名 2013年11月1日
python中闭包示例 2016年3月18日概念上的东西这里就不详细解释了,为什么需要闭包(Closures)呢?个人理解就是某些情况下你需要在外部访问函数内部的变量时,闭包就该大显身手了。闭包的一种典型表现就是函数内部定义了新的函数。这里举几个例子以记录使用闭包时的几个注意点,例子来源于 这里 ,大神用javascript写的示例,这里改成python的,也顺便说说遇到的坑。
python分离中、英文 2013年12月4日
Python关键字yield详解 2013年12月1日
fedora21无缝升级到23 2015年11月24日
python列表展开 2014年4月9日
python基础复习之使用字典分派函数 2016年1月26日程序中很常见的一种场景就是根据某个控制变量的值来调用不同的函数或对象进行处理,某些语言中可以使用case语句进行处理,在python可以使用getattr函数甚至if…elif…else来处理,除此之外,也可以使用字典来实现相同的功能,比如下面的例子:
animals = [] number_of_felines = 0 defdeal_cat(): globalnumber_of_felines print"meow" animals.append('feline') number_of_felines += 1 defdeal_dog(): print'bark' animals.append('canine') defdeal_bear(): print"hug" animals.append('ursine') token = {'cat': deal_cat,'dog': deal_dog,'bear': deal_bear} #words = ['cat', 'dog', 'bear'] words = ['cat','dog','bear','cat'] foroneinwords: token[one]() #return token[one]() nf = number_of_felines print'we met %d feline%s'% (nf,'s'[nf ==1:]) print'the animals we net were:',' '.join(animals)python动态添加类属性、实例属性 2013年11月12日
python异步任务队列、消息队列 2013年11月7日提起gevent,就不得不提起greenlet。按照官方解释greenlet是轻量级的并行编程,而gevent呢,就是利用greenlet实现的基于协程的python的网络library。
官方文档: http://www.gevent.org/contents.html
说说协程,进程和线程大家平时了解的都比较多,而协程算是一种轻量级进程,但又不能叫进程,因为操作系统并不知道它的存在。什么意思呢,就是说,协程像是一种在程序级别来模拟系统级别的进程,由于是单进程,并且少了上下文切换,于是相对来说系统消耗很少,而且网上的各种测试也表明,协程确实拥有惊人的速度。并且在实现过程中,协程可以用以前同步思路的写法,而运行起来确是异步的,也确实很有意思。话说有一种说法就是说进化历程是多进程->多线程->异步->协程,暂且不论说的对不对,单从诸多赞誉来看,协程还是有必要理解一下的。
Python常用第三方库(转载) 2013年10月31日
python脚本模拟tail命令 2015年12月22日
python的sh库使用案例 2014年2月17日
python线程小学习 2013年12月2日
svn错误:a peg revision is not allowed here解决方法 2014年10月14日
Python:使用threading模块实现多线程编程 2013年11月13日
suds库使用小记 2015年10月14日
tightvnc远程访问kali桌面系统 2014年9月26日
xss测试用例 2014年12月10日
一颗破碎的心,还会感到心痛吗 2014年10月11日僵尸新娘是为数不多的几部从高中看到现在依然不会厌倦的的电影之一,除了各个经典台词之外,里面的各种音乐也是超级棒。
不过始终有一个问题盘桓在我脑中:维克多最后真的是因为爱才迎娶艾米莉的吗?
不得不说,艾米莉对维克多是十分好的。即便维克多欺骗了自己,也很快的原谅了他,最后还用自己的身体为维克多挡下致命一刀。但促使维克多做出决定的,却是在他得知心中的白玫瑰――维多利亚要嫁给别人,而艾米莉宁愿让他走也不愿伤害他的情况下。
维克多并不知道维多利亚是被迫嫁人,只好颓然的说了一句:“i’m too late.”在这种情况下,无意间听到了艾米莉对骨耐德回答,将会是一种怎样的心态呢?一方面,一个女人弃自己而去;另一方面,一个女人对自己如此深情。所以当骨耐德老人问他是否明白这种选择付出的代价时,维克多握起艾米莉的手,说:“i do.”
但事情总是戏剧性的,当维克多对艾米莉说出了完整的婚礼誓言,艾米莉却看到了角落中的维多利亚。艾米莉最后决定放弃维克多,对他说出了相当经典的台词:“I was a bride. My dreams were taken from me. But now - now I’ve stolen them from someone else. I love you, Victor, but you are not mine.”
不离不弃的手札 2014年7月7日今日偶然翻出一本已经泛黄快要散页了的笔记本,里面记录了很多中医药方。意识到这是几十年前姥姥患病、姥爷亲自一笔一划收集整理的。二老已经离世十多年,却依然能从这模糊了大半的笔记中感受到他们那“你若不离不弃,我必生死相依”的爱情。
由于笔记中有些内容已经不可辨析,我只能把还可辨认的部分记录出来,并且将我拿不准的地方加以标注。
整理的纪念意义远大于医用意义,对于药方的功效作用不加以保证。且行且珍惜 2014年4月25日
为什么买的数量越多,得到的折扣反而低了? 2013年11月8日一个月前分析了公司的某些数据,得到下面的结果:
QTY1有效数量:328907,平均折扣率为:0.199117 QTY2有效数量:328894,平均折扣率为:0.116905 QTY3有效数量:328893,平均折扣率为:0.104165 QTY4有效数量:328886,平均折扣率为:0.095405 QTY5有效数量:316263,平均折扣率为:0.084468第一眼看去似乎我程序算法有问题,按照常识来说,买的越多折扣应越大才对,不过从结果看来,买的越多折扣反而越少,为什么呢?
不可被证明的爱 2014年12月7日文/丛非从
自我价值感低的人,往往需要被证明才能相信自己被爱,而且证明需要持续不断。而恰恰又是这些证明,将爱渐渐淡化。无数在感情里挫败着的人,经历着这样的悲剧故事。
这很像那个笑话,某女不相信自己是被丈夫爱也不相信自己值得被丈夫专一的,所以总是去验证丈夫的专一:每天回来都要搜索丈夫身上有没有女人的头发。直到没有搜到,还是嚎啕大哭,丈夫不解的问到没有搜到女人头发证明我很专一,你还哭个啥。该女的一席话曾让无数人汗颜:你这挨千刀的,在外面居然连尼姑也要了。
笑归笑,这样的故事我们身边又何尝是少数。潜意识里就不相信自己是被爱的,所以总要证明自己是被爱的,或者证明自己是被爱的。前者的故事很多,某个女孩偶然间知道男友的密码是自己的生日,欣喜若狂,证明了自己是被爱的,然后通过追问需要进一步证明:你是什么时候设的啊。对方答忘了。大约几月呢。对方答忘了。是年前呢还是年后呢……面对这样的追问,不知道听的人会有什么感受。当问的人不能持续证明到自己是被爱的,就开始失落:他是不是不爱我了。后者的故事也很有趣:当我故意关机2个小时,你知道我这段时间关机并且着急才能证明你是爱我的。我手机停机了你主动给我交话费才是爱我的,我过生日你主动记得我生日而且给我买玫瑰花才是爱我的。只有你做了XX,你才是爱我的,如果你没做XX,证明你不是真心爱我。当然,他们的话术常常不是这样,而是:你爱我,就应该……。例如你爱我,就应该每天给我打一个电话。还有更省略的:恋爱不就应该天天联系吗?恋爱不就应该彼此分享所有故事吗?
爱总是需要被证明,才相信爱。如果有一次不能被证明,则就会陷入恐慌。
你好,2015! 2015年1月1日
你好,2016! 2016年1月3日
伪造header突破ip限制抓取网站内容 2013年11月15日
你真的会python吗? 2013年11月7日
关于lambda s:s 2013年11月12日
使用python模拟POST请求提交图片 2016年9月14日使用requests来模拟HTTP请求本来是一件非常轻松的事情,比如上传图片来说,简单的几行代码即可:
importrequests files = {'attachment_file': ('1.png', open('1.png','rb'),'image/png', {})} values = {'next':"http://www.xxxx.com/xxxx"} r = requests.post('http://www.xxxx.com/upload', files=files, data=values)# 成功 r = requests.post('http://www.xxxx.com/upload', files=files, data=values)# 失败 r = requests.post('http://www.xxxx.com/upload', files=files, data=values)# 失败 r = requests.post('http://www.xxxx.com/upload', files=files, data=values)# 失败 r = requests.post('http://www.xxxx.com/upload', files=files, data=values)# 失败 ...不过我今天在调试一个django程序的时候却遇到了大坑――――为了偷懒,我直接在 ipython 中执行了上述代码,第一次提交的时候一切正常,但第二次之后提交就怎么也通过不了django的form验证。
使用firewalld-cmd配置防火墙 2015年4月23日
关于functools.wraps的作用 2016年1月12日
关于最优价格计算的想法 2014年3月21日假设现在某型号有2个供货商提供,最简化模型如下:
A: (P X),(Q Y)
B: (P M),(Q N)
根据实际情况,买的多价格越低,故 X>Y,M>N
如果 M>X , N>Y ,明显的不论数量多少都应该去A买,反之亦然。
以 M>X , N<Y 为例,则可推断出 M>X>Y>N 。
创业前请思考(转) 2013年11月8日这篇文章我2012年转载于其他地方,原文链接已经找不到了。
博客迁移记录 2016年7月22日经过3天的不懈努力,终于完成了博客的迁移工作,同时删除了一些无病呻吟的、没干货的文章。
现在本博客基于 hexo 以及使用主题 tranquilpeak 构建,这个主题原生支持百度统计以及多说评论,而且不使用google相关资源,对于我这种前端盲很是友好。
唯一不足就是这个主题使用cloudflare的CDN,速度相对于国内的CDN还是慢一些,可以修改成国内自己喜欢的,代码位于 themes/tranquilpeak/layout/_partial/script.ejs 第50行。
同时部署在github以及coding上,并使用dnspod进行域名解析,dnspod最大的好处就是支持国内外不同的来源解析到不同的地址,对于国外的IP解析到github,对于国内的IP则解析到coding。
午夜兰花(转) 2014年7月9日
启用https提高网站安全性 2016年6月23日细心的老读者可能发现,本站现在全面启用了https,为啥捏?因为好看!哇哈哈哈……
这里记录一下Centos6系统上的nginx配置方法。这里我使用 letsencrypt 提供的免费证书,首先访问 https://certbot.eff.org/ ,然后根据你的实际情况选择webserver和操作系统,这里为了通用性,我选择“Unspecified Webserver on Other UNIX”。
名词王国里的死刑(翻译) 2016年3月16日真是惭愧,直到今日才读到这篇文章,原文在 这里 。我本人大学课程中唯一没选修的语言就是Java,不知什么原因对于Java就是不感冒。虽然由于某些原因做了一阵android的开发,但是这段经历更是让我坚定了“能不写java程序就不写java程序”的想法。这里无意引起“语言之战”,仅是个人喜好问题罢了。
如何为Gnome3添加自启动程序 2013年11月14日
在MySQL中存储树状结构 2016年8月15日原文地址 ,原文中 Hierarchical Data 直译为 分层结构 ,这里我翻译成 树状结构 。
补充资源:
https://django-mptt.github.io/django-mptt/ ,如果你也使用python和django,这个是现成的APP。另外,个人觉得这种方法对于搜索的效率提升最大,而相应的新增、删除等操作则会变慢,个人猜测未经测试。
个人总结的核心:如果一个节点A是节点B的子节点,那么A的左值一定大于B的左值,A的右值一定小于B的右值。或者说,A的左值一定在B的左值和右值之间。
安装MYSQL后的10种调优方法(翻译) 2015年1月22日原文: http://www.percona.com/blog/2014/01/28/10-mysql-settings-to-tune-after-installation/
当我们被聘请去做MYSQL性能审计时,我们被期望审查MYSQL配置文件并提出改进建议。在大多数情况下很多人都感到惊奇,因为我们仅仅在成百上千的变量中改变了很少的一部分。这篇文章的目的就是告诉你一些至关重要的设置项。
我们在几年前曾经在博客中给出过一些建议,但从那之后MYSQL的世界发生了很多改变!
多线程爬虫 2013年11月8日原文链接: http://www.dongwm.com/archives/pa-chong-lian-xi/
正好最近学习多线程、爬虫相关的东西,这篇文章写的十分不错!
安装openfire后无法登录管理界面解决办法 2014年10月11日最近需要搭建一套live chat,于是选中了openfire这个比较不错的开源软件。至于介绍、安装等步骤这里不再介绍,记录一下我搭建完毕后遇到一个奇葩的问题:建立管理员账户后却无法登录后台,提示帐号不存在或者密码错误,版本是3.9.3。
滕王阁序 2015年3月29日
枯萎的花(转) 2014年7月9日
玫瑰花妖(转) 2014年7月9日
理财纪录1 2015年4月10日复利是什么?爱因斯坦说它是世界第八大奇迹。下面涉及到复利终值和现值、普通年金终值和现值、预付年金终值与现值、偿债基金、年资本回收额等初级会计知识,本人非会计出身,下面说的仅凭个人理解,如有错误恳请指正。
复利终值是什么?简言之就是今年的x元钱,在保持q%的利率或利率下,相当于n年后多少钱。
理财记录3 2015年4月26日上篇中主要学习了和企业盈利能力相关的知识,这篇中记录一下和企业偿债能力相关的知识,可能对于购买债券的朋友来说更看重这点吧。但我在学习过程中始终有一种似懂非懂的感觉,而没有学习关于盈利能力时那种“AHA~Get It!”的感觉,所以这里只做一些简单记录。
首先,企业是否会陷入财务困境可以从3方面来看:
财务状况 盈利能力 周转速度同时衡量偿债能力的指标又有下面4种:
资产负债率 流动比率 速动比率 利息保障倍数 理财记录4 2015年5月28日今天主要记录一下关于成长能力和运营能力分析的相关知识,先来看看成长能力。
作者整体思路是冷眼看待成长能力的,认为靠历史数据预测未来是不靠谱的行为。根据均值回归理论,成长趋势并非可以无限延续,成长股赚的钱是后知后觉者的钱而非企业价值增长赚的钱。
格雷厄姆给出过一个公式:
成长股价值=当期(正常)盈余*(8.5+2倍的预期年增长率)
根据作者给出的数据来看,根据上面公式买入的成长股10年后的收益并不是特别高,反而是根据上面公式买入价值股收益不错。巴菲特在2008年至股东信中阐述了他衡量所投资企业的标准:
根据行业状况看企业的利润取得怎样的改善 企业的“护城河”在过去一年内是否有所扩大所谓的护城河即企业的竞争优势,作者以2008年万科的数据为例,万科2008年净利润同比下降16.74%,但却因此促成了万科的“合理定价、快速周转、战略纵深到二三线城市”的战略转型,增加了其在同行业中的竞争力,所以当关注的公司在持续增加竞争优势,而某一阶段业绩下滑、股价狂跌,对于价值投资者来说是再好不过的了。
理财记录2 2015年4月19日这个月拿到了人生中第一笔5位数薪水,可仔细一看,税、五险一金居然扣了将近2K!这可把我肉疼坏了,正好最近看到了关于和税有关的会计知识,发现当老板也不容易啊!就拿所得税来说,不管你利润多少,先把25%交上去再说,颇有“此路是我开,此树是我栽,要想过此路,留下买路财”的味道。呃……不知道这么说会不会被跨省――我纳税,我光荣!
上篇记录主要是说了金钱的时间成本,这篇主要和财务报表有关,但相关的会计概念实在太多,我在学习时3页书就记了整整6页A4纸的笔记,所以在这里可能不会解释相关的概念了,有需要的自行百度。老规矩先来个声明:本人非科班出身,所记录均为个人学习心得,不保证正确性、时效性。
生产者消费者问题python版 2013年11月13日
自定义Django用户模型 2016年6月29日Django最方便的一点可以说就是自带的用户系统了,不过某些情况下自带的用户系统不太符合项目需求,比如你想添加几个字段怎么办?当然可以使用自定Model然后外键关联User类来实现,不过一方面关联查询的效率比直接查询效率要低,另一方面想删除系统自带用户系统的某些字段怎么办呢?
所以,自定义用户模型可以说是一种很常见的需求。这里以Django1.9为例,记录一下自定义用户模型的方法。
花鬼(转) 2014年7月9日