星期二, 12月 20, 2016

Install igbinary



  1. 安裝
    • 透過PECL
      pecl install igbinary
    • 透過Source Code
      1. 下載igbinary.tgz
        wget https://pecl.php.net/get/igbinary-2.0.0.tgz
        
      2. Install
        #1 以igbinary-2.0.0.tgz為例
        cd {install}/ 
        #安裝igbinary-2.0.0.tgz
        $ tar zxvf igbinary-2.0.0.tgz
        $ cd igbinary-2.0.0..tgz/
        $ phpize
        $ ./configure
        $ make && make install
        如果./configure出現 no acceptable C compiler found in $PATH 需安裝gcc
  2. 檢查是否有igbinary.so
    $ ll /usr/lib64/php/modules/ | grep igbinary.so  
    -rwxr-xr-x 1 root root 312644 Dec 20 07:40 igbinary.so
  3. 編輯將igbinary.ini
     $ vi /etc/php.d/igbinary.ini 
     ============= 我是分隔線 =================  
    ; Enable igbinary extension module 
     extension=igbinary.so 
     ; Enable or disable compacting of duplicate strings  
    ; The default is On.  igbinary.compact_strings=On 
     ; Use igbinary as session serializer 
     session.serialize_handler=igbinary 
     ; Use igbinary as APC serializer 
     apc.serializer=igbinary    # php7後,還沒試過
  4.  重新啟動apache
     $ service httpd restart 
     $ php -m | grep igbinary #檢查是否安裝成功 
     igbinary 
 Reference
  1. http://www.metod.si/how-to-install-igbinary-serializer-for-php/ 
  2. http://blog.csdn.net/zhangxinrun/article/details/16964819 
  3. http://www.cnblogs.com/cndavidwang/p/3335846.html 
  4. http://bensnotepad.com/install-igbinary-for-php5-on-ubuntu/

星期一, 12月 19, 2016

Docker用Redhat/Centos7 出現 Failed to get D-Bus connection

我的媽呀~~
裝好一堆套件,想restart一下httpd卻出現Failed to get D-Bus connection
請示google大神,有人說CentOS 7.2就可以了~ 但用了是有錯


  1. Container
    最後看到個解法
    必需要加上--privileged及/sbin/init
    sudo docker run --privileged -d centos /sbin/init  
    
    p.s /sbin/init也要哦~ 不然也沒用

    話說docker run --privileged 是啥
    看起來是讓container裡的root擁有真正的root權限
    一開始看不太懂,不過想一下LXC的觀念就能理解了~
  2. Dockerfile
    解了container,寫docerfile也遇到
    但dockerfile就不知怎麼給privileged! Dang it!

補充
利用--privileged及/sbin/init解後,container跑一陣子會出現agetty 100%
據說用這招就解了
systemctl stop getty@tty1.service; systemctl mask getty@tty1.service

Reference
https://github.com/moby/moby/issues/4040



星期二, 12月 06, 2016

Top 10 mistakes in handling website images and how to solve them

Reference: Top 10 mistakes in handling website images and how to solve them

挺不錯的整理,也把一些觀念一次釐清
還有說明做法~ 值得讀一下
以下簡述重點,詳細就看原作吧

  1. Wasteful browser-side resizing
    最好與指定的大小一樣大,不要靠browser自動縮放
  2. Unnecessarily high quality JPEGs
    85%與95% JPEG看起來不多,但前者17KB,後者要34KB 
  3. Incorrect image file types
    JPEG: 適用風景圖,只要15KB,PNG卻要110KB
    PNG: 適用圖表charts, logos,有留白的那種
    GIF: 小動畫
  4. Delivering non-optimized images
    PNG可適度壓縮,讓檔案小50%
  5. Forgetting to strip image meta-data
    meta-data可能夾太多無用資訊,可以清掉省空間。
  6. Delivering images straight from your servers
    透過CDN加速。
  7. Delivering static icons one by one
    小的icons應該併成大張圖一起交付。
  8. Using images when CSS3 can be used
    不要用圖做button的圓角或mouseover的效果,可以透過CSS達成。
  9. Incorrect image cache settings
    圖片幾乎不會變,也就是說cache不需失效,但如果真的會變,可以透過fingerprint改變,就是url加上version之類的字串。
  10. Using a single image size across all delivery mediums
    利用JavaScript判斷device的解淅度,再讀取適當大小的圖






