- Download python and install.
- Download and install setup tools http://pypi.python.org/pypi/setuptools#files
- Add C:\PythonXX\Scripts\ to PATH Environment .
- Open ‘cmd’ from Run Command…
- Type ‘easy_install redis’ and Enter.
Now, try it.
Now, try it.
ตัวอย่างการอ่านไฟล์ ini ด้วย python
;config.ini [server] host = 172.16.1.38 port = 1234 [clien] port = 2345
เลือกแค่อ่านแล้ว print ออกมาที่เหลือคงลุยต่อได้สบายนะครับ
import ConfigParser parser = ConfigParser.RawConfigParser() parser.read('config.ini') section = 'server' #สมมุติเลือกอ่านเฉพาะ server if section in parser.sections(): for option in parser.options('host'): print option , parser.get(section, option)
กรณีอ่านแค่ตัวเดียว
if len(x) > 0: if parser.has_option('server', 'host'): host = parser.get('server', 'host')
1. สร้าง Cert สร้าง app กันก่อน
https://github.com/Redth/PushSharp/wiki/How-to-Configure-&-Send-Apple-Push-Notifications-using-PushSharp
2. build App แล้วลอง run ดู เก็บ device_token ไว้
3. Generate file .pem จากไฟล์ p12 ที่ได้มาในขั้นแรก
openssl pkcs12 -in DEV_Certificates.p12 -out DEV_Certificates.pem -nodes -clcerts
4. เอาไฟล์ pem ที่ได้มา set ใน source python
ทดสอบ reblog
example link
3 Browser หลักของผม ออกมาไม่เหมือนกันซักอัน
1. RockMelt(Chrome Modified), 2. Firefox, 3. Safari
Chrome กับ Safari จะคล้ายกันหน่อยส่วนที่เห็นจะต่างก็คือ placeholder หรือ text ที่เป็นเงาๆ ใน inputbox ซึ่งอาจจะมาจาก webkit คนละ Version กัน
edit
มาต่อกันแล้วกับ Browser อีกตัวที่ทำมาจนหน้าตกใจเลยทีเดียว
มี toolbox สำหรับ input แต่ละ type มาให้เลยทีเดียว,แต่ที่น่าเสียดายคือบน Mac พวกปุ่มต่างๆ และข้อความจะดูไม่ค่อยพอดีเท่าไหร่
แต่ก็ถือว่าดีกว่า Browser ข้างบน เพราะสมมุติว่าถ้าเกิดเราเจอ input type ‘color’ นี่รับรองได้กรอกกันไม่ถูกเลยทีเดียวนอกจากจะเขียน JavaScript มาครอบไว้อีกที แต่ Opera จัดมาให้ชุดนึงก่อนโดยไม่ต้องเขียน javaScript ซักบรรทัด
และสำหรับการ Validate อัตโนมัติของ HTML5 มีเพียง
Firefox, Opera และ Chrome ที่ทำไว้ให้ , ส่วน Safari เด้งอยู่หน้าเดิม
เรื่องความสวยงามขอยกให้ Opera ครับ, ส่วน Firefox นี่ทำกรอบแดงให้ทุกฟิลเลยดูง่ายดี
Chrome ไม่สวยเลยให้ตายสิ 😦
อันนี้ source code ตัวอย่างครับเอาไปลองทดสอบกันเองได้
ลองกันดูได้ 😉
filename: code_has_error.py
logfile : logtest.log
import logging import sys import os from datetime import datetime log_path = os.getcwd()+'/' #set to running directory loglevel = 'DEBUG' #default log level #change path to some path #log_path = '/path/to/log/' def ensure_file(filename): f = open(filename, 'a') f.close() return filename def today_logname() : return datetime.today().strftime('%Y-%m-%d.log') def ensure_dir(f): d = os.path.dirname(f) if not os.path.exists(d): os.makedirs(d) def configLog(): global loglevel if len(sys.argv) > 1: for argu in sys.argv: if argu.startswith('--log='): loglevel = argu[6:] numeric_level = getattr(logging, loglevel.upper()) #geting log level if not isinstance(numeric_level , int): raise ValueError ('Invalid log level: %s' % loglevel) ensure_dir(log_path) full_path = ensure_file(log_path+today_logname()) logging.basicConfig(filename=full_path, format='%(asctime)s:%(levelname)s:%(message)s', level=numeric_level, datefmt='%d/%b/%Y %I:%M:%S %p') def main(): configLog() logging.info('Log level :%s.' % loglevel) logging.debug('This message should go to the log file in debug mode') logging.warning('Watch out!') a = 100 / 0 logging.info('I told you so.') if __name__ == '__main__': try: main() except : logging.exception('')
test run than see log result in .log
18/Apr/2012 05:10:38 PM:INFO:Log level :INFO. 18/Apr/2012 05:10:38 PM:WARNING:Watch out! 18/Apr/2012 05:10:38 PM:ERROR: Traceback (most recent call last): File "code_has_error.py", line 24, in <module> main() File "code_has_error.py", line 19, in main a = 100 / 0 ZeroDivisionError: integer division or modulo by zero
update: จากเดิมไม่ ready to use ตอนนี้ ready แล้วจ้า
def ensure_dir(f): import os d = os.path.dirname(f) if not os.path.exists(d): os.makedirs(d)
sudo yum update ruby sudo yum install rubygems sudo gem update --system sudo yum install make sudo yum install gcc sudo gem install rails --no-ri --no-rdoc
MySql and MySql2 Gem
สำหรับ rails 3.1
sudo yum install mysql mysql-devel ruby-devel sudo gem install mysql2 -- \ --with-mysql-include=/usr/bin/mysql \ --with-mysql-lib=/usr/lib64/mysql
สำหรับ rails 3.0
sudo gem install --version '~>0.2.7' mysql2 -- \ --with-mysql-include=/usr/bin/mysql \ --with-mysql-lib=/usr/lib64/mysql
Nokogiri xml parser
sudo yum install -y libxml2 libxml2-devel libxslt libxslt-devel sudo gem install nokogiri
Debug > Info > Warning > Error > Critical
Debug ทุกอย่าง
Info รายงานค่าความถูกต้อง
Warning แจ้งเตือน( Memory ใกล้เต็ม แต่โปรแกรมยังรันอยู่เป็นต้น)
Error มีการ Error เกิดขึ้น
Critical ร้ายแรงขนาดโปรแกรมไม่อาจจะทำงานต่อได้
1. เปิด Terminal ขึ้นมา
cd Library/Developer/Xcode/DerivedData/ ; open .
2. ลบไฟล์ไปที่ Trash ให้หมด
3. empty trash
4. บรู้มมม Harddisk ได้กลับมาเป็นกิ๊กเลย 😀
สำหรับ Hardcore (อันตรายนะจ๊ะ!!)
rm -rf Library/Developer/Xcode/DerivedData/*
-merge conflict ประจำ
-merge แล้วไฟล์หาย
-แก้ไขไฟล์เดียวกันไม่ได้
-ignore file ก็ใช้ไม่ได้
สรุปว่ากากมากๆ