下面是如何修改 MS-SQL 的sa密码,我已2005为例,给大家简单设置一下,注意,如果出现 《sql 2005 用户 sa 登录失败,该用户与可信SQL Server连接无关联 》请继续往下看,会有详细介绍。
注意:
【这里修改是在 企业管理器中进行的修改,前提是sql 能够通过window 验证登陆】
Flask-SQLALchemy 是一个给你的应用添加 SQLALchemy 支持的 Flask 扩展。SQLALchemy 是Python语言的SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行,提供能兼容众多数据库(如 SQLite、MySQL、Postgres、Oracle、MS-SQL、SQLServer 和 Firebird)的企业级持久性模型。
|
1
2
3
4
5
6
|
from flask import Flaskfrom flask.ext.sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'db = SQLAlchemy(app) #这个就是你以后操作数据库的对象实例了 |
SQLALCHEMY_DATABASE_URI格式实例:
postgresql://scott:tiger@localhost/mydatabase
mysql://scott:tiger@localhost/mydatabase
oracle://scott:tiger@127.0.0.1:1521/sidname
sqlite:////absolute/path/to/foo.db #注意:有3个斜杠+路径
建立数据库模型:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import hashlibfrom app import db #在数据库模型文件中导入上面建立的db对象class User(db.Model): id = db.Column(db.Integer, primary_key=True) # id username = db.Column(db.String(80), unique=True) email = db.Column(db.String(320), unique=True) password = db.Column(db.String(32), nullable=False) def __init__(self, username, email, password): self.username = username self.email = email self.password= hashlib.md5(password) #呵呵,这样在插入数据自动给密码哈希了! def __repr__(self): return "<User '{:s}'>".format(self.username) |
初始化数据库也特别简单,只需要调用 db.create_all() 函数就可以了。
|
1
2
|
if __name__ == '__main__': db.create_all() |
|
1
2
3
|
u = User(username='peter', email='test@example.com', password='123456')db.session.add(u) #插入数据db.session.commit() #只有提交事务了,才可以获取(u.id)数据的ID值。 |
用主键获取数据:
|
1
2
|
User.query.get(1)<User u'admin'> |
通过一个精确参数进行反查:
|
1
2
|
peter = User.query.filter_by(username='peter').first() #注意:精确查询函数query.filter_by(),是通过传递参数进行查询;其他增强型查询函数是query.filter(),通过传递表达式进行查询。print(peter.id) #如果数据不存在则返回None |
模糊查询:
|
1
2
|
User.query.filter(User.email.endswith('@example.com')).all()[<User u'admin'>, <User u'guest'>] |
逻辑非1:
|
1
2
|
peter = User.query.filter(User.username != 'peter').first()print(peter.id) |
逻辑非2:
|
1
2
3
|
from sqlalchemy import not_peter = User.query.filter(not_(User.username=='peter')).first()print(peter.id) |
逻辑与:
|
1
2
3
|
from sqlalchemy import and_peter = User.query.filter(and_(User.username=='peter', User.email.endswith('@example.com'))).first()print(peter.id) |
逻辑或:
|
1
2
3
|
from sqlalchemy import or_peter = User.query.filter(or_(User.username != 'peter', User.email.endswith('@example.com'))).first()print(peter.id) |
排序和限制函数可以跟在query或filter后面。
排序:
|
1
2
|
User.query.order_by(User.username) #嘿嘿,你用哪个字段作为排序参考呢?[<User u'admin'>, <User u'guest'>, <User u'peter'>] |
限制返回的数目:
|
1
2
|
User.query.limit(1).all()[<User u'admin'>] |
返回查询到的第一个对象:
|
1
2
|
r = User.query.first()print(r) |
返回所有查询到的对象:
|
1
2
|
r = User.query.all()print(r) |
|
1
2
3
|
u = User.query.first()db.session.delete(u) #删除数据和插入数据一样简单,但必须是通过查询返回的对象。db.session.commit() |
|
1
2
3
|
u = User.query.first()u.username = 'guest' #更新数据和变量赋值那么简单,但必须是通过查询返回的对象。db.session.commit() |
ionic是一个专注于用WEB开发技术,基于HTML5创建类似于手机平台原生应用的一个开发框架。目前绑定的与angularJS和SASS。这个框架的目的是从web的角度开发手机应用,基于PhoneGap的编译平台,可以实现编译成各个平台的应用程序。
首先需要安装cordova和android环境。这个参考我的另一篇文章:phoneGap之Android环境搭建,上面写的很详细,还有常见的错误及解决办法。
然后安装ionic:
1
|
npm install -g ionic
|
安装完成之后,就可以使用ionic创建项目了。
1
|
ionic start myApp tabs //创建带有top栏和bottom栏的示例项目
ionic start myApp sidemenu //创建带有左侧带有menu栏的示例项目
ionic start myApp blank //创建空白项目
|
具体效果,可以查看官网: http://ionicframework.com/getting-started/
然后可以使用:
1
|
ionic serve
|
该命令会自动启动流浏览器,查看当前效果。
执行下面的命令,
1
|
cd myApp
ionic platform add android //这行可能会报错
ionic build android
ionic emulate android
|
其实上面的使用方法和cordova差不多,添加android的时候可能会报错,如下:
1
|
The error is:
=======================================
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:1000:11)
at Process.ChildProcess._handle.onexit (child_process.js:791:34)
|
解决的方法很简单,将ionic换成cordova即可,经测试works fine。
1
|
cd myApp
cordova platform add android //这行可能会报错
cordova build android
cordova emulate android
|
1
|
Error: command failed:fatal:could not create work tree dir:'C:\Users/ADMINI~1\AppData\Local\Temp\plugman\git\1402853493773'.:No such file or directory
|
解决办法:进入上面对应的目录,建立对应的文件。比如在temp目录下建立plugman目录,在plugman目录下建立git目录,然后再git下建立1402853493773目录。即可,经测试有效。
怎么样把信息告诉其它人,至少知道这么一回事,这确实比较难,但是还是想去试试,只是试试:
1、邮件方式,以前社交平台的漏洞让这个事情变得容易的多,首先得到一个校区大部分的QQ(利用QQ很容易得到),然后再得到个人大部分
好友的QQ,接下来的就是发邮件的事,怎么样以百来个(买)的邮箱,轮流发送,发送端邮箱一天可以大概可以达到上千封;
2、短信,得到号码是一个问题,但是12306和汉庭酒店的数据泄漏给了一个很大的帮助,但是大众话的,怎么样得到精确的信息,这就得用网络爬取;
3、社交网络,购买各个SNS平台的号(貌似很便宜),贴吧,社区,QQ群(用软件)发送,SNS营销号互动,整个地区分发,应该多多少少有
点效果,成本应该很低,这倒是普遍常用的方式,显然,这需要一个终端(可以理解为一个人)几十个账号的交换,也很显然,破解的营销
的软件给力很大的方便,网络话术也很给力,要不然,一个女生怎么同时跟两百个人营销;
4、微平台加粉,微信,微博营销加粉软件貌似成熟不少,一键群回复也是常事,一键问候之类的,维护粉就容易多的了,这效果肯定不会短
期出现效果,但是一达到效果感觉应该是深入人心的,毕竟,这是一个送温暖的活,这是基本的运营方式,这也是成本很低的方式;
5、软文处理,这是一个很困难的事情,怎么让一篇文章貌似很有感受,确实有营销效果,想到的一个办法,各大平台的软文太多,修改链接
或是故事内容部分,也许会达到点点效果(只是点点),也许也不是点点,看人品,应该完成不是问题,因为,感动你的,也会感动他,并
不是每个演讲大师身后都一段感人肺腑的经历;
6、地推,这是最实战的方式,也是开始走出去做事的一个开始(只是开始),前面大部分的工作主要为了打舆论(不管大与小),技巧很多
,普遍的送礼(十个里面,总有一两个想要),对外一个产品的理解大概也需要一个月,通过前面的处理方式,很快打入思想理解,地推总
能说个一二三,责任心也就体现了;
7、接下来的,就是用户刺激,事件策划 … (这是一个长期的事情)
尝试的第一步是邮件方式,外发出5000封(机器发送等着就好,一个晚上的时间),得到的PV量是1500,而点击进入的成为用户的为150个左
右 ….