2017年5月22日 星期一

C語言學習近況

  雖然之前上高點的課程時就有提到C,自己也買了一本書來看,但真的動手下去寫code是沒有的,先前的職訓班雖然有稍微提一下,自己從未真的去學習過,這周開始把講義裏的題目拿來練習,一題一題的打出來,看結果,然後還找到講義上的錯誤,覺得還滿有成就感的.

  由於先前有JAVA,PHP之類的程式基礎,學起C來在剛開始的階段並沒有什麼太大的阻礙,因為流程控制的部份幾乎是一模一樣的,只有在指標的地方需要用點腦.

  接下來的目標就是在這個月內繼續熟習C語言,做更多的練習,然後下個月換JAVA,再下個月換SWIFT,之後就是考證照,明年希望可以順利找到程式相關的工作做.

2017年4月28日 星期五

[Javascript]魔獸世界入侵事件時間及倒數

  回鍋魔獸約半年時間,中斷程式的學習也大約半年,最近結束了一些課程,想說要繼續來加強程式能力,剛好魔獸這次推出入侵事件,原則上是18.5個小時一次,一次六個小時,因為多了半個小時,所以整個時間變得會有推移的狀況,很多人都時不時在問下一場是什麼時候,雖然大陸有網友已經先推算了一堆時間出來,但那張表不夠直覺,所以我決定自己來寫一個,大概花了三個小時分成兩天完成,其中花最多時間的地方在於查語法,因為太久沒寫,都忘得差不多了.

  成果如下;目前放在hinet的免費網頁空間中軍團入侵事件
  設計的想法很簡單:
 1.日曆方式呈現,並分成凌晨,上午,下午,晚上四個時段
 2.下一場入侵開始的倒數時間
 3.正在進行中的入侵事件結束倒數

 實作上做了一些處理:
  1.入侵時間是先算出場次後以時間序列值存在陣列中以供取用,這是因為直接用算的有點麻煩,而這支程式有時間性,所以用簡單的方式來做就好了.
  2.每天各時段的入侵事件使用二維陣列來處理,並加上一個紀錄日期的一維陣列來做映對(其實javascript只有一維陣列)
  3.倒數計時是很久以前寫的一支程式,拿出來修改後直接套用,吃入目的時間和要呈現的位置ID後就可以運作.
  4.表格結構因為要配合入侵事件,所以另外寫成一個函式,把表格及入侵事件時間都轉成HTML碼後再回傳給主程式湊成網頁要用的字串.
  5.整支程式花了大約百來行,含網頁的部份則是約200行

上線一陣子,只有公會的人看過,沒有做計數器,也不知道是不是有人來看,但運作狀況不錯,目前的時間都有對上,陣列的資料大概可以撐到八九月,到時如果有改版再看看.


2017-07-26 更新:

  考完高普考,休息了兩周,處理了一些雜事後,抽了一點時間把這個頁面做了更新,新的做法主要取消了先前的陣列時間做法,改成完全用即時計算的方式,好處就是不用去更新陣列的時間及日期資料,每次瀏灠頁面時都會即時去計算後面30天的入侵時間,實作的部份做一下說明:

  1,以最近的一次入侵時間做為計算起點,之後每次瀏灠頁面時,先算出目前時間和起點的相差倍數,然後再去推算後面48場入侵的時間(其實40場就夠一個月份了),然後產生一個時間陣列出來.
  2.以最近的一次入侵日期為起算日,再去生成後面30天的日期陣列.
  3.以日期陣列的最後一個時間去尋找時間陣列中小於最後一天的入侵總場次.
  4.產生表格的部份和之前的做法一樣,程式也沒有改動到,直接延用

新的表格改用漸層色來表現一天的四個時段,可讀性比較好一些:


  有看到別人的華麗版入侵時間還有地點的,聽說是有規律可循,有空再來研究看看能不能加進來使用.

2017-08-20 更新:

修正了一些小bug:
1.修改日期零時的做法,原本是用算法去做的,後來發現javascript有setHours()的函式可以,這樣我只要找出日期再把時分秒設為零就是一天的開始了;
2.增加判斷前一日是否有事件,因為新的做法只會紀錄上一場開始的時間,然後也會記錄前一天的日期(跨日問題),這樣會造成有時前一天的時間已經沒有入侵了,但因為陣列中還有前一天的日期,所以顯示了一個空白的日子在日曆上,因此增加了一個變數來判斷是否要顯示出前一日的日期來.

至於地點的問題,我覺得不重要了,因為7.3也快改版了,所以沒打算加上去,這支程式只是用來練習用的,也沒必要做得太完美,接下來如果還會再動這支程式,應該只是把log刪掉和程式碼的改良而已.

2017-08-20 更新二:

睡了一覺醒來突然一時興起,還是決定把入侵地點加上去,基本上是12場一個循環,所以只要增加一個陣列來處理就好了;然後再做了一些程式碼的優化:
1.刪除開發中使用的測試文字;
2.增加幾個函式來處理日期和時間字串,簡化程式碼;
3.增加對當日欄位的強化顯示;
4.原本一天切四個時段改成兩個時間,免得表格因為增加了地點的顯示變很長;


