在軟體工程師(中國叫做「程序員」或「碼農」)的圈子裡,文人相輕的現象可是非常嚴重的,在程式設計的各個領域裡都有著錯綜複雜的「鄙視鍊」。從程式語言、編輯器、平台到 { 是寫在 if 的同一行還是下一行,不同陣營的人都習慣鄙視來鄙視去。而其中「你用什麼程式語言?」更是大家最熱衷的一條鄙視鍊,所以對於剛踏入程式設計領域的初學者來說,萬一程式語言選得不好,可是會一開始就落入鄙視鍊的底層啊。
- Dec 12 Fri 2014 17:08
-
軟體工程師的鄙視鏈
最近這幾年在世界各地突然吹起了一股全民寫程式的風潮,連美國總統歐巴馬都在寫 JavaScript 了,但是身為一介靠寫程式(以及在上班時間胡亂上網)來謀生的 developer(所謂的 developer 就是「軟體工程師」的比較潮的說法),想要提醒那些想學習寫程式的人一件重要的事:慎選你的第一個程式語言。
在軟體工程師(中國叫做「程序員」或「碼農」)的圈子裡,文人相輕的現象可是非常嚴重的,在程式設計的各個領域裡都有著錯綜複雜的「鄙視鍊」。從程式語言、編輯器、平台到 { 是寫在 if 的同一行還是下一行,不同陣營的人都習慣鄙視來鄙視去。而其中「你用什麼程式語言?」更是大家最熱衷的一條鄙視鍊,所以對於剛踏入程式設計領域的初學者來說,萬一程式語言選得不好,可是會一開始就落入鄙視鍊的底層啊。
在軟體工程師(中國叫做「程序員」或「碼農」)的圈子裡,文人相輕的現象可是非常嚴重的,在程式設計的各個領域裡都有著錯綜複雜的「鄙視鍊」。從程式語言、編輯器、平台到 { 是寫在 if 的同一行還是下一行,不同陣營的人都習慣鄙視來鄙視去。而其中「你用什麼程式語言?」更是大家最熱衷的一條鄙視鍊,所以對於剛踏入程式設計領域的初學者來說,萬一程式語言選得不好,可是會一開始就落入鄙視鍊的底層啊。
- Dec 12 Fri 2014 17:04
-
如果編程語言是種武器
- Jul 09 Wed 2014 12:07
-
AJAX上傳檔案,需搭配jquery.plupload服用
- Jul 09 Wed 2014 11:38
-
常用的JavaScript模組,需搭配Jquery1.11.10、BootStrape3服用
HTML
module_name=""
table_name=""
hide_target=""
row_id=""
row_name=""
next_url=""
remove_target=""
do_change_action=""
message="您確定要刪除這個物件嗎?">
type="text" class="BlurUpdateInfo form-control"
field_type=""
row_id=""
field_name=""
table_name=""
module_name=''
placeholder="請輸入"
tabindex=''
old_value=""
value="">
type="text" class="BlurUpdateInfo form-control"
is_select="true"
row_id=""
field_name=""
table_name=""
module_name=''
old_value="">
type="textarea" class="BlurUpdateInfo form-control"
field_type="str"
row_id=""
field_name=""
table_name=""
module_name=''
rows="5"
old_value="{{ row.note|default_if_none:"" }}">{{ row.note|default_if_none:"" }}
module_name=""
table_name=""
hide_target=""
row_id=""
row_name=""
next_url=""
remove_target=""
do_change_action=""
message="您確定要刪除這個物件嗎?">
type="text" class="BlurUpdateInfo form-control"
field_type=""
row_id=""
field_name=""
table_name=""
module_name=''
placeholder="請輸入"
tabindex=''
old_value=""
value="">
type="text" class="BlurUpdateInfo form-control"
is_select="true"
row_id=""
field_name=""
table_name=""
module_name=''
old_value="">
type="textarea" class="BlurUpdateInfo form-control"
field_type="str"
row_id=""
field_name=""
table_name=""
module_name=''
rows="5"
old_value="{{ row.note|default_if_none:"" }}">{{ row.note|default_if_none:"" }}
- Dec 27 Fri 2013 13:03
-
「女兒你好,我是你爸。」一個年輕父親寫給未出生女兒的信
現在,你媽媽躺在我旁邊的病床上,身上連接著各種各樣的管子,每三分鐘就要被量一次血壓,掛著尿袋,眼神迷離,我覺得是時候動筆了。首先向你說明一下你的名字。你的中文名字是什麼,我還不知道。
很久以前,我和你媽媽談戀愛的時候就探討過孩子的名字。我叫袁方,你媽叫高陽,所以我們想當然地給你取名袁曉陽,男女通用。後來我突發靈感,想到了袁圈這個特別酷的名字。注意,發音要發成圓圈的「圈」,而不是豬圈的「圈」。這個名字受到了很多人的歡迎,而且同樣男女通用。想不到,先是你的外婆提出反對意見,說叫個這可不行,還說取名字得看五行八卦,等你生了她去廟裡找個大師給你算出一個名字;緊接著是你爺爺,他說這個名字太可笑了,是沒有文化的表現,他認為取名字一定要符合「三雅」標準,即高雅典雅文雅。你爺爺向我提議,說《紅樓夢》裡的名字都特別三雅,很多字當成名字都非常美麗,比如「晴」、「黛」、「雯」。我說紅樓夢裡的人名字好聽卻沒一個好命,但他還是提議可以叫袁雯或者袁雯雯。剛巧,我認識好幾個叫雯或者雯雯的女孩,我不想讓她們感覺你爸我多年暗戀於她們卻無果,最後寄情思於兒女姓名,遂果斷拒絕。
- May 20 Mon 2013 19:29
-
Python Email寄信模組的使用方式
系統中可能需要自動寄信的功能,例如會員通知、認證資格等等的需求
以下提供python的Email模組(smtplib)
import smtplib
#你要寫的內容
info = ''
info += ('\n'+u'您好,這是「*****」發出的例行預警通知信,請勿回信'+'\n')
info += ('\n'+u'因資訊安全,請至(http://******.nchu-cm.com/), 登入後觀看預警內容'+'\n')
#寄件人的信箱,通常自己去申請個GMAIL信箱即可
gmail_user = '*********@gmail.com'
gmail_pwd = '**********'
#這是GMAIL的SMTP伺服器,如果你有找到別的可以用的也可以換掉
smtpserver = smtplib.SMTP("smtp.gmail.com",587)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo()
#登入系統
smtpserver.login(gmail_user, gmail_pwd)
#寄件人資訊
fromaddr = "*************@gmail.com"
#收件人列表,格式為list即可
toaddrs = ['***@gmail.com', '*****@gmail.com']
#設定寄件資訊
msg = ("From: %s\r\nTo: %s\r\nSubject: %s\r\n" % (fromaddr, ", ".join(toaddrs), u'*********-即時預警通知'))
smtpserver.sendmail(fromaddr, toaddrs, msg+info)
#記得要登出
smtpserver.quit()
以下提供python的Email模組(smtplib)
import smtplib
#你要寫的內容
info = ''
info += ('\n'+u'您好,這是「*****」發出的例行預警通知信,請勿回信'+'\n')
info += ('\n'+u'因資訊安全,請至(http://******.nchu-cm.com/), 登入後觀看預警內容'+'\n')
#寄件人的信箱,通常自己去申請個GMAIL信箱即可
gmail_user = '*********@gmail.com'
gmail_pwd = '**********'
#這是GMAIL的SMTP伺服器,如果你有找到別的可以用的也可以換掉
smtpserver = smtplib.SMTP("smtp.gmail.com",587)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo()
#登入系統
smtpserver.login(gmail_user, gmail_pwd)
#寄件人資訊
fromaddr = "*************@gmail.com"
#收件人列表,格式為list即可
toaddrs = ['***@gmail.com', '*****@gmail.com']
#設定寄件資訊
msg = ("From: %s\r\nTo: %s\r\nSubject: %s\r\n" % (fromaddr, ", ".join(toaddrs), u'*********-即時預警通知'))
smtpserver.sendmail(fromaddr, toaddrs, msg+info)
#記得要登出
smtpserver.quit()
- May 20 Mon 2013 19:22
-
Python 兩個系統間的轉送模組
因為有時候會需要兩台系統的串連,所以需要把第一台電腦所得到的資訊
丟給第二台電腦進行運算或查詢,然後再回傳給第一台電腦進行顯示
以下提供一個python的轉送方法,利用urllib模組進行轉送
丟給第二台電腦進行運算或查詢,然後再回傳給第一台電腦進行顯示
以下提供一個python的轉送方法,利用urllib模組進行轉送
- May 20 Mon 2013 19:19
-
網頁錯誤代碼一欄表
201 Post 指令被成功地執行
202 請求被接受
203 Get或Head請求被完成
204 請求被完成,但沒有內如容傳回
300 資源可在許多地方被找到
301 資源永久的移除
302 資源暫時被移除
304 資源未被更改過
400 client的不正確請求信息
401 未授權的請求訊息
402 完成請求信息必須有回應
403 禁止使用此資源
404 資源找不到
405 資源不允許使用此方法
406 不被接受的資源型別
410 無此資源
500 Server 內部發生錯誤
501 沒有被實作的方法
502 不正確的 gateway 或 server 負荷過重
503 無此 service 或 gateway 餘時 200 OK
- Feb 22 Fri 2013 15:26
-
常用html表單及標籤語法,作記錄以供查詢

文字效果
<tt>
<i>
<b>
<big>
<small>
<strike>
- Jan 19 Sat 2013 19:54
-
如何在痞客幫部落格貼程式碼,並自動加上顏色
- Jan 19 Sat 2013 16:57
-
DJANGO 網站檔案上傳欄位的寫法
首先要先設定models.py
import os
from apps.common.templatetags.utiltags import thumb
from apps.common.lib import calsize
def _FILE_UPLOAD_TO(instance, filename):
return os.path.join('apps', 'your_app_name', 'media', 'your_app_name', 'photo_file', str(upload_date), str(instance.id)+'.'+instance.ext)
class PhotoFile(M.Model):
#督導缺失相片上傳區
name = M.CharField(verbose_name='檔案名', max_length=256, null=True, default='')
ext = M.CharField(verbose_name='副檔名', max_length=10, null=True)
upload_date = M.DateField(verbose_name='上傳日期')
file = M.ImageField(upload_to=_FILE_UPLOAD_TO, null=True)
memo = M.CharField(verbose_name='備註說明', null=True, max_length=2048)
def rUrl(self):
return self.file.name.split('apps/your_app_name/')[-1]
def rThumbUrl(self):
thumbsrc = thumb(self.file.name, "width=1024,height=768")
if thumbsrc == 'media/images/error.png':
return self.file.name.split('apps/your_app_name/')[-1]
else:
return thumbsrc.split('apps/your_app_name/')[-1]
def rExt(self):
return self.file.name.split('.')[-1].lower()
def calSize(self):
if self.file:
return calsize(self.file.size)
else:
return calsize(0)
import os
from apps.common.templatetags.utiltags import thumb
from apps.common.lib import calsize
def _FILE_UPLOAD_TO(instance, filename):
return os.path.join('apps', 'your_app_name', 'media', 'your_app_name', 'photo_file', str(upload_date), str(instance.id)+'.'+instance.ext)
class PhotoFile(M.Model):
#督導缺失相片上傳區
name = M.CharField(verbose_name='檔案名', max_length=256, null=True, default='')
ext = M.CharField(verbose_name='副檔名', max_length=10, null=True)
upload_date = M.DateField(verbose_name='上傳日期')
file = M.ImageField(upload_to=_FILE_UPLOAD_TO, null=True)
memo = M.CharField(verbose_name='備註說明', null=True, max_length=2048)
def rUrl(self):
return self.file.name.split('apps/your_app_name/')[-1]
def rThumbUrl(self):
thumbsrc = thumb(self.file.name, "width=1024,height=768")
if thumbsrc == 'media/images/error.png':
return self.file.name.split('apps/your_app_name/')[-1]
else:
return thumbsrc.split('apps/your_app_name/')[-1]
def rExt(self):
return self.file.name.split('.')[-1].lower()
def calSize(self):
if self.file:
return calsize(self.file.size)
else:
return calsize(0)
- Jan 19 Sat 2013 15:10
-
DJANGO 使用 AJAX 來實現即時編輯資訊的動作