python

Python Flask静态目录

在创建了Flask项目之后,如果不想用到模板引擎,想做前后端分离的项目时,就需要用到静态目录了。Flask的静态目录规定是static,也就是说所有的静态文件需要放到static文件夹下才能访问到。如下目录: - app.py - static - index.html 要访问index.html,需要通过Url:http://localhost:5000/static/index.html 也就是说要加上static路径进行访问。但这样又很不方便,因为要加static的话,访问html的url就显得有些“丑”了。这个时候,可以使用参数 static_

  • zgljl2012
1 min read
Android

【Android进阶篇】Fragment的两种加载方式

一、概述 Fragment(碎片,片段)是在Android 3.0 后才引入的,主要的目的是为了实现在大屏幕设备上的更加动态更加灵活的UI设计。这是因为平板电脑的屏幕比手机大得多,所以屏幕上可以放更多的组件,而不是简单地只是把手机上的组件放大。所以 Fragment在应用中的是一个可重用的模块化组件,它有自己的布局、自己的生命周期,在一个Activity中可以包含多个Fragment。 二、在Activity中加载Fragment Fragment的加载方式包含两种:静态加载和动态加载。静态加载很简单,我们只需要把Fragment(片段)当成普通UI控件放到界面Layout 中就行;动态加载稍微复杂一点,需要用到事务。 三、静态加载 在Activity中静态加载Fragment的过程分为三步: 1.

  • zgljl2012
6 min read
区块链

2016-12-29区块链新闻

