VSCode中的代碼格式通過以下快捷方式提供:

  • 在Windows Shift + Alt + 上F
  • 在Mac Shift + Option + 上F
  • 在Ubuntu Ctrl + Shift + 上I
Add a comment

本附錄內容摘錄自「專門替中國人寫的英文基本文法 (修訂版)第一章,1-9頁,李家同、海柏著,聯經出版公司,2004年12月」。

英文和我們中文最大的不同,是在動詞,我們中文的動詞很簡單,沒有所謂的第幾人稱,也沒有複數和單數之分,更沒有過去式或進行式,英文可不同了,凡是用動詞的時候,必須注意很多很多的規則,一旦弄錯了,常常是犯了大錯。

在這一章,我要將英文最基本的規則一一列下。這些規則都是我們中國人所常常不注意的。

為了不要誤導讀者,凡本書內錯誤的句子前面都有”*”的符號。

規則(1):兩個動詞是不能聯在一起用的。

在中文,我們常說〝我是愛你的〞,翻成英文,這就變成了

* I am love you.

滑稽的是,這句英文句子犯了大忌,因為”am”是動詞,”love”也是動詞,兩個動詞是不能聯在一起用的。這句話的正確說法是:

I love you. 或者 I am in love with you.

我們中國人也會說〝我喜歡看電視〞,翻成英文,這變成

Add a comment

十多年來,Starfall一直有系統的方式教孩子們用視聽互動相結合語音閱讀,非常適合學前班,幼兒園、一年級、二年級、特殊教育、家庭教育和英語語言發展(ELD,ELL,ESL)。Starfall是兒童其他娛樂選擇的教育。

內容包括令人愉快的動畫歌曲,字母拼讀、發音、數學和從幼兒園到閱讀活動。Starfall英語學習,英語語言藝術課程在遊戲的氛圍中激勵孩子,您的孩子將通過探索學習必要英語技能!

連結網址:www.starfall.com

注意:需電腦瀏覽器支援flash

Add a comment

慢性偏頭痛是指患者每個月頭痛發作天數至少15天,其中有8天以上屬偏頭痛發作,且病程持續超過三個月以上。據統計,偏頭痛在台灣的盛行率為9.1%,約有170萬的民眾受偏頭痛所苦,其中慢性偏頭痛的患者超過10萬人。這些患者原本是陣發性偏頭痛患者惡化成慢性化偏頭痛,而病況逐漸惡化的原因一直是未解之謎。

陣發性偏頭痛患者 可能發展成慢性偏頭痛的原因?

台北榮民總醫院神經醫學中心內科主治醫師賴冠霖表示:「過去的研究發現,慢性化偏頭痛與視丘腦傳遞感覺訊息功能異常有關,感覺訊息傳遞的路徑會從大腦經過三叉神經再經過腦幹到達視丘腦,若視丘的神經元過濾訊號有問題的話,可能會造成感覺訊息盤旋,導致患者頭痛。」

Add a comment

Javascript table 轉 Excel檔案

讀取HTML table 將document.write寫入檔案

function fnExcelReport()
{
    var tab_text="<table border='2px'><tr bgcolor='#87AFC6'>";
    var textRange; var j=0;
    tab = document.getElementById('headerTable'); // id of table

    for(j = 0 ; j < tab.rows.length ; j++) 
    {     
        tab_text=tab_text+tab.rows[j].innerHTML+"</tr>";
        //tab_text=tab_text+"</tr>";
    }

    tab_text=tab_text+"</table>";
    tab_text= tab_text.replace(/<A[^>]*>|<\/A>/g, "");//remove if u want links in your table
    tab_text= tab_text.replace(/<img[^>]*>/gi,""); // remove if u want images in your table
    tab_text= tab_text.replace(/<input[^>]*>|<\/input>/gi, ""); // reomves input params

    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE "); 

    if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./))      // If Internet Explorer
    {
        txtArea1.document.open("txt/html","replace");
        txtArea1.document.write(tab_text);
        txtArea1.document.close();
        txtArea1.focus(); 
        sa=txtArea1.document.execCommand("SaveAs",true,"Say Thanks to Sumit.xls");
    }  
    else                 //other browser not tested on IE 11
        sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));  

    return (sa);
} 
Add a comment

按摩您的狗是一種很好的方式與您的寵物結合,並發現潛在的健康問題,如腫瘤或疼痛斑點,然後失控。按摩狗不同於按摩人; 而不是做深層組織按摩來放鬆肌肉,目的是使用溫柔的動作,幫助您的寵物放鬆和感覺舒適。考慮將按摩與美容療程配對,以幫助您的狗感到健康,快樂和被愛。

按摩你的狗,等到它平靜和放鬆。然後,用手指輕輕按壓頸部,背部,胸部和腿部,同時以圓周運動方式移動。如果你的狗變硬,退縮或咆哮,給它一些空間,稍後再試。您可能需要從短暫的,長達一分鐘的按摩開始,並在您的狗感覺更舒適時按照您的方式進行更長時間的按摩。要學習如何在按摩它的同時訓練你的狗。

Add a comment

簡單來說applyMiddleware是使action中能做更多的事情,如同去賦予執行action有能力在中間去多執行function,不同只是傳遞資料參數,thunk則在中間扮演著處理非同步問題。

Thunk應用增加延遲2秒

const { createStore, applyMiddleware } = Redux;
const { Provider, connect } = ReactRedux
const thunk = ReduxThunk.default
const Increment = () =>{
  return function (dispatch){
    setTimeout(()=>{
      dispatch({type: 'INCREMENT'})
    },2000)
  }
  // return {
  //     type: 'INCREMENT'
  // }
}
class Counter extends React.Component {
  render() {
    console.log(this.props);
    return (
      <div>
        <h2>Counter</h2>
        <div>
          <button onClick={this.props.decrement}>-</button>
          <span>{this.props.count}</span>
          <button onClick={this.props.increment}>+</button>
        </div>
      </div>
    )
  }
}
const actionsCreators = (dispatch)=> {
  return{
    increment: () => {
      //store.dispatch({ type: 'INCREMENT' });
      dispatch(Increment())
    },
    decrement : () => {
      dispatch({ type: 'DECREMENT' });
    }
  }
}
function mapStateToProps(state) {
  console.log(state);

  return {
    count: state.count
  };
}

const Concounter = connect(mapStateToProps,actionsCreators)(Counter);

const initialState = {
  count: 0
};

function reducer(state = initialState, action) {
  switch(action.type) {
    case 'INCREMENT':
      return {
        count: state.count + 1
      };
    case 'DECREMENT':
      return {
        count: state.count - 1
      };
    default:
      return state;
  }
}

const store = createStore(reducer,window.devToolsExtension ? window.devToolsExtension() : undefined ,applyMiddleware(thunk));

const App = () => (
  <Provider store={store}>
    <Concounter/>
  </Provider>
);

ReactDOM.render(<App />, document.getElementById('root'));
Add a comment