星期六, 11月 19, 2016

[書]誰在團隊搞破壞



本來覺得是標題殺人法,所以沒什麼興趣看
不過隨意讀個兩頁就覺得好有趣
心想這不是在講我們嗎

每個做法都是現在組織真實遇到的問題
一定要分享給大家

破壞就在你身邊

團隊破壞的行為,在日常生活看似不影響,但卻殺傷力十足
在二戰就利用這戰術來從內部進行破壞瓦解敵營,還出書叫「簡單破壞實戰手冊」

八種戰術如下:
  1. 堅持每件事者必須經過正式管道請示,絕不允許為了迅速執行決策而抄捷徑。
  2. 發表演說,毫遲疑提出適當的愛國言論。一有機會就滔滔不絕、長篇大論,用冗長的故事與個人經驗來闡述重點。
  3. 盡可能把所有事都推給委員會,進一步研議與考量。並試圖壯大委員會,規模絕不少於五人。
  4. 抓到時機就馬上提出毫不相干的議題。
  5. 對訊息、會議記錄或決議的用字遣詞爭論不休。
  6. 重新提起上次會議中的決議,企圖對之前的決議是否明智進行翻案。
  7. 講道理,對要求團隊成員講導理。提倡謹慎,唯恐因倉促而造成日後的難堪與爭執。
  8. 擔心任何決策的正當性。質疑深思熟後的行動是否合手權限,是否會與某個更高階層的政策相抵觸。


頭頭是道,也沒理由反駁
上面戰術真不是我在說,每個說起來都頭頭是道,也沒理由反駁
最常遇到就是這未經驗證,要經由正式管道申報通過後才能使用
開個會要把所有相關的人找進來
在公司推個技術,但東卡西卡,我就放棄了...
最後就是沒有一個東西推的動...

不然就是搬出大絕招「 稽核」
這到時稽核會過不了... 都火在燒了,還管什麼程序!!!

換成職場就是以下幾招
  • 第1招 凡事都要問主管
  • 第2招 長篇大論話當年
  • 第3招 每次都說再討論
  • 第4招 東拉西扯沒重點
  • 第5招 斤斤計較幾個字
  • 第6招 決定之後又重來
  • 第7招 過度謹慎怕犯錯
  • 第8招 遲遲無法做決定
  • 新花招 信件副本所有人

(好順口,不得不說譯者翻得很認真)

書裡也有提到如何根除破壞,要建立以下階段
  • 辨識
    在破壞發生當下立刻發現,幫助他人看出正當行為何時越界、何時開發產生反效果或破壞性。
  • 校準
    建立對容忍的正確期望值,即可接受的行為範圍。如此一來,有助於生產的行為將受到鼓勵,而破壞就能夠事先預防。
  • 糾正
    給團隊裡的每個人許可,教他們表達方式與技巧,用有建設性的做法大聲譴責破壞行為。
  • 預防
    推行工具、標準與流程的變革,以防止破壞出現或重現,培養低破壞文化。

心得

我覺得要根除破壞太難了... 自己先得罪一堆人...
還是多送幾個這種人到對手公司,讓他們內耗,從內部破壞他們~
讓他們自爆!!!... 這樣我們就會活下來了...(誤)

星期六, 10月 29, 2016

特定資料夾下禁執行php

由於可以上傳檔案,所以就有可能被丟上php,或產生php script之類的檔案
最好的辦法就透過白名單的方法,只限定某些資料夾執行PHP的權限,再配合禁寫入PHP
用白名單比較安全,不過也比較難,有時還忘記開權限

所以反過來用黑名單來實做
將系統結構分成兩種
  • Ap Code //開放執行PHP
    放Ap相關的程式碼
  • Ap Data //禁止執行PHP
    操作系統產生的data, ex, log, cache, 上傳的檔案


透過.htaccess達成
以public資料夾當Ap Data

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>

<FilesMatch "(?<!^index)\.php$">
RemoveHandler .php .php3 .phtml
RemoveType .php .php3 .phtml
php_flag engine off
#php_admin_flag engine off
</FilesMatch>

如何轉換發言權,告別冷場

有些人就是很難聊,但有時就是想聽聽他的想法
我也沒還跟人聊,但無法度~ 現在要帶人
帶人要帶心,不知道team member的想法就不知道怎麼帶

