建立subview及加入各種效果

簡單地記錄一下:

#import <QuartzCore/QuartzCore.h> //import必要的class,用於設定效果
UIView *baseView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; //建立view
baseView.backgroundColor = [UIColor whiteColor];  //將背景設成白色
baseView.layer.cornerRadius=5; //加入圓角
baseView.layer.borderWidth=1; //設定邊闊
baseView.layer.borderColor=[UIColor colorWithRed:161/255.0 green:47/255.0 blue:47/255.0 alpha:1]; //以rgb來設定邊的顏色 

 
//陰影
baseView.layer.shadowColor = [[UIColor blackColor] CGColor];
baseView.layer.shadowOffset = CGSizeMake(3.0f, 3.0f);
baseView.layer.shadowOpacity = 0.5f;
baseView.layer.shadowRadius = 10.0f; 
 
//漸層
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = baseView.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor whiteColor] CGColor], (id)[[UIColor grayColor] CGColor], nil];
[baseView.layer insertSublayer:gradient atIndex:0];

[self.view addSubview:baseView];  //將baseView加入到場景
[self.view sendSubviewToBack:baseView]; //將baseView的層次推後一層
[self.view bringSubviewToFront:baseView]; //將baseView的層次拉上一層
 


做好每個細節的重要性

把事情的每個細節做好,是通往成功的必備條件。 例如我們為自已訂立一個遠大的目標,然後再將這個目標細分成幾個甚至幾十個部份,再細心地把每個部份完成,慢慢堆積起來,將能大大提升達到目標的成功率。
無論你有十家店、一百家店、一千家店、甚至是一萬家店,所有的事情都是從「一」家店開始的,而且都是從滿足「一」位客人開始的… 每個客人都只是要買一或兩件東西,沒有人是一次買一萬件商品的。所以每一件商品都是單獨的,每個商品裡的每個零件都是單獨的,每家店都是單獨的,每個客人也是單獨的 — 了解這個核心精神的重要,是零售業最關鍵的一件事情。–Tadashi Yanai, CEO, Uniqlo
所有的成功都是由「一」開始。 做任何事,首先把細節做好,做好每個細節,是創業的最基本條件。

使用CSS處理網站在不同裝置上的顯示方式

現在可以連上互聯網的裝置越來越多,而且各個裝置的闊度也有所不同,在設計網站時經常要為不同闊度作出調整。
針對這個問題,我們可以透過viewport及media-query來修正網站的顯示方式。

viewport的應用方式
現時大多數的裝置都會將網站的闊度預設為980px,也就是說如果你的網站闊度大於或少於980px,將會無法完整地顯示整個網站。
在這個情況下,我們需要透過viewport來告訴裝置網站實質的闊度,例如我們的網站是720px,可以這樣設定viewport:
<meta name="viewport" content="width=720">

那麼裝置就會完整地顯示整個網站。

透過viewport取得裝置的實際闊度
<meta name="viewport" content="width=device-width, initial-scale=1.0">

viewport的各個特性
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
initial-scale=1,告訴裝置以100%顯示網站,不做任何的自動縮放,這時將需要手動移動或縮放頁面。
user-scalable=no,禁止用戶手動縮放網站。
maximum-scale=1,設定網站最大的縮放大小。

使用viewport及media-query來調整網站的顯示方式
首先我們使用viewport來告訴網站,現在使用者的裝置實際的闊度:
<meta name="viewport" content="width=device-width, initial-scale=1.0">

然後,我們再透過css的media-query針對不同的闊度設定不同的顯示方式:
@media all and (max-width: 1024px) {
    /* styles for narrow desktop browsers and iPad landscape */
}

@media all and (max-width: 768px) {
    /* styles for narrower desktop browsers and iPad portrait */
}

@media all and (max-width: 480px) {
    /* styles for iPhone/Android landscape (and really narrow browser windows) */
}

@media all and (max-width: 320px) {
    /* styles for iPhone/Android portrait */
}

@media all and (max-width: 240px) {
    /* styles for smaller devices */
}


使用這個方式的相關網站
http://www.microsoft.com/surface/en-US/surface-with-windows-rt/home
http://anderssonwise.com/

回憶是...?

我們將刻骨銘心的經歷...友情、親情及愛情都用腦袋記下來,慢慢地堆積成一串串的回憶。人長大了就特別喜歡懷念往事。

可是所有回憶無論如何也是傷感的,往往會將負面情緒帶出。
我們回憶痛苦的往事時,就等同再次經歷痛苦。
我們回憶快樂歡愉的過去時,不免會慨嘆不能再重拾惜日的時光。

回憶是...無盡的傷感。


人生訂立的目標

人生中在不同的階段,我們都會為自已訂立不同的目標。
25歲要玩一次跳傘、30歲時要有自已的房子、35歲前一定要一家人遊一次歐洲...

可是時間飛逝,當有一天我們回望時,才驚覺原來很多目標沒有去完成,可是人生已經走到很遠,已經沒有辦法回頭,沒有辦法再去完成當初的目標,最後這些沒法去完成的目標或夢想一個個地堆積成為人生中的遺憾。當人生走到最後時,如何向自已交代呢?

人生有些事情或目標,如果現在不去實現,等到人生走到另一個階段時,就會驚覺根本不會再去完成那些事情。不同的階段有不同的想法,不同的顧慮。。。

我們的目標太多,而人生卻很短,我們應該活在當下,想到的就去做吧!

上載檔案,並修改檔案名稱的方式

方法1:

class StudentForm extends BaseStudentForm
{
  public function configure()
  {
    $this->widgetSchema['photo'] = new sfWidgetFormInputFile();
    $this->validatorSchema['photo'] = new sfValidatorFile();
  }
}

然後在action中修改檔案名稱

public function executeCreateStudent(sfWebRequest $request)
{
  $this->form = new StudentForm();

  if ($this->form->bindAndSave($request->getParameter('student'), $request->getFiles('student')))
  {
    $photo = $this->form->getValue('photo');
    $photo->save(sfConfig::get('sf_web_dir').'/uploads/students/'.$photo->getOriginalName());
  }
}

方法2:

class StudentForm extends BaseStudentForm
{
  public function configure()
  {
    $this->widgetSchema['photo'] = new sfWidgetFormInputFile();
    $this->validatorSchema['photo'] = new sfValidatorFile(array(
      'path' => sfConfig::get('sf_web_dir').'/uploads/students',
    ));
  }
}

然後在class中加入以下method,注意,method name Photo是field的名稱

class Student extends BaseStudent
{
  public function generatePhotoFilename(sfValidatedFile $file)
  { 
     return $this->getId().$file->getOriginalExtension();
    //return $file->getOriginalName();
  }
}

別離...

在茫茫人海中,緣份令我們走在一起,相遇、相識、共事。。。
每天上班途中在公共汽車相遇的人,到站後各人總要下車,走自已的路到自已的目的地。
念書的同學們總有一天會畢業,共事的同事們總有一天會換到別的公司,朋友們都為自已的前程奔波而沒有聯絡,能與伴侶走到最後的,對方有可能比你先走。。。別離是必然的,請在相遇時就做好別離的準備。

珍惜相遇的每一刻,當我們要別離時,讓我們把在一起時的點點滴滴帶走,保存在我們的腦海裏。。。一直地保存著。。。

家鄉的爺爺病重,很可能要走了,即將與相處六十年的奶奶別離。。。
我很難理解此時此刻奶奶的心情,只可以向爺爺承諾好好照顧奶奶,讓爺爺可以放下肩膀上的包袱,放心到另一個世界。。。