NodeJS 的封存

Note: Work with Meteor and NodeJs on Ubuntu 14.04

Posted in Works with tags , , , on 2017 年 01 月 16 日 by Kun-Yi

去年某個案子開始用Nodejs/Meteor 不過是北歐的合作廠商負責的 我還是只負責底層 BSP porting 用的是Yocto Distribution 本來案子被我很快的呼嚨完客戶很快的就量產 但是技術債就是這樣遲早都要還 經過半年後 客戶發現某一部份功能不太穩定 希望我這邊重新看看可不可以修正

結果卻發生怎樣都沒辦法build meteor package 重新裝了 meteor/build-essential/nodejs … 等等
還是 build failed 跟之前作案子時完全不同, 經過幾小時嘗試各種方式 然後去看build log 只知道某些 npm package 安裝 failed然後又重新裝各種 nodejs 0.10.x/npm/node-gyp … 還是無法解決 >_<

直到我重新review host 上的 gcc version 才發現目前default 用gcc-4.9, 起因是前幾周在測試 Qt5.6 ~ Qt5.8/Boot2Qt 等等時, 它需要切換到gcc-4.9 配合新的語言標準才行,

但是此時卻發生了npm install packages failed後來透過 sudo update-alternatives –config 把gcc 切回gcc 4.8 果然解決問題

 

Tips:
Debug 中 學到下列
cd ~/.meteor/
ls -al可以看到安裝的meteor version
meteor->packages/meteor-tool/<RELEASE>/<PLATFORM>/meteor
curl https://install.meteor.com > meteor.install
vim meteor.install # 可以去找RELEASE 改成想要安裝的版本, 我自己的案子目前建議還是用 “1.3.2.4″ 目前抓到的應該是 “1.4.2.3″
修改過後用 cat meteor.install | sh 就可以安裝了

Note: learning javascript using NodeJS

Posted in Javascript with tags , on 2016 年 01 月 11 日 by Kun-Yi

最近開始想跟上時代腳步 開始練一下Javascript 配合未來趨勢,底下是我看某些教材練習的片段, person 是一個 object 宣告 可以直接用for 去列舉屬性還蠻方便做很多meta programming 而整數的sort 從小排到大 則是跟C 語言的qsort 一樣要提供一個compare function 只是這裡是沒有名稱的形式 而且傳回定義同C語言

var person = {
name : “Jules Verne",
job : “Author",
year_of_birth : 1828,
year_of_death : 1905
},
prop;

for (prop in person)
{
console.log(“His " + prop + " is " + person[prop]);
}

var arr = [5, 2, 3, 4, 1];

arr.sort(function (a, b) {
console.log (“a:" + a + “, b:" + b + “, a – b:" + (a – b));
return a – b;
});
console.log(arr);

執行結果如下

His name is Jules Verne
His job is Author
His year_of_birth is 1828
His year_of_death is 1905
a:5, b:2, a – b:3
a:5, b:3, a – b:2
a:2, b:3, a – b:-1
a:5, b:4, a – b:1
a:3, b:4, a – b:-1
a:5, b:1, a – b:4
a:4, b:1, a – b:3
a:3, b:1, a – b:2
a:2, b:1, a – b:1
[ 1, 2, 3, 4, 5 ]