Chunlei's Blog

刹那是永恒

使用Python已经有几年了,也写过很多文本分析的程序,包括输入输出,写文案,抓网页等。最大的体会是Python的简洁性,你可以用最好的代码做最多的事儿,前提是你知道怎么做。Python可以让你实现人工智能、大数据分析、网页开发,几乎无所不能。所以,如果你想进入码农行业,你要认真的考虑一下是否要学习Python。

本文列举了个人常用的命令,并不系统。后面期望不断改善。

Python重要用法示例

dir(list)#显示关键字相关的函数
help(list.reverse)#查询某个函数的功能

set 让一个list变成无重复元素的set
例如:

shapes = ['circle','square','triangle','circle']
setOfShapes = set(shapes)
setOfShapes 
set(['circle','square','triangle']) 
 setOfShapes.add('polygon') 
'rhombus' in setOfShapes 
False 
setOfShapes - setOfFavoriteShapes 
setOfShapes & setOfFavoriteShapes 
setOfShapes | setOfFavoriteShapes 

map和lambda

map(lambda x: x * x, [1,2,3])
[1, 4, 9]
filter(lambda x: x > 3, [1,2,3,4,5,4,3,2,1])
[4, 5, 4]

Object 先定义一个类,然后给类生成实例
定义如:

class FruitShop:
def __init__(self, name, fruitPrices):
    """
        name: Name of the fruit shop
        
        fruitPrices: Dictionary with keys as fruit 
        strings and prices for values e.g. 
        {'apples':2.00, 'oranges': 1.50, 'pears': 1.75} 
    """
    self.fruitPrices = fruitPrices
    self.name = name
    print 'Welcome to the %s fruit shop' % (name)
    
def getCostPerPound(self, fruit):
    """
        fruit: Fruit string
    Returns cost of 'fruit', assuming 'fruit'
    is in our inventory or None otherwise
    """
    if fruit not in self.fruitPrices:
        print "Sorry we don't have %s" % (fruit)
        return None
    return self.fruitPrices[fruit]
    
def getPriceOfOrder(self, orderList):
    """
        orderList: List of (fruit, numPounds) tuples
        
    Returns cost of orderList. If any of the fruit are  
    """ 
    totalCost = 0.0             
    for fruit, numPounds in orderList:
        costPerPound = self.getCostPerPound(fruit)
        if costPerPound != None:
            totalCost += numPounds * costPerPound
    return totalCost
def getName(self):
    return self.name

调用winsound 函数


import winsound
# press a make a beep
if event.KeyID==65: winsound.Beep(200,9)
# press ESC play exit sound
if event.KeyID==27: winsound.PlaySound("SystemExit", winsound.SND_ALIAS)

使用pyHook监听鼠标和键盘事件


import pythoncom
import pyHook

def onKeyboardEvent(event):
	global switch
	# 监听键盘事件
	if switch:
		print "Key:", event.Key
		print "KeyID:", event.KeyID
	return True #监听函数的返回值

def main():
	# 定义一个实例
	hm = pyHook.HookManager()
	# 监听所有键盘事件
	hm.KeyDown = onKeyboardEvent
	# 设置键盘监听器
	hm.HookKeyboard()
	# 循环并保持一直处于监听状态
	pythoncom.PumpMessages()

用pyenv的基本操作命令管理python版本

pyenv versions# 查看当前已安装的 python 版本
pyenv install ... #安装指定版本的 python
pyenv global python版本 #切换全局 python 版本
source ~/.bash_profile
pyenv local python版本 #切换当前文件夹下的 python 版本
pyenv shell python版本 #切换当前 shell 中的 python 版本
pyenv version #查看当前使用的 python 版本

python 数据库开发

取消所有8000进程:
sudo lsof -t -i tcp:8000 | xargkill -9

创建项目
django-admin startproject demoproject

创建应用
cd demoproject
python manage.py startapp TestModel

打开 mysql服务器
mysql -u root -p

参考:手册

现在我们可以创建数据库表了。首先,用下面的命令对校验模型的有效性:

python manage.py validate

模型确认没问题了,运行下面的命令来生成 CREATE TABLE 语句:

python manage.py sqlall books
python manage.py syncdb

打开服务器
python manage.py runserver
python manage.py migrate
python manage.py makemigrations