今日关键词可视化: 资深记者:区块链可能是拯救新闻业的关键 [http://www.8btc.com/blockchain-stop-online-news-distortion] "虚假新闻的影响力要远比深度好文要更大。" (The shitpost is mightier than the thinkpiece)这是我的一位朋友在一篇报道中看到的一句引用,现在我已经找不到出处了,但他发誓这并不是他编造出来了的。似乎在互... 2016-12-28 20:38:15 关键词:thinkpiece shitpost mightier 媲美闪电网络的硬件比特币扩容Teechan可以实现,但代价是不是有点大? [http://www.8btc.

  • zgljl2012
4 min read
区块链

2016-12-26区块链新闻

今日关键词可视化: Bitfury副总裁:比特币区块链将成为2017年金融改革的中心 [http://www.8btc.com/2017-bitcoins-blockchain] 乔治•基克瓦泽(George Kikvadze)是比特币挖矿和区块链技术企业Bitfury的副总裁。近日,他分析并预测了2017年比特币行业、社区以及比特币网络的发展。 比特币行业的高活跃度 随着Gemini... 2016-12-26 11:33:53 关键词:比特币 挖矿 Gemini

  • zgljl2012
2 min read
编译原理

【编译原理系列】文法的定义

当我们要描述一种语言时,需要给出这种语言的所有句子,当句子的数目是有限可数时,就要都列出来;当句子是一个无穷集,也就是无限不可数时,就要给出可以表示它们的结构的描述方法或者说,句子的组成规则。这种规则就是 文法。 > 从形式上用于描述和规定结构的称为文法(或者说语法) 下面是文法的定义: > 文法G定义为一个四元组(VN,VT,P,S),其中,VN为非终结符集合,VT 终结符集合;P是产生式结合;S称为识别符或开始符号,也是一个非终结符,至少要在一条产生式的左边出现。 出现了几个名词,终结符、非终结符、产生式、识别符/开始符号等。下面具体聊聊这些名词和文法的定义。

  • zgljl2012
3 min read
心学

王阳明的心即理

虽然常常听说王阳明这个名字,看过明朝那些事儿后,也知道这位是一位真正五百年不出的圣人,但以前都是人云亦云,所以最近有空,就详细去了解了一下王阳明的学说——先讲心即理。 记得以前读书的时候,历史书上面对心学是排斥的,上面对王阳明这位圣人不过区区两件事(我还记得的……),一件是他格竹子吐血这件事(用来贬斥理学),一件是对于心学的描述:睁着眼睛这个世界就还在,闭着眼睛这世界就没了……当时觉得这个人的学说可真搞笑,记得课间还嘲讽过……为自(相)己(信)的(历)无(史)知(书)而感到羞耻。现在看来,估计是因为将心学看做了与唯物主义相冲突的唯心主义而没有正确描述吧,当然,也的确是因为后继乏人,

  • zgljl2012
4 min read
区块链

2016-12-23 区块链新闻

黄金交易向区块链转移,比特币还能否撼动其地位? [http://www.8btc.com/bitcoin-gold-blockchain] 比特币这种基于区块链的数字货币经常被认为能够像黄金一样成为全球避险资产。在这个全球动荡的年代,甚至黄金也变得不靠谱,都可能会像印度那样被没收。一些人已经开始认为比特币可以取代黄金,因为比特币除了具备黄... 2016-12-23 16:29:43 关键词:比特币 黄金 ... 学历造假猖獗,肯尼亚政府联合IBM将证书发放系统搬到区块链上 [http://www.8btc.com/kenyan-blockchain-prevent-fraud] 肯尼亚政府正在着手建立一个不可更改的、透明的教育管理系统,由区块链技术作支撑。肯尼亚信息、交流和技术部(ICT)

  • zgljl2012
2 min read
nodejs

【Node.js基础篇】使用net模块和Readline模块实现Socket通信

Node.js的socket通信和C++、Java的非常相像,学过这两种语言的socket通信的同学可以很快就掌握好Node.js的socket通信。下面我们以实现一个Echo服务器的服务端和客户端为目的,学习一下Node.js的socket通信。 > 所谓的Echo服务器指的是这样一种服务器:客户端发送一条消息给服务端,服务端就把这条消息原封不动地返回给客户端。 -------------------------------------------------------------------------------- 服务端 服务端的实现分为三步: * 通过createServer创建一个server服务端 * 使用server的listen方法监听指定端口,等待客户端接入 * 通过socket对象来监听data、close等事件,用以完成与客户端的交互 下面是服务端代码: /** * Created by Administrator on 2015/9/8. */ var net = require('net'); // 服务器IP

  • zgljl2012
4 min read
C++

【Cocos2d-X】TableView的使用

在Cocos2d-x使用TableView的过程如下: * 首先用一个类继承CCTableViewDelegate(代理)和CCTableViewDataSource(数据源); * 然后实现里面的有关tableView操作和内容的四个抽象方法; * 最后就可以在场景类中通过CCTableView来使用这个类,CCTableView会分别设置代理对象和数据源对象 示例: TableView.h #ifndef _TABELVIEW_H_ #define _TABLEVIEW_H_ #include "cocos2d.h" #include "cocos-ext.h" using namespace cocos2d; class TableView : public cocos2d::extension::CCTableViewDelegate, public

  • zgljl2012
2 min read
C++

【Cocos2d-X】中文乱码问题

初学Cocos就遇到了中文的显示问题,在使用CCLabelTTF调用系统字体时,出现的是乱码;使用CCLabelBMFont调用自己设计的fnt文件时,就会什么都不显示。百度了很久之后才明白,字体文件需要的中文得是UTF-8编码的,而项目又是Unicode,所以我们只需要把中文字符串的Unicode编码转化为UTF-8就行了。 Unicode转UTF-8函数: char* EncodeToUTF8(const char* mbcsStr) { wchar_t* wideStr; char* utf8Str; int charLen; charLen = MultiByteToWideChar(936, 0, mbcsStr, -1, NULL, 0); wideStr = (wchar_t*

  • zgljl2012
1 min read
C++

【Cocos2d-X】Cocos2D-X 2.2.6创建项目

使用2.2.6版本创建项目不同于以前可以建立VS的模板从而可以很方便的创建项目,这个版本需要使用Python来创建项目(3.x也会需要Python)。 所以,我们如果想要使用2.2.6版本,就必须先安装Python;然后将Python的路径添加进环境变量;最后是通过使用Python执行Cocos安装路径下的:cocos2d-x-2.2.6\tools\project-creator\create_project.py文件来创建项目。创建的项目会放在cocos2d-x-2.2.6\projects文件夹下。 在这篇文章里有详细过程:http://my.oschina.net/sel/blog/182311

  • zgljl2012
2 min read
nodejs

sqlite3 node-pre-gyp install --fallback-to-build 一直卡着

Windows10 在安装sqlite3@3.1.3时,一直卡在这里 node-pre-gyp install --fallback-to-build 半天半天不动,上网找了很久也没有解决。中间以为是官方库太慢,换了个仓库地址也没用。于是就开始自己折腾了,先是在Github上找到了node-pre-gyp 这个项目看了一下README.md,https://github.com/mapbox/node-pre-gyp,看了一下帮助: install - Install pre-built binary for module ... --fallback-to-build: fallback to

  • zgljl2012
2 min read
Node.js 连接 postgreSQL数据库
nodejs

Node.js 连接 postgreSQL数据库

首先使用npm安装数据库连接模块: npm install --save pg 连接池创建 然后代码中引入pg模块,并编写数据库配置: var pg = require('pg'); // 数据库配置 var config = { user:"postgres", database:"ghost", password:"123456", port:5432, // 扩展属性 max:20, // 连接池最大连接数 idleTimeoutMillis:3000, // 连接最大空闲时间 3s } pg模块中有两种数据库连接方式,先讲连接池模式,

  • zgljl2012
4 min read
nodejs

【Node.js基础篇】使用readline模块实现Node.js的输入输出

学C++的时候,有cout和cin,Java也有println和Scanner控件,Node.js也有如同C++和Java的标准输入,当然,是用JavaScript实现的,它就是Readline模块(从这个角度看的话,能不能把Node.js当作JavaScript的编译器?)。下面详细介绍一下这个模块,来实现Node.js的控制台输入输出。 什么是Readline Readline是Node.js里实现标准输入输出的封装好的模块,通过这个模块我们可以以逐行的方式读取数据流。使用require("readline")可以引用模块。 如何使用Readline 以使用为角度的话,学习Readline,我们需要学习它的三个部分: * 创建Readline实例 * 学习里面的接口方法 * 学习监听与处理Readline事件 下面我们通过实例来学习这三个部分。 实例1:我叫小明

  • zgljl2012
4 min read
区块链

什么是区块链

之前在知乎上回答了一个问题 区块链是什么,如何简单易懂地介绍区块链? [https://www.zhihu.com/question/37290469/answer/128002814] ,在评论区又讨论了一下,自己整理成了一篇文章,简单介绍一下什么是区块链以及区块链支付流程。 -------------------------------------------------------------------------------- 比方说,一个圈子里有10个人,每个人都有一台电脑和一个自己的签名,每台电脑里都有一个账本,里面记录了这10个人的余额和交易;每次圈子里的人做了一笔交易(转账)的时候,就要更新所有电脑上的账本(10份账本),10份账本时时同步来确认交易完成。 这个账本就是区块链。 账本是一页一页的,每一页写满了交易记录,一页页堆在一起成了一本本子就是账本;区块链是一块一块的,每一块写满了交易记录,连在一起成了一条链就是区块链。

  • zgljl2012
6 min read
zgljl2012@gmail.com