嗚嗚喔學習筆記

搜尋此網誌

2016年6月13日 星期一

Mac 刪除 ./MoblieBackup 救回你的容量

step 1.

打開終端機(terminal)


step 2.
輸入指令:
sudo tmutil disablelocal
step 3.
輸入密碼:  一般來說會是你的開機密碼

step 4. 重新開機

2016年5月31日 星期二

2016 面試紀錄

2016/5/30 ~ 2016/6/9 開始面試紀錄~~
私校大學畢業 大學都在玩 讀書時間大概1/4吧
目前的年資 1.5年 玩過的東西範圍比較廣 
Android , Asp.Net MVC 5 , Corona , OpenCV 
(學而不精啊~~)

1. 元細胞 遊戲工程師
進去先考Unity的基本語法 跟 資料庫 演算法(英文考題..)
因為我碰Unity 才不到一個月時間
所以語法根本沒記
都GG 一堆不會寫
有實戰經驗的人
應該會是頗簡單的~

考完試直接打槍我 連面試都沒有哈哈~

當場被拒

2.TutorABC ASP.NET MVC
有點忘了考啥
記得有考機械公敵裡 機器人的條約 做一些申論邏輯的題目
面試問問專案經驗
專案多大資料庫多大之類的
感覺應該不會上...

無聲卡

3. 匯豐國際資產 ASP.NET MVC
面試沒有考試 基本是只是在聊天 介紹公司之類的~~

Offer Get N+5

4. 天空數位有限公司 ACER ASP.NET MVC (駐點工程師)
直接去Acer 面試
面試題算很簡單 簡單的排序 之類的題目
無聲無息~

5. 天空數位有限公司 知名旅遊業ERP (駐點工程師)
面試過程 主管看起來蠻怕的 覺得剛出社會的人不好用之類的~
聊完之後 禮拜一去 試工 一到兩個禮拜 再決定要不要給Offer
有點抖抖的....
後續來電說不用試工了

Offer Get N+14

6.知名旅遊業 軟體工程師
跟上面同一間公司面試....
看來是他有外包專案出去的樣子
做一些性向測驗 比較特別是 題目 1,4,9,10
然後中間填入 5 ,3, 9  就是填入個位數的答案
之後等通資一個禮拜吧~

無聲卡

7.緯德科技 JAVA初階工程師
這天我遲到了 半小時 ...
後來一個女生面試我 我感覺得出來他想要請我離開
大概隨便說一下 JAVA的經驗 我是沒有很多
大概10分鐘後 就被請走了...

當場被拒

8. 事必得 Android 工程師
來這邊看了一下裝潢 感覺很好很漂亮
重點是: 我看到 IMAC 電腦好多台 覺得很厲害~
主要也是聊聊天 感覺他們老闆看起來很年經有朝氣 
好像成立兩年多而已吧
總之印象還不錯 我開了 N+8 的條件 保13
等禮拜一的通知會不會上了~

無聲卡

9.瑞訊智能 Android 工程師
我在去之前要查地址 結果發現已經結束徵才了...
但我還是去面試了 之後就聊聊Android經驗
他們介紹自家產品 然後開個價他們說要再討論
然後就結束了~

無聲卡

10. 鈊象電子 遊戲軟體工程師
一大早去面試 差點又遲到...好遠
一進去先筆試 性向測驗 考邏輯測驗 作業系統 類似計概的感覺 
C++ C 有考一些指標 迴圈之類的..
一整個考超爛 後來問問我之前做過什麼 
我說我寫lua 他們說他們不缺lua 
後來聊到大致上分 技術面 跟 遊戲面 
技術就偏底層 C 語言要熟悉 
遊戲方面就是 Unity C#要熟悉 
後來面試說我兩邊都不行 .. >< 
過程中還提到我邏輯測驗考不好 100分大概60幾分及格邊緣..
然後就掰掰了 連第二面都沒有 ~

當場被拒