記得以前有個同事
問他什麼他都只有兩種回答:「好」,「可以呀」
似乎是很隨和,但實在不知道他內心是否到底支持這個做法

之前去學了「引導」的課 - ORID
感覺就可以派上用場,讓對方能說出口

最近也看到一本提到「如何轉換發言權,告別冷場」 忘了是看哪本書了 哈哈
就記錄下來,讓自己練習一下


  • 鎖定目標
    挑一個此感興趣的問題。例如喜宴上談此認識新人的過程;研討或發表會上談對方正在做的研究
  • 真心稱讚
    喜歡哪某段對方說過的話,寫過的文章
    聽過朋友提過對方的事
  • 具體肯定
    具地說出喜歡對方的幾個優點或做過的事
  • 動機式提問
    如果希望對方多說一點,用「為什麼」來開頭。
    ex.當時為何想這麼做
  • 連結式提問
    串連兩人的關係,讓對方感覺到有關心對方的事,
    ex 我也試著這麼做,有何建議
  • 事件發展結果
    未來想怎麼做

傾聽的技巧

利用身體語言表達關心, SOLER

  • Squarely(面向對方)
    先暫停手邊的事,不然就變成單向溝通
  • Open(抓取開放的姿態)
    想像是一個杯子,接納對方想訴說的話
    雙手不要抱胸前,自然的放在膝蓋上
  • Lean(上半身向對方前傾)
  • Eye Contact
    適當注視對方,讓他感到受到關注和尊重
  • Relax
    保持身體輕鬆自然


技巧二:把自己當作鏡子,用簡短的回應引導對方說話

  • 不要急著想幫忙出主意
  • 傾聽者是要鼓勵對方多說,透過話語可以梳理糾結的思緒
  • 利用簡短的話語,讓對方順水推舟地繼續話題,協助他自己解決問題即可
  • 聽到問題後,提問對方覺得怎麼做比較好
  • 重點要讓對方感覺到
  • 同理:讓對方感受到試圖了解他的狀況和情緒
  • 支持:讓當事人覺得,不論他說什麼,你都願意在身邊陪伴他
  • 接觸:讓他更能和自己、和事件、甚至和情緒接觸。因為唯有面對它,情緒才能被抒解

星期六, 9月 03, 2016

[書]7個習慣教出優秀的孩子

與成功有約:高效能人士的七個習慣
  • 習慣一:主動積極
  • 習慣二:以終為始
    先設定目標、做好計畫。
  • 習慣三:要事第一
  • 習慣四:雙贏思維
  • 習慣五:知彼解已
  • 習慣六:統合綜效
    看重別人的長處,並努力向他們學習。團隊合作可以創造出比個人努力更婕的結果
  • 習慣七:不斷更新

七個習慣如何養成

七個習慣父母、老師、企業要什麼
習慣一至三(獨立)
主動積極
以終為始
要事第一
  • 目標設定
  • 規劃
  • 時間管理
  • 組織
主動自發
責任感
願景
誠信
習慣四至六(互賴)
雙贏思維
知彼解已
統合綜效
  • 衝突管理
  • 聆聽(同理心)
  • 表達能力
  • 問題解決
  • 心胸開放
  • 團隊合作
  • 尊重
  • 道德/進退應對
  • 誠實
  • 重視多元
習慣七(全人)
不斷更新
(照顧自己的身、腦、心、靈)
  • 身體強健
  • 社交能力
  • 腦力
  • 有趣

  • 情緒穩定度
  • 貢獻/意義
  • 學習動機






習慣低效能文化高效能文化How
1被動消極:喜歡找藉口,把錯誤歸咎於別人或制度,情緒不、習慣將注意力放在自己控制圈之外的事、等待別人來告訴自己該做什麼。主動積極:主動任事、勇於承擔、掌控自己的情緒、專注於自己可以控制的事情、不等別人開口就主動把事情做好。
共享式領導:每個人都是領導人,領導責任


2茫無目標:同仁缺乏願景與使命、沒有共同的目標,計畫隨時改變。以終為始:同仁共同追求有意義的願景、擁有明確的企業性目標及策略,每個人也有清晰的個人目標。
設定個人目標/部門目標,讓同仁自己學習定目標