查看sql服务是否启动

ps -ef | grep mysqld#查看MySQL服务器是否启动
service mysqld status#查看服务运行的状态

Mysql
mysql -u db_user -p
SHOW DATABASES;
CREATE DATABASE blog_data;
drop database mydb;
SHOW DATABASES;
Whenever you’d like to exit MySQL server, press CTRL + D.

show variables like ‘%char%’;
set character_set_server=utf8;
set character_set_database=utf8;

show variables like ‘%char%’;

ALTER DATABASE classlinkr DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

use my_db;
show tables;

show full columns from clips_clip;

ALTER TABLE classlinkr.clips_clip MODIFY COLUMN concept VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

闲来无事,随便看看Python 3.0的文档,发现了一个很pythonic的模块:声音播放 for windows;凑个流行语叫做“很傻很天真”,不过挺好使得。

1 winsound.Beep

每一个都有不同的用法,一个一个来看吧。

winsound.Beep(frequency, duration)

PC扬声器滴的一声,就是它了。第一个参数frequency表示分贝数,大小在37到32767之间。第二个参数是持续时间,以毫秒为单位(有耐心的话可以试试winsound.Beep(32767,9999999),嘿嘿)。

2 winsound.PlaySound

1. import winsound
2. # Play Windows exit sound.
3. winsound.PlaySound("SystemExit", winsound.SND_ALIAS)
4. # Probably play Windows default sound, if any is registered (because
5. # "*" probably isn't the registered name of any sound).
6. winsound.PlaySound("*", winsound.SND_ALIAS)
不过只能播放wav,不能播放wma和mp3文件,这2种还需要其他包的支持。

网站维护:
使用Django框架
前端口用h5和JS开发
替换该文件之后,需要跑一下systemctl restart httpd命令才能生效

Durying my study in UGA, I will obey 3 rules:

  • 能在中国做的不在美国做 Things that can be done in China will not be put at the frist place.
  • 能自己做的不让别人做 Things that I can do myself will not be done by others.
  • 能一天做的不用两天做 If it only need one day, I will not spend two days.

The aim of these rules is to let me to take every advantage of my study here. They will help me to save time and focus on the important work.

These days I am fighting with the Display Card Problem of my computer. Befor coming to Georgia, My coumputer can not start normaly, the screen is black, athough you can hear the sound of login. I try to ingnore this problem by using another OS Ubuntu in my comuputer. BUT, unfortianaly, I can’t use the PAWS wireless network of UGA in Ubuntu. So I have to solve the Display problem in WIN7 or the wireless connection problem in Ubuntu. Guess what, neither of the problem is easy to trackle.

Finally, I solved the Display Problem using following steps:

  • setup the two display driver software in my drivers folder(“display/amd & amd2”) in C disk.
  • setup the downloaded display controler(“E:\DRIVERS\chunleidownload\13-9_win7_win8_64_dd_ccc_whql.exe”), uncheck the quick stream function(20131104 I didn’t do this but did it in previsous steps, then I use black but swichable mode)
  • everything comes to normal although I still can’t use swticheable display mode in BIOS

最终的解决方案
首先我重新安装了drivers文件包下的所有驱动,并下载和安装了一个最新的controler。
其实这并不是问题的实质,因为电脑每次并不是不能启动,而只是会自动进入投影仪模式,按切换键后才能自动切换回来。
但是这究竟是什么问题导致的却不清楚,我尝试了很多方法:
1 重新安装驱动:不管用(一次我成功的用单显卡启动了一阵,但毕竟不是最佳的显示性能)
1 重装系统:这招肯定管用,但是太累了
1 后来有人提到说把显示器中的一个“隐藏该显示器无法显示的模式”设置勾掉就行了,结果我发现我的显示器设置中,这项是灰色,而且本来就没有勾选。
1 再后来有个哥们在笔记本休眠到一半的时候按了启动键,结果也遇到了跟我一样的问题,而且也尝试了很多办法,后来发现这个问题跟硬盘的虚拟文件有关。我的电脑只有C盘有虚拟文件,由于我的内存有6G,我就限制了一下虚拟文件的大小,这次我把它改为系统托管。问题就解决了。
2014年1月7日,这次着急关电脑,可能再睡眠的状态按了电源键,结果又出了同样的问题,尝试了多次,最后在虚拟内存设置选项卡中勾选“系统托管”全部硬盘,问题就解决了。