11.磁力線上股份有限公司 遊戲程式設計師
一早去一如往常又差點遲到...
一進去環境是我所有面試裡面最好的~ 一整個超心動!!
很像大學的感覺 有一些公共空間 很多的小間會議室~
然後人資也很NICE~
再來就寫基本資料 (筆試一小時)
筆試我覺得考題出得最好的就這家了
基本上都是考物件導向的觀念 (C#) 還有偏 "設計模式" 的考題 
而不是在考語法問題(我很討厭筆試考語法...因為我很容易忘記...)
(EX: 這段代碼有哪些可能隱藏的錯誤 請說明跟舉例 
基本上這些代碼是可以執行的 但就是設計模式的觀念跟問題) 
在實戰上很用得到的東西(全英文出題~)
這家很特別是沒有考邏輯測驗 性向測驗 智力測驗
後來主管來面試我 就聊天 基本上都是問觀念的東西 還有我多熟悉這樣
最後面試結果是說 我程式的基本觀念還行 但沒有到很熟悉
會再請人資通知我薪資福利的部分

過了很久大約兩個禮拜的時間
Offer get N+1 保14

12.台灣安麗莎醫療器材科技 Android App Developer
位在南港區 考試很特別面試官直接請我上機考
不過折騰了一下 最後還是用口說 筆寫的方式考
題目主要 C 資料結構 指標 這些東西 
是說我根本爛到有剩... 中間過程還聊了很久 
面試官也給了我很多程式的建議 人真的很好QAQ 
面試官比較特別是 很看重 大學CS的基本工
還問到我學校專題的東西
因為我是用OpenCV lib 來寫 Code 所以沒什麼難度
但就結果來說看起來還行 只能說lib強大....
這裡很收穫觀念的是說 我可以 Call lib兜出專題 
但沒有實作lib的能力
經過這場面試 讓我想到鈊像電子的面試一樣...
簡單說 C 去老老實實的從頭讀一遍吧....
不要再用Google寫程式了 這樣真的很不扎實

當場被拒

-------------------------------------------------------------------------

整整面試差不多兩個禮拜的時間,做些結論
中大公司: 筆試一定有 性向 智力 程式 有的沒的
      喜歡培養有潛力的新人(程式基礎好的人)
小公司:有時連筆試都沒 基本是就是要即戰力 對框架有多熟 語法多熟 有沒有作品

另外我對於學習新的框架 跟語言有新的看法

之前啥都碰
記得以前學校老師說的 要快速學會新技能
還是專精一點好 什麼都會 => 什麼都不會

以前我是直接先訂定目標 再去找方法來實作 多半是Google到底
之後學習過程 應該要先把基礎打好 範例程式打過一遍 把有什麼元件看掃過一遍
再來開始做專案 會比較扎實 不然面試真的會一直碰到鐵板 0.0


2016年1月25日 星期一

Sample Lua OOP(1)

創建一個
簡單的類別
功能包含

public function 
private functionc
constructor

程式碼:

程式碼: main.lua
local dog = require "Dog" --引入類別

local BigDog = dog.New( "Apple" , 10 ) --創建物件 

local SmallDog = dog.New( "Orange" , 4 )

BigDog:Bark()
BigDog:PrintAge()
SmallDog:Bark()
SmallDog:PrintAge()



程式碼: Dog.lua
local Object = {}

-------------------------------------------------
-- GLOBAL
-------------------------------------------------

function Object.New( name , ageInYears )-- constructor
 local self = 
 {
  name = name ,
  age = ageInYears 
 }

 -------------------------------------------------
 -- PRIVATE FUNCTIONS
 -------------------------------------------------

 local function GetDogYears( realYears ) -- local; only visible in this module
  return realYears * 7
 end

 -------------------------------------------------
 -- PUBLIC FUNCTIONS
 -------------------------------------------------

 function self:Bark()
            print( self.name .. " says \"woof!\"" )
 end

 function self:PrintAge()
     print( self.name .. " is " .. GetDogYears( self.age ) .. " in dog years." )
 end

 return self 

end

return Object

輸出結果:

1月 26 01:14:56.748: Apple says "woof!"
1月 26 01:14:56.748: Apple is 70 in dog years.
1月 26 01:14:56.748: Orange says "woof!"
1月 26 01:14:56.748: Orange is 28 in dog years.




2016年1月6日 星期三

產生唯一碼(GUID , UUID) (Lua 版本)


Guid 

主要能夠產生唯一碼 的原因就是樣本數夠大
有 2^128 種可能 

在真正隨機產生亂數的情況下 
幾乎不可能產生同樣的編碼

程式碼:

---------------------
--產生GUID
--範例:
--[[
 local guid = require( "Tool.Guid")

 print("guid.NewHex" , guid.NewHex())
 print("guid.NewLong" , guid.NewLong())
]]--

---------------------

local M = {}

--樣本數為 2^128
function M.NewHex()
    --隨機種子
    local d = io.open("/dev/urandom", "r"):read(4)
    local template ="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    math.randomseed(os.time() + d:byte(1) + (d:byte(2) * 256) + (d:byte(3) * 65536) + (d:byte(4) * 4294967296))
    return string.upper(string.gsub(template, "x", 
        function (c)
            local v = (c == "x") and math.random(0, 0xf) or math.random(8, 0xb)
                    return string.format("%x", v)
            end))
end

--樣本數為 2147483647
function M.NewLong()
    --隨機種子
    local d = io.open("/dev/urandom", "r"):read(4)
    math.randomseed(os.time() + d:byte(1) + (d:byte(2) * 256) + (d:byte(3) * 65536) + (d:byte(4) * 4294967296))
    return math.random( 1 , 2147483647 )
end
return M


2015年12月28日 星期一

三元運算子(Lua)

C 版本: (a>b) ? true : false 
Lua 版本 (a>b) and true or false

程式碼:

local a = 10
local b = 20 

print("a>b" , (a>b) and true or false )
print("a<b" , (a<b) and true or false )
print("a==b" , (a==b) and true or false )

輸出結果:
a>b false
a<b true
a==b false

2015年11月3日 星期二

計算GPS 距離 (Lua版本)

程式碼:

    local cos = math.cos
    local sin = math.sin
    local pi = math.pi
    local sqrt = math.sqrt
    local min = math.min
    local asin = math.asin
    local abs = math.abs

    -- Calculate distance
    function Distance(from, to)
        local distance = 0
        local radius = 6367000
        local radian = pi / 180
        local deltaLatitude = sin(radian * (from.latitude - to.latitude) /2)
        local deltaLongitude = sin(radian * (from.longitude - to.longitude) / 2)

        local circleDistance = 2 * asin(min(1, sqrt(deltaLatitude * deltaLatitude +
            cos(radian * from.latitude) * cos(radian * to.latitude) * deltaLongitude * deltaLongitude)))
            distance = abs(radius * circleDistance)
        return distance
    end

2015年6月23日 星期二

ASP.net MVC5 - [ LINQ ]


LINQ - 常用四種方法 where , any , all , select


程式碼:
var number = new int[] { 10, 200, 300, 400, 500 };

//查詢 number[i] > 300 的數值
var where = number.Where(p => p > 300);
foreach( var item in where)
{
    System.Diagnostics.Debug.WriteLine("where item = " + item);
}

//是否有 number[i] == 200 的數值
var any = number.Any(p => p == 200);
System.Diagnostics.Debug.WriteLine("any number[i] == 200 : " + any);

//是否全部都是 number[i] == 300
var all = number.All(p => p == 300);
System.Diagnostics.Debug.WriteLine("all number[i] == 300 : " + all);

//提取資料 並且和成新資料
var select = number.Select(p => "tim"+p).ToArray();
foreach (var item in select)
{
    System.Diagnostics.Debug.WriteLine("select item = " + item);
}

輸出結果 : 

where item = 400
where item = 500
any number[i] == 200 : True
all number[i] == 300 : False
select item = tim10
select item = tim200
select item = tim300
select item = tim400

select item = tim500