3回應所有緊急事務:同仁持續回應各種危機。沒有時間規劃或培養人才、缺乏紀律。要事第一:專注於重要的事、勇於對於無緊要的事情說「不」。大家撥出時間做計畫、花時間在準備及預防的工作。排優先
4贏輸思維:同仁只想「我贏你輸」或乾脆雙輸,互信不足。大家爭搶資源、因為擔心別人超越自己而不分享經驗與做法。雙贏思維:同仁擁有雙贏思維、值得信賴,隨時在「勇氣」與「體諒」之間尋求平衡、想方設法讓同仁都受益。企業鼓勵合作及經驗分享。
5先求解己:大家不肯彼此聆聽,也覺得自己不被了解。同仁無視的感受,也不敢分享自己的感受及意見先求知彼:在提出解決方案之前,會先仔細了解問題。大家充分發揮同理心、不隨意評斷別人、可以自在表達自己的想法
6單打獨鬥:大家自掃門前雪或拉幫結派 ,訒為自己的想法永遠比別人好、不喜歡跟想法不同的人在一起。統合綜效:同事之間努力發掘彼此的想法、珍視多元思維、謙虛,大家喜歡團隊合作、創意無限、不怕跳出框架思考。把注意力放在別人的優點身上,就會發現對方的缺點似乎不見了
7保持駑鈍:同仁的專業技能過時,生活不平衡、忽視人際關係,而且有時彼此根本不熟悉、生活缺乏意義。不斷更新:大家一起不斷精進、努力與時俱進、活力充沛、享受家庭般的感覺。士氣高昂。

每個人都是天才。但如果你根據爬樹的能力來評斷一條魚,它將終其一生認定自己是個笨蛋。 愛因斯坦

變革行動為何失敗

關鍵在於找到「過少」或「過多」的平衡點

過少過多
缺乏非變不可的理由及目的目的、目標脫離現實
利害關係人不願改變變動太頻繁、花招太多
缺少強而有力的高層太依賴強勢的高層
請人上車的時間及功夫做得不足浪費太多時間於求得全體共識
缺乏策略策略過度瑣碎、賦權不足
步調太慢 - 熱情及動能流失推行步調太快,大家吃不消
合作不足 - 各唱各的調太強調合作,壓抑個人動能
對成果未給予足夠的認可及獎勵太早宣揚成果、誇張成效
當責及回饋不足追蹤考核過多,流於細節管理






星期四, 8月 18, 2016

Install PHP ImageMagick