這應該是最後版本不會再動了,等待阿古斯來吧!

2017-08-25 更新
1.修正入侵時間期間的計算錯誤,應該是持續六小時的時間,我加成了十八個半小時.
2.修改了前一日的日期顯示方式,如果入侵已經結束,而且過了一天,那麼就不顯示前一天的日期及入侵場次,但如果是當天的上一場入侵場次則一樣會顯示.

真的是最後一次更新了,再六天就要更新7.3了.

2015年11月16日 星期一

3Ds Max 彩現成果

  最近才知道台灣對於render有官方的翻譯叫做"彩現",在此之前我都是直接說英文或是用大陸的說法"渲染",這次課程的最後一周我都在研究彩現的最佳化,以前只知道Vray而已,這次除了MAX 自帶的引擎外,還多接觸了metal ray,要學的東西還真不少,因為這部份老師教得很少,所以幾乎都是自己摸索及上網找資料,材質的搭配也來不及做太多調整,但是,其實自己玩得滿有樂趣的,以後會再花時間做研究。

彩現成果:





職訓作品集

  話說這次職訓最終的成果是人人一本作品集,不過有些學員最後還是決定不交作品集,或是只交了幾頁了事,我至少也幫了兩三個學員完成作品集的匯整及併檔上傳等作業;作品集的過程有個小事件,就是原本的聯成電腦統一作品集都是直式的輸出方式,但是象我們這樣的課程內容,作品大多是橫式為主,和聯成反映時,一開始是回說一直以來的格式都是統一的,有個女學員不死心,花了幾天時間和負責人溝通,甚至自己跳下來做橫式的封面給聯成用,最終聯成才同意用我們的橫式方案。

作品集:










只能放十頁,如果有多的,自己加印或是作成電子檔,不過因為時間的關係,其實大多學員的作品集都有點交差了事,並不是沒有辦法做得更好,只是交件時間和可以製作的時間很有限,我甚至是交了作品集的檔案後還花了兩天去修改內容及重新render,才能在廠商面試時,給出比較有品質的作品來。

  總之,課程完整的結束了,我也算是學到新的東西了,要再精深就靠自己日後的鑽研了。



2015年11月13日 星期五

室內設計職訓班最後一天

  今天是最後一天課程,上午先是學員的作品介紹,之後有學員請吃蛋糕和飲料,老師也請吃批薩,下午則是廠商徵材活動及結訓

  最後的兩周,其實沒有在上什麼課程內容了,大多時間都是留給學員做作品,我私下和老師談,他說這個班還算正常,他以前帶過落差更大的班,進度是這次的一半,所以結訓時的學員作品根本就不是廠商要的,但這沒有辦法,大多時候他們還是得考慮學員的整體程度而調整進度,無法因為有少數人特別厲害,所以就教得特別快。

  下午有四家廠商來面試,我本來是全選,但是因為聯成的作業問題,我最後只面試到了三家,其中一家對我的年紀有疑慮,但是一直強調他們沒有年齡限制,另一家則對作品肯定,但因為我說之前為了渲染好看,所以花了四小時用最好的參數下去跑圖,他們覺得這太浪費時間了,所以把我從錄取名單裏先排除,切,要快就調參數就好了,有什麼好計較的?

  面試完,聯成解說了一些訓後的就業追踪及回報事項,接著就是發了結訓證書,最後大家拍拍合照,正式結訓。

  結訓後,大家移動到隔壁的田季發爺聚餐,我是真的很久沒吃這類的大餐了,拚命的塞肉進肚子,然後到各桌和大家哈啦,兩個小時的用餐時間過去,田季發沒來趕人,大家也就繼續聊下去,大概到九點才結束了聚會,各自回家。

  或許是這個班級的組成份子比較不同,在受訓過程中,有些學員會去建立起一些小圈圈的情感,最後擴充成全班的情感,相較之前參加過的兩個職訓班,學員們因為目標很清楚是就業,所以大家都專注在課程的內容和自己的作品,較少有私下的交流,所以結訓後也很少再聯絡了。

  anyway,反正我的人生已經歪了,我也不再限制自己要做什麼事才可以,打算先休息到十一月底,然後看有什麼工作就先做了。



2015年10月28日 星期三

3dsMax學習之路-Day44

  今天是ACU 3ds max的考題講解,目前只有一位學員有繳錢報名要考,所以老師提前做考題解說,增加大家的信心,其實只要之前的課程都有理解,拿個50%分數不是問題,講解後也只是針對沒上的部份做記憶而已,畢竟這個班只上和室內設計有關的部份,而max滿重要的動畫部份則是都沒提到。

  中間空檔時間,我則是繼續自己的作品集,目前只進行到自己家的平面圖規劃,這周希望可以推進到3d建模的程度。

2015年10月26日 星期一

AutoCAD學習之路-Day43

  周六的ACU認證考試很輕鬆的過了,休息了一天,今天和同學在閒聊時,討論到作品集的製作,有少數幾個同學已經積極的在準備自己的作品了,我也要開始來完成自己的東西了。

  今天的CAD課程上的主要是迴轉和3D出圖這兩件事,沒什麼難度,不過對於已經跟不上的同學來說,幾乎完全是新東西了。