总结一下
遇到问题 还是要自己思考所有可能相关的细节 进而列出可能的尝试解决方法。
还要看看遇到同样问题的人是如果解决的,也可进行尝试。

这就像做研究一样:
最开始是很实际的需求,碰巧解决了,也不会寻根问底。
但是反复遇到这个问题,有的时候有效,有的时候无效,这就让人想彻底解决这个问题。
于是自己开始不断探索,不断查阅别人的探索经验,总结教训,寻找逻辑关系。
最好终于问题解决,缘由寻到。

解决问题的技巧:
显示主要到是什么事件引发了问题?(休眠,连接投影仪,更新,)
接下来问题的表现是什么?(启动时黑屏,但是可以听到windows正常启动的声音,并且可以通过显示模式变为正常)
如何解决这个问题(不解决并加以利用,反正你自己会用就行;自己尝试;看看别人的尝试;思考前因后果并提供更可能的假设)
总结、记录和分享。

你看是不是跟做研究一样一样的。

###What I learn from this:

  • never buy a computer with two display card fire together
  • if you have important thing just leave these problems there, important thing come frist
  • reflect and record your problem solving process

于2014-05-10
两三个月前,又出现了同样的问题,但是这次无论使用什么办法都不管用了。于是我就学着适应这种改变,虽然开机是黑屏的,但是我仍然能正常启动,反而增加了系统的安全性,于是我就听之任之。

前两天,突然屏幕的图标变大了,我曾经使用过会议室的投影仪,开机的时候连着投影仪,关机的时候已经拔出了,结果回到宿舍,发现屏幕休眠后可以正常唤醒,于是重新启动定闹,结果久违的登陆页面一下子又自己出来了。

17May2014 在没有插电源的情况下,电脑进入了待机状态,唤醒时黑屏,不能正常回复。强制关机后,采用最后一次正确配置,变为正常。

###windows开始菜单单击无反应
可能是宝宝连续按电脑开关,导致的windows开始菜单无法打开:搜索了一下解决方案,第一种是建议右键系统盘选择工具,检查错误。一开始有效,后来不知怎么这招也不管用了。于是再次搜索,发现第二种解决方案:开始/运行输入regedit回车,打开注册表编辑器定位(按Windows键+R打开运行窗口) [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] 在右侧选新建DWORD值,命名为 NoWinKeys,并双击将这个键值设为“0”按确定,在按F5刷新或重启电脑。这个管用。

经常有学生或教师问我该如何说课或者写教案。我听到后,第一反应是“查”。自己主动查一查,如何说课这个问题,肯定有很多资源的。在我看来,说和写都是表达教学设计的方式而已,关键还是教学设计。说其实是口头表达,其实如果你能写好教案,设计好教学,那么我相信你也能表达好。所以最关键的是理清自己的教学思路。自己不清晰,怎么能指望别人听懂呢,更别指望受到赞赏和认可了。

我觉得说课要做到以下几点:
一、说课的内容一定要包括:前端分析、教学目标、教学思路-问题线索-学习活动、最后是学习检测。第一部分相当于先了解一下脚下的“路况”如何,第二部分相当于你是要告诉别人,在这样的“路况”下,你要去哪,第三部分是你要如何走这条“路”,第四部分是你如何知道你离“目的地”还有多远。

所以,概括起来说课包含以下内容:
说情境:教学情境是怎样的?
说目标:目标是如何确立的?
说过程:教学活动如何开展?为什么这么上?
说评价:你如何在教学过程中判断学生达成目标的情况。(这部分,很多老师都会忽略)

二、说课形式可以是多样的,可以借助ppt,也可以借助概念图,我推荐使用概念图,因为它能让你兼顾部分和整体、学习目标与学习活动之间的联系以及学习活动的过度和衔接等。这些都是新手教师容易忽略的。

三、说课的境界

  • 第一个层次,是让人听懂,知道你要如何上这门课,这是最基本的层次。
  • 第二个层次,是让人不仅知道你怎么上,还知道你为什么这么上,教学是教师有意识的行动。
  • 第三个层次,是让人觉得你是在创造性的解决实际问题,并且认同你的做法的合理性和可行性,教学是基于研究和经验摸索的创新尝试。

