什麼是regular expression
一般在程式語言的應用上,程式設計人員會稱它為正規表達式,我個人覺得稱呼它為規則比對式較能反映它的應用,因為在絕大部分的應用上,正規表達式通常被用來檢索、搜尋比對、以至於替換那些符合某個樣態或模式的文字內容,而資料樣態的描述就是依regular expression(以下用re來簡稱)的語法規定來建立的。不只是python,許多程式設計語言都支援利用正規表達式進行檢索或搜尋文章內容的必要操作。
什麼是regular expression
一般在程式語言的應用上,程式設計人員會稱它為正規表達式,我個人覺得稱呼它為規則比對式較能反映它的應用,因為在絕大部分的應用上,正規表達式通常被用來檢索、搜尋比對、以至於替換那些符合某個樣態或模式的文字內容,而資料樣態的描述就是依regular expression(以下用re來簡稱)的語法規定來建立的。不只是python,許多程式設計語言都支援利用正規表達式進行檢索或搜尋文章內容的必要操作。
在介紹這種健康的循環及週期的培養前,先介紹一種身心狀態-「心流」
什麼是心流?它是一種特殊的精神狀態,當你在極度專注時,完全沈浸其中,效率和創造力提高,讓你忘記時間、忘記飢餓、甚至忘記所有不相干的身體訊號。
如何用tkinter 中combobox部件製作下拉項次選單
當我們在設計用戶互動介面時,遇到要在一系列的選擇項目讓用戶從中只能挑選一個項目時,在視覺上要展現出平常是收合的選單項目,因為不占空間(通常會出現在項目右方帶有往下箭頭的圖案)但當滑鼠點擊圖案時能彈跳出往下的清單列並展示所有的項目供用戶挑選,而且能在挑選完成後會呈現出被挑選的項目時,combobox部件無疑的是最好的選擇。
Combobox很像是entry部件及listbox部件的結合,往下展開的選單就像是listbox的功能,而選擇後會出現被挑選的項目就像是entry部件的功能,只是這個項目是被挑選出來而不是輸入而來的。
我們在日常使用用戶介面時,偶而會看到供用戶參考閱讀的獨立一段文字框(例如說明事項或警語提示)或需讓用戶輸入一些內容來填寫表達(例如客訴內容或自傳描述),這樣的文字框在您使用python時Tkinter提供了text文字框的部件供您使用,另外,在視窗大小有限的情況下,我們不希望這種文字框佔據太多篇幅,這時候就會運用到卷軸scrollbar部件,這樣就能在有限的範圍內透過卷軸完整的閱覽完整的資訊,本章節就是介紹Tkinter中的text及scrollbar部件給各位,讓各位在設計互動式UI時對於多行文字的顯示及用戶的多行輸入能夠透過這兩個部件完成,最後有個小驚喜,請您耐心地讀完,當然Tkinter一直在進步,這也是Python opensource(開源軟體的優勢)。
首先介紹文字對話框text
前面的教材提到,我們可以運用tkinter的Entry部件來建立用戶輸入功能,但Entry部件僅能支援單行的輸入及顯示功能,遇到了多行說明文字顯示或多行文字輸入時,在tkinter中,text的舞台就出現了,它就像大一點且功能強大的entry部件。所以,這邊歸納text部件很適用的運用場景如下:
當我們需要引導用戶去在某一類別中挑選某一個功能項目時,會提供一些項目清單供用戶選擇,就好像菜單一般,當客戶翻到義大利麵類時,下方總會提供歸類為義大利麵但內容不同的各種義大利麵供客戶選擇。
當然,除了選擇項目的用途外,功能選擇也可以用這種方式歸納,除了在使用者容易找尋外,也不會讓眾多的功能選擇散落各處並太佔篇幅影響到UI的設計,就好像我們在微軟的word工具上左上方檔案、常用等項目的設計概念一般,您可以在檔案類別中選擇新增檔案、儲存檔案、另存新檔等…。所以運用選單(menu)部件,提供選擇性項目供用戶選擇,就是一個在UI設計選單部件時的不或缺的方便部件。
在tkinter中,menu(項目)部件及menubutton(選單按鈕)部件通常會結合一起使用,以達到運用menubutton建立一個選單按鈕並在這個按鈕下建立一些menu可選擇項目供使用者挑選。當然,單單運用menu部件也可以達到同樣的功能,但因為menu部件被定義為視窗等級的部件,只用menu產生的選單物件只能出現在你基底視窗的左上角,而沒辦法讓您任意擺放。所以,在我個人在使用的經驗中,同時運用menu及menubutton這兩種部件的結合是最容易教學及是最直覺易懂的方式。
我們要練習如何善用心理學的9種可行方式,來強化自己對他人說服力或影響力。
①“對不起,我有5頁紙要複印,能不能讓我先複印啊?因為我有急事”給出一個模糊的理由,有94%的人同意讓實驗者先複印。
什麼叫GUI(Graphical User Interface)-圖形方式顯示的電腦操作用戶介面
在日常生活中,我們在小7的ibon機器上訂票、在ATM上提款、在手遊上的使用必殺技打boss、在亞馬遜網站上申請會員、在醫院系統上網路掛號,這些您看到的畫面(人與機器互動的介面),其實都是由程式撰寫出來的,為什麼叫這些介面為GUI,因為我們用圖樣介面設計做法,透過設計視窗、圖示與按鈕,讓使用者一看就了解如何使用的介面來取代枯燥艱澀的輸入問答及只是條列式的互動。我們設計的程式中有一大部分是扮演著與人與系統機制互動的介面角色。雖然設計這些畫面的難度不高,但可千萬別輕忽這種介面設計的重要性,在設計的領域中,有另一個專業的領域叫做UI(User Interface)、UX(User Experience),也是在設計領域上目前的顯學,所教的就是使用者動線及友善的使用介面的設計。成功的系統,往往不是其功能最完整,也不是包山包海最強大,常常是使用者使用最上手,最便利才能勝出。所以記得一件事,最艱澀的難事不見得最有價值,最符合人性而易用的設計通常會無往不利。
原生的Python GUI設計工具-Tkinter
Tkinter中部件布局(擺放的方式)方法: pack 、 place 、 grid
有了GUI設計的內容,該如何按照我們的需要放入到基底視窗中(基底視窗就如同你設計的桌布一般)呢?這牽涉到部件布局的方式。
在我們用tkinter設計GUI過程中,應該運用哪種布局方式來安排各項部件的位置最適合呢?如何對Tkinter 所設計的多項部件作布局安排(各部件間的相對位置)?讓我們談談Tkinter提供的三種布局方法吧?
來說說tkinter吧!
說它的來由很生硬,我們就跳過不談,我們來說說tkinter主要是做什麼的?
前面提到,在軟體設計上,有一個很重要的一環,就是若您設計一個友善的使用者介面,就讓用戶有好的感覺,事情可以說就成功了一半,也許有些硬底工程師不是這麼看,但我保守地說,最起碼事情有一個好的開始吧。
首先要說明的是,我們現在使用的網際網路服務,是基於透過一個較HTTP的通訊協定來傳送資料,HTTP是一種stateless(無狀態保存)的網路傳輸。
HTTP(網際網路共用的通訊協定)成就了網際網路的無遠弗屆,但還得要靠session及cookies的運用來滿足用戶使用上的便利。
在介紹session及cookies的作用前,要先從網際網路的基本概念說起........
事情是這樣的。一個人在戰鬥中被敵人的一支箭射中了,身體很疼痛。這個人心裡充滿仇恨,心想在下一次戰鬥中,我一定要找到射我的人並還他一箭,然後此人看著身上這支箭,想像這支箭可能有毒,非常擔心,心想如果箭有毒自己就死定了,於是他去諮詢別人,如果中了毒箭該如何處置。這時,有人建議他:「你現在最需要做的是儘快找醫生拔出這支箭」。
這樣的反應,是大部分人類的行徑。這個人實際上中了兩支箭,第二支箭就是他中箭後的一系列仇恨與擔心,只不過後面這支箭是他自己射向自己的,而往往第二支箭讓我們遭受的痛苦大於第一支。
人類相對於其他動物來說,大腦皮層更發達,能夠進行更高級的思維、判斷等活動,這對人類文明的發展起到了非常積極的作用。但是我們也必須看到,高度發達的大腦也有其負面作用,那就是過度思維,這我們莫名之中創造了更多的壓力。
常常閱讀到關於排解壓力的方法,如何與壓力共存的文章,但常常僅止於情緒的舒緩引導或教科書似的論述,或者是透過生理上的活動來協調與壓力共存的能力(運動或冥想),其實可能都是治標但無法治本的方法,當然大部分的人,更消極的是逃避或偶而為之的舒壓,甚至於什麼都不做,什麼都不想,這樣的面對壓力的心態,絕對是無法真正解決人生中尋常出現的挑戰及困難,因為逃避了一個還有下一個。
個人整理,當我們因應壓力時,最重要的是練習或培養的是面對壓力的心態。正面看似壓力的東西,背後的事實常是成長的一個機會,常常都是自我實現的一個階段。
面對壓力時,也是有應對的sop的,而且這個sop需要不斷的訓練,變為面對壓力背後真正代表的期望、成長、障礙或機會才有機會解決問題,而不在人生或職涯被壓力追著跑。
什麼因素決定您在職場的重要性呢?我知道你想到的可能是「你的價值」— 只有成長才能不斷增值。您看完整篇文章後,你很可能會覺得:「這個我早就知道了呀!」可問題在於您所謂的增值,不一定等於您的價值,因為你和我們所有人一樣,「一不小心就會忘掉最重要的客觀評價」……,注意「客觀評價」這四個字。
最重要的事,總是最容易被人們忽略
手機的最重要用途,用它與這世界產生更多、更好的聯繫。其實,與這世界產生強聯繫,是增強生活幸福感的最根本方式。可是你看看周圍就知道了,絕大多數人正在用手機全方位切斷自己與這個世界的真正聯繫 — 與人溝通,就知道,錯誤的引導及慣性的習慣,扭曲了最重要的價值。
建議將這個新法內化成行事SOP,如何探詢需求創造機會的,讓您人生充滿生機、成功機率加倍。
有一家營運相當好的大公司,為了擴大經營規模,決定高薪招聘銷售主管。消息一出,報名者雲集。面對眾多應聘者,主考官說︰「為了能聘到高素質的人才,我們要出一道需要實作的題目,「想辦法把木梳賣給和尚。」絕大多數應聘者感到困惑不解,甚至憤怒:出家人要木梳何用?於是紛紛拂袖而去,最後只剩下三個應聘者:甲、乙和丙。
主考官交代:以 10 日為限,屆時向我報告銷售成果。
一條街上有三家水果店。
有一天,老太太想買水果,先走到了第一家店,問老闆:「有賣李子嗎?」。
老闆馬上出來招呼:「老太太,買李子啊?我們家的李子又大又甜,剛從產地採摘送來,很新鮮喔!」
「你不必喜歡、崇拜或憎恨你的老闆,但你必須管理他,讓他為你的成效、成果和成功提供資源。」-彼得.杜拉克(Peter Drucker)
這種尊重職場倫理、取得授權及充份報告等行為都是向上管理的一環。
聽到向上管理,很多人都有這樣的反應:「向上管理我知道啊,事實上我也一直都有在做。我經常跟老闆表達需求,但是老闆就是一意孤行,我覺得他根本是在故意為難我。」
台灣既然不能單挑大象,一決勝負,是否應該儘早加入開源軟件螞蟻雄兵的陣容?
鄭先生能有這麼完整戰略戰術的建議,相信其個人在經驗上應該具備
短短一篇的評論,帶出產業的最佳建議,行為上一定是個長年累月逐步的大工程,但是個思維上巨大的啟示。
太在意自尊心所帶來的障礙
無法自我察覺,改善自己的問題-自尊心極強的人,非常在意別人對己的評價,好的稱許則心中竊喜,不好的評價則不免挫折沮喪,並嘗試解釋反駁,甚至認為別人在誤解扭曲我,在自尊心的作祟下,會完全無法理性思考問題的真相,就像個刺蝟一般,經常陷入誰是誰非的意氣之爭。
團隊發展缺乏效率-另一方面,為了顧及他人的自尊,在團隊經營管理上,為了提醒他、給他建議,我要拐彎抹角,我非常辛苦,而且沒有效率,他的進步十分緩慢的「不直接」,竟成了阻礙團隊發展的毒藥。為了團隊效率,我要逼他們盡快丟掉不必要的自尊心,看到任何問題、任何缺點,我決不隱藏,也不掩飾,我直截了當說出來,我寧可自己是個粗魯、嚴厲的主管,但不要因自己的鄉愿、溫情,而讓主管們放慢了他們成長學習的步伐。
除非遇到人人奮勇,個個爭先,大家自動自發的超理想團隊,否則不罵人的好主管???是不存在的。
認清責罵是最輕的懲罰,學會「說理、告誡、責罵」三層次的口頭糾正,是真正好主管的入門第一課。這三種方法可視錯誤的大小及嚴重性,循序漸進使用,但絕不可涉及人身攻擊的情緒性語言。
責備是最輕的懲罰,主管要做的只是表情的不悅、憤怒與言語的說理告誡、責罵,對部屬不會產生實質的傷害。一旦主管放棄這種最輕的懲罰工具,部屬的惡行就會放大,甚至傳染給其他人,最後產生更大的災難。