下載
  • http://www.imagemagick.org/download/ //ex. ImageMagick-6.9.1-1.tar.gz 
  • http://pecl.php.net/get/imagick-3.1.2.tgz
  • http://prdownloads.sourceforge.net/optipng/optipng-0.7.5.tar.gz?download
  • http://www.lcdf.org/gifsicle/gifsicle-1.87.tar.gz
  • http://jpegclub.org/jpegcrop.tar.gz
  1. 將檔案放至/tmp/安裝
    /tmp/
  2. 安裝optipng-0.7.5.tar.gz(3th party)
    tar -zxvf optipng-0.7.5.tar.gz
    cd optipng-0.7.5
    ./configure
    make && make install
  3. 安裝gifsicle-1.87.tar.gz(3th party)
    tar -zxvf gifsicle-1.87.tar.gz
    cd gifsicle-1.87
    ./configure
    make && make install
  4. 安裝jpegcrop.tar.gz(若第6點imagick安裝失敗才需要安裝此步驟)
    tar -zxvf jpegcrop.tar.gz
    cd jpegcrop/jpeg-9a
    ./configure
    make libdir=/usr/lib64
    make libdir=/usr/lib64 install
  5. yum安裝相關lib
    yum install libjpeg libjpeg-devel libpng libpng-devel libtiff libtiff-devel
  6. 安裝ImageMagick-6.9.1- 1.tar.gz
    tar -zxvf ImageMagick-6.9.1- 1.tar.gz
    cd ImageMagick-6.9.1- 1
    ./configure --prefix=/usr/local/imagemagick --with-bzlib=yes --with-fontconfig=yes --with-freetype=yes --with-gslib=yes --with-gvc=yes --with-jpeg=yes --with-jp2=yes --with-png=yes --with-tiff=yes
    若出現「undefined reference to `jpeg_default_qtables'」
    表示第4步沒裝好,再重安裝試試

    make && make install
  7. 安裝imagick-3.1.2.tgz
    pecl install imagick-3.1.2.tgz

    安裝過程中請輸入:/usr/local/imagemagick
  8. 安裝完成後檢查/usr/lib64/php/modules是否有imagick.so
    ls /usr/lib64/php/modules/ | grep imagick.so
  9. 新增/etc/php.d/imagick.ini,內容如下:
    ; Enable imagick extension module

    extension=imagick.so
    確認extension=imagick.so是否有於/etc/php.ini定義過,若有請移除。
  10. 重新啟動
    service httpd restart
  11. 確認JPG, JPEG, PNG, PNG00, PNG24, PNG32, PNG48, PNG64,PNG8格式是否存在
    php -i | grep "ImageMagick supported formats"
    php -m | grep imagick
Thanks for the hard work~  Demo


星期四, 6月 02, 2016

[Coding Style] Train Wrecks

啥系Train Wrecks
字面上來看就是火車事故”  “火車殘骸
Train Wrecks

這裡是用來比喻以下的程式碥
滿常看到程式寫成這樣
這樣的程式很難理解,因為有4objects需理解(ctxt+3getXxx)
而這裡有三層,短短一行就得讀很久

那該怎麼寫呢

1.Split
閱讀者可以直接看到Class Type會比較容易閱讀些
不過也不是很好

2.寫成屬性呢
function好一些,畢竟function還有logic,而property就單純些
不過會expose internal structure
所以也不是很建議

3.Hybrids
省略看標題應該就懂了

4.Hiding Structure
最好的方式,就是不要讓人想,所以細節直接包起來最快
直接在ctxt寫個function,不用看細節(這招真好,不虧是Uncle Bob)
p.s. 這裡小小的跳過一段,程式最終的用意是要取file path,再寫file,所以直接回給OutputStream


總結
過去就一直覺得Train Wrecks的寫法很難閱讀
幸好被大師指正,有理由可以不這樣寫了

Reference
唔... 我忘了...

星期四, 4月 14, 2016

第一次 的引導經驗

預先準備


  • 題目:開發流程自省會議
  • 目標:讓不同開發Team瞭解彼此的開發流程
  • 設定:每個人都有發言,對話有堆壘
  • ORID的問題內容
    • O
      • 開發過程有有什麼會議
      • 參與的角色
      • 會議時間
      • 有什麼產出
      • 會議用途、目標
    • R
      • 對於各種會議的感受
    • I
      • 為何感到XX,能具體說明嗎
      • 遭遇到什麼問題
      • 有什麼方法可以克服
    • D
      • 下次發生,會有什麼做法

成果


  • 大家有聽到不同的聲音
  • 對話也有堆疊,感覺不錯

好的地方


  • 連貫性的題目
  • 原本以為容易回答,反造成大家會等待說出該項目的成員持續回答後續問題
  • O的題目是要讓大家開口,當下有發現,趕緊換問法"有誰能說出更多xxx"
  • 讓每個人發言
  • 有1,2位也許因主管在而沒開口,除了直接指定外,最後請每個人分享心得,算有讓對方願意開口說
  • 改掉主持人式風格
    • 儘量以"大家覺得","誰能夠說明"或"還有人要補充",取代指名

改善


  • 聚焦與發散
  • 原寫下幾個提出的會議想聚焦,卻反而讓大家圍繞到白板上的題目
  • 也許是題目本身就太大

星期六, 3月 26, 2016

JavaScript Convention

JavaScript不應該四散在html裡
至少應寫成獨立的js

  1. html較小,能較快的呈現
  2. 雖然需另一個request取js,不過該js可被cache


三種類型的js檔
1. 3rd-party js
a. jQuery
2. Component.js
a. Untity.js
b. 自行開發
3. Local.js

原則上禁止寫js在html裡,不過某些例外還是方便簡單
1.寫在html tag裡比較方便

1. Close Window


2. Back to Previous Page


2.local.js 只有一小段
如果只有幾行… 就算了啦… ( 20行內)

Reference
Top 10 JavaScript Snippets for Common Tasks

不要挑最便宜的產品,要挑品質好一點的產品


購買東西時,通常會拿最便宜的就好,例如:捲筒廁紙
原本想說這東西不就拿來擦屁屁的,哪會有什麼差
本來沒注意,但有次去高檔餐廳上廁所
隨意撕就延著切線完美的撕下
但家裡的,每次撕都會殘留下一小段沒撕完整
這才發現怎麼差這麼多

「最低價」導向會造成惡性循環

挑最便宜的產品等於鼓勵廠商追求低成本
當然成本能低是好事,好一點廠商自我改善,降低營運成本,讓售價可以比市面更便宜
但就會有廠商會偷工減料,或是用差的原物料
更沒良心的就是用傷身的手法使成本更低(用化學藥劑等)

有良心的廠商成本比別人高,沒有獲利而倒閉
最後留下一群黑心廠商,繼續拚低價,更嘗試更可怕的手法

你們亞洲人命不值錢

上次聽在汽車製造業的朋友提到汽車安全係數問題
板金要厚,安全係數才會高,但相對會耗油
他們實在做不出安全係數高,又不耗油的汽車

因此找來日本某汽車 大廠的顧問,詢問究竟如何打造安全係數高又省油的車
顧問回答:「板金薄一點,就省油啦,安全係數低沒關係,反正你們亞洲人命不值錢」
朋友當下聽到有點生氣,怎麼這麼說話,但顧問繼續說:
「這是你們自己選擇的,你們只在意耗油,不在乎安全」

我是不知道朋友的反應,但自己是滿汗顏
因為我也會挑省油的,而這正是我們逼廠商要走的方向
是我們自己選擇的...

這東西太便宜了,是不是有問題呀...

公司附近有A, B兩間小吃店,兩間都有相同的一道湯-「蕃茄蔬菜湯」
A的價格較貴,料較少,湯頭也淡,且沒冷氣
而B的價格較便宜,料也多,且湯頭也好喝,還有冷氣!
請問你會挑哪一間的湯?

當然是B呀,CP較對高,而且有冷氣
但... 反過來想想... B的材料是不是有問題呀
那有每樣好的呀...

後來A沒營業了,雖然不知道跟生意有沒有關係
但總覺得怪怪的,我也不太敢跟B買湯喝

「品質」導向才能形成正向循環

最近有體會到,挑商品應注意「品質」
用品質好一點,是為了讓好的廠商留在市面上
這裡是說挑品質好一點,不是挑貴的
也許品質好一點會貴一些,但重點是讓好的廠商可以存活下來
而且這會是一個好的正向循環




星期日, 3月 20, 2016

JavaScript Convention - 全域變數篇

為Application建立一個全域物件
所有變數、函數都放置於底下
/* 最上層進入點 */
//全域物件
var APP = {};
 
 
//模組物件容器
APP.modules = {};
 
/* 各模組進入點 */
//ex. 商品詳細頁
APP.modules.productDetail = {};


加上防禦性
/* 最上層進入點 */
//全域物件
var APP = {};
 
//模組物件容器
APP.modules = {};
 
/* 各模組進入點 */
//ex. 商品詳細頁
var APP = APP || {};
APP.modules.productDetail = {};

證人初體驗

最近因朋友遇到些問題,被傳去當證人
雖然覺得照實回答即可,不過過程中對方律師會挖洞給你
造成自己前後回答的矛盾,我方的律師就說那故意設定的
事後想想真有感覺是中對方的圈套

寫一篇當心得,也好提醒自己要改進的地方

心得一:別緊張,放輕鬆
一緊張腦子一片空白,自己都不知道自己在說什麼

心得二:事前準備
事情經過如何,先想過,回答就很順口

心得三:不用加油添醋
有時為了強調會加點東西,但反而越講越不清楚,更造成自己前後矛盾
這次就是中這個計,對我方有利的點,就說了幾個,對方律師就刻意說"只"有這樣而已
很自然地多說了幾點,說出了對方期望我跳進去的洞,就提出證據說並沒有這一點

事實是什麼就是什麼,不用加油添醋

最後還是要再強調一次 --- 別緊張,放輕鬆!!!
事後再看對方提的證據,根本就跟我說的沒關係
是自己緊張到壓力大,就自亂陣腳了

在很多有衝突會議上也是,有時被嗆了幾句
壓力大到眼前一片黑,什麼東西也想不到
但事後回想到好方法回擊,但已經晚了幾個小時

技巧
最近看一本書「邏輯贏話術」學了幾個不錯的技巧
辯論前,有以下正面的想法(依情境不同),就能有效積極面對

  • 辯論
    • 我是來練習改進我的辯論技巧
    • 我會達成這一切
    • 不入虎穴、焉得虎子
    • 放棄奮鬥就等於失敗
  • 演溝(面對大眾)
    • 我要表現出自己最好的實力
    • 我很棒
    • 我很懷疑,這些聽眾是否真能聽得我的報告