四、说课好坏的评判标准:
第一,是教学目标设计和表述是否合理。
第二,前端分析是否扎实、全面,是否包括学情分析、教材内容分析以及学习需要分析,是否能依据分析确定合理的教学目标。
第三,教学思路是否清晰,问题线索是否自然,学习活动是否能帮助学生达成教学目标。
第四,是否设计了新问题情境检测学生的学习成果和教学目标达成情况。

我将在佐治亚访学一年,这一年的时间里我想用日志记录。记录我的所看、所感。

7月25号上午9点从上海飞往东京,转机飞亚特兰大。在东京停留了2个小时左右,我趁机买了一些日本的特产,包括绿茶和点心,这些小礼物是给接我的博士生R买的。一路上都很顺利,去亚特兰大的飞机上,坐在我左边的是一个中国人,右边的似乎是一个墨西哥人,很胖很壮,不过也很友善。我填写的海关表时,还向他借了笔,此外也问了他一些关于I94 departure record的问题,他回答的很耐心。

一路上我要莫看录像,要莫睡觉,为倒时差做准备。当然聊的比较多的还是与左边的中国留学生,他在英国留学,这次去美国看妈妈,我问他Groome shutle怎么坐,他说他也要做shutle,后来我给他看手机上的信息,结果其实他也是要做这个shutle的但是不是同一个线路而已。 于是我们商量好一起走。

从飞机下来要走很远,才能到海关检查的地点。然后排队等候,一个旅客无意识掏出了手机,结果给工作人员看见了,要求他拿着手机给检查官看,检查官是个黑人,盘问的半天检查了手机才让他继续排队。原因是这个地方是禁止拍照的。

盘查我的也是那个黑人警官,他问了2个问题,你来美国看什么,你研究什么,还让我出示了邀请信,之后才改了章放我过去。过了海关就去认领行李,一开始我以为应该有工作人员扫描条形码然后给我们行李,结果到了哪啥都没有,就是一个电子牌指示哪个航班的行李在哪个转盘上,我们等了半天,最后我的行李先出来了,由于我的班车是5点多的,我看了时间只有20分钟左右,我就自己先走了。 机场的地图虽然下载过,但是没什么用,有用的还是问路,问了一个警官,他告诉我做3路机场公车就可以,我赶紧去坐车,还好顺利赶到了。

我赶到的时候,只有2位乘客没有上车了,司机是个白人,长头发,很帅气,我告诉他我定了位置,他帮我放好行李,然后查看了记录手册,并让我付钱,结果我拿出一百美元,他说没有零钱。我问是否可以用信用卡,他说可以打电话,于是他帮我打通了电话,我说明了情况,报告了信用卡信息,结果就成功支付了。下车的时候,我看到有乘客给小费,但是很不巧我只有一百美元的,所以我说了谢谢,并解释了一下,他说没关系的。下车有机会再给吧。

我下了shutle,但是发现根本没有人等我,不过刚刚过了3分钟R先生就开车到了。我请他吃了快餐,本来还要买sim卡的,但是兜了很久也没找到,于是他送我去HSC入住。在工作人员的提示下,我填写了几张表格,就拿到了钥匙入住了。悬着的心终于放下来了,美国我来了。

最近参加了一门网络课程,是关于创造力的,课程活动要求参与者设计一些chindogu,这个词源于日本,是指一些没有实际用途但是有趣的设计产品。于是我设计了以下作品:
beauty-in-your-cup
beauty-in-your-cup
beauty-in-your-cup
beauty-in-your-cup
beauty-in-your-cup
beauty-in-your-cup

P:关闭ie9标签页显示错误。
T:升级为ie10问题仍然存在。
T:关闭程序兼容性助手服务,问题仍为解决。
S: 关闭ie所有加载项,问题消失,然后逐个打开加载项,选择性加载。问题解决。

静下心来做事情是很了不起的品质。
快速的静下心来做事情是不得了的品格。

回顾过去总结教训是了不起的品质。
周期行的回顾并找出未来行动的参考是不得了的品格。

  • 资料文本的回顾
  • 文章的回顾
  • 时间和行为的回顾

电影描述的是发生在葡萄牙与西班牙边境的一个土著印第安部落的故事。故事大约发生在17世纪。当地政府默许抓捕印第安人,并作为奴隶贩卖,进而从中谋利。但是一个传教士经过一番周折,先到达了部落并且被土著居民所接纳。但是奴隶抓捕运动并没有结束,一个抓捕印第安人的雇佣兵因为愤怒,在决斗中杀死了自己的亲弟弟。对于此事他始终不能释怀,于是他来到教会,并想绝食致死。在神父的激将下,他背着一个沉重的包袱,爬上非常陡峭的瀑布,逆流而上来到印第安土著的居住地。印第安人认出了他,但看到他被包袱拖累的悲惨样子,原本威胁他的匕首反而帮他可断捆绑包袱的绳索。印第安人原谅了他。他也加入了教会,成为一名传教士,并和神父一起建立一个教堂。政府想使得抓捕当地印第安人合法化,但是教会则要庇护它的信徒。于是红衣主教特地赶来仲裁。迫于政府压力,红衣主教选择了牺牲当地印第安人,并让所有传教士撤离。但是神父和佣兵都留了下来,他们用不同的方式进行抵抗,但仍然难逃厄运。

悲剧总是让人印象格外深刻。

佣兵本来最后是有机会拉响炸药的,但是他看到一个小男孩中枪,他的伙伴想救他,他选择了先去救这个小男孩。于是他错过了拉响炸药的机会,并中枪倒下。

这是一个悲剧,佣兵选择了用武力保卫印第安部落。神父选择了用仁慈和舍生取义的精神来保护。但是都没有成功。

从战争的角度讲,佣兵安排的战斗策略是失误的:
1 没有利用天险瀑布悬崖
2 没有利用土著人善于水中作战的特点
3 没有利用森林进行运动战和埋伏战
4 没有转移老幼妇孺,避免不必要的损失
5 没有利用火枪对敌人头目进行狙击

影片呈现的是壮烈的牺牲,一个佣兵在最后关头选择的是爱,而不是杀戮,就已经将教义深深的烙印在观众的心中。

今天,第一组完成了观察类实验,第一次进行实验往往是最具有挑战的。因为他们要现去摸索实验准备的过程,教学组织的过程,以及环境的布置和利用等。考虑到这些挑战的要素,对于新手教师来讲,应该说完成的还是很不错的。

第一小组的优点包括:

  • 提前分工做了预实验和必要的准备工作,特别是实验材料的准备和探索工作。
  • 认准准备了课件和学案。
  • 从头到尾顺畅的进行衔接,一直到最后完成实验室的清理工作。

当然也存在一些可以提高的地方:

  • 时间的把控和设计可以再紧凑一些,每个人讲解的时间,实验操作的时间,分析总结的时间,以及教学反馈的时间都要考虑在内。(下次我会让同学严格计时,或者带一个闹钟,模拟真实课堂的下课铃声情境)
  • 预想实验教学可能出现的各种情况,在实验材料、活动组织、课件、语言等做好充分的准备。(在这个方面,其实可以鼓励他们进行预讲,预讲要求第二周的同学参与和反馈,这样第二周的学生也可以提前做实验准别,了解情况,同时也可以吸取上一周同学准备的经验)
  • 可以预先布置学习任务、分发学案,并把实验设计、反思等及时更新到wikispaces上,督促大家做好实验预习。(wikispaces上的实验手册,很不明确,可以给他们设计一个表格,如课前阅读材料、准备或实验预习报告,课上活动任务及数据记录表格,作业布置等,这样他们就会明确要做哪些,不要做哪些,实验手册需要让研究生参与完善,如果可以的话)

在本次实验过程中,王星同学以及李娜、郑烨两位同学准备都较为充分,语言和教态也较为自然,值得表扬。其实为什么能脱稿,为什么能够应对各种突发状况,本质上离不开充分的准备。这种准备包括对内容的熟悉,对实验操作过程要点的熟悉,对学生特点和行为的预期等等。当然也离不开好的设计,好的设计一定是将内容、教法以及技术环境以较为合适的方式进行了融合的方案。因此大家也可以从这三个方面下下功夫。(要个每个同学一个metal的同时也有一个mission)

0%