PIXNET Logo登入

聯成電腦-讓你價值連城

跳到主文

聯成電腦痞客邦官方BLOG學習電腦必備秘笈,提供各種學電腦課程作品及聯成電腦評價,學員對電腦課程的學習心得包含手機app 、工業設計、室內設計及電腦證照考試等,是您學電腦課程最佳範本。

部落格全站分類:電玩動漫

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 5月 03 週二 202210:00
  • 聯成電腦分享:最熱門的網頁前端框架,從零開始學Vue.js 安裝篇

article_main_img

Photo credit:Pexels
 
 
 
文、意如老師
 
 
什麼是Vue.js?
Vue.js是現在正當紅的網頁前端框架之一,主要程式語言為javascript,無論你是想寫一些簡單的網頁或者一個大型複雜的專案網站都可以快速使用Vue框架,來達到良好的開發效率。
 
我們直接先實作把Vue.js安裝到電腦上吧!
本篇會介紹3種比較常用的安裝方式。
 
 
 

方式1:下載回來至本機


方式2:使用CDN方式引入


方式3:使用command 下指令安裝


 
 
 
方式1:下載回來至本機
 
步驟如下:
首先把vue.min.js下載回來到本機,
https://vuejs.org/js/vue.min.js
點選網址開啟網頁,按下右鍵另存新檔後備用。
 
 
 
 
先在本機建立一個網站資料夾Test1,再建立一個名為javascript的資料夾,再到javascript資料夾內放入剛剛下載回來的vue.min.js。
接下來只要在網頁中使用<script>標籤將vue.min.js引入,就可以自由的使用Vue.js了
直接先來簡單測試一下看有沒有下載並套用成功,首先再建立一個空的檔案名為:testpage1.html
 
 
 
 
接下來開始輸入程式碼
 
testpage1.html
 
<html>
<head>
<meta charset="utf-8">
<title>Vue測試</title>
<script src="javascript/vue.min.js"></script>  <!—這邊記得要引入vue.min.js -->
</head>
<body>
 
<div id="info">
        <h3>{{message}}</h3> <!—測試Vue.js是否套用成功-->
</div>
 
</body>
</html>
 
<script>
new Vue({
        el:'#info',
        data:{
                message:'My data Info Message'
        }
})
</script>
 
如成功套用在網頁中時出現的文字會是” My data Info Message”,如套用失敗文字則會顯示{{message}}
 
 
 
方式2:使用CDN方式引入
 
CDN是什麼?
就是將主要元件Vue.js 檔案是放在官方雲端中,如果我們要快速使用它時,不需安裝任何,直接加上一行程式碼即可。
例如:
<script src="https://unpkg.com/vue/dist/vue.js"></script>
完整程式碼如下:
 
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<html>
<head>
<meta charset="utf-8">
<title>Vue測試</title>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
 
<div id="info">
        <h3>{{message}}</h3>
</div>
 
</body>
</html>
 
<script>
new Vue({
        el:'#info',
        data:{
                message:'My data Info Message'
        }
})
</script>
 
使用CDN的優點是大家都可以自由使用不須額外安裝,而缺點是如果今天雲端伺服器突然當機,那麼只要使用CDN方式引入的網頁全都會出現跑版等等其他錯訊,所以如果要開發大型專案時盡可能使用第1種方式會較好,而如果只是要測試小程式的話就可以使用第2種方式。
 
 
 
方式3:使用command 下指令安裝
 
這邊會使用npm指令來安裝專案,先確認自己的本機是否有安裝npm,先開啟cmd(命令提示字元)。
接下來打入npm-v 來查詢自己的npm是什麼版本,如果沒有安裝的話會顯示”找不到檔案”,這時你就會需要安裝一下npm套件了,再裝npm前記得必須先安裝node.js,才會有npm。
 
步驟如下:
查看npm版本號
npm -v
 
 
 
 
更新到最新版的npm:
npm install npm -g
 
 
 
 
接下來安裝:  vue-cli
vue-cli 是可以快速將 vue.js 專案的整體架構建置起來的工具
npm install --global vue-cli
 
 
 
 
初始化專案
vue init [template] [project_name]
 [template] 可以採用官方提供的幾種template,若不知道有什麼template,可以下指令查看
#查看官方提供的template與說明
$ vue list
 
 
 
 
目前使用webpack模板
vue init webpack yrtest1
接下來會遇到幾個問題,直接按下ENTER即可
? Project name vue-project-base //專案的名稱
? Project description A Vue.js project //專案的描述
? Author GuaHsu <guaswork@gmail.com> //專案的所有者 (通常是你自己)
? Vue build standalone //詳見備註1
? Install vue-router? Yes //vue 的 route 意即專案路由
? Use ESLint to lint your code? Yes //規範 coding style 的工具
? Pick an ESLint preset Standard //好幾種規則, 這邊是選 Standard
? Set up unit tests Yes //是否設定單元測試
? Pick a test runner jest //使用單元測試的工具,這裡選 jest
? Setup e2e tests with Nightwatch? //e2e 測試的工具
? Should we run `npm install` for you after the project has been created? (recommended) npm //幾種 install 的方式,這裡是用預設的 npm
 
 
 
 
接下來就會開始安裝
 
 
 
 
按照指示:
cd yrtest1
npm run dev
 
開啟瀏覽器打入
http://localhost:8080
 
 
 
安裝成功畫面如下:
 
 
 
下一篇將帶大家了解Vue.js的目錄結構以及整個程式的流程架構
(繼續閱讀...)
文章標籤

聯成電腦 發表在 痞客邦 留言(0) 人氣(7)

  • 個人分類:講師技術文
▲top
  • 4月 28 週四 202210:00
  • 聯成電腦分享:將所有的網站導入GoogleFirebase一起分析數據

article_main_img

Photo credit:Pexels
 
 
 
文、意如老師
 
 
續上一篇:聯成電腦分享:你的網站GA了嗎?Google Analytics網站分析教學
 
上一篇我們使用Google Analytics只是針對一個網站來做分析,但是如果我們有很多網站很多專案是否可以導入一起分析呢?
答案是可以的,本篇將實作把所有的網站導入GoogleFirebase一起分析數據
 
 
 
建立專案:
首先到下列網址:
https://console.firebase.google.com/u/0/
點選建立專案按鈕
 
 
 
 
先輸入專案名稱:
取一個跟專案有相關的名字後,看完並接受Firebase條款後按下繼續按鈕。
 
 
 
 
了解將Firebase新增至GoogleCloud專案時的注意事項,並按下繼續按紐。
 
 
 
 
 
設定GoogleAnalytics  分析的帳戶,選擇或建立(可參考上一篇文章)
 
 
 
 
 
選擇帳戶或建立帳戶完成後按下繼續按鈕,即可看到Firebase的後台
新增應用程式:
接著開始新增應用程式,點選</>按鈕
 
 
 
 
接下來將Firebase新增至你的網頁應用程式,需要填一些註冊應用程式需要的資料。
 
 
 
 
填完暱稱,並勾選ㄧ併為這個應用程式設定Firebase代管功能後,按下註冊應用程式。
 
 
 
 
第2步驟就可以新增FirebaseSDK到你的網頁應用程式
 
 
 
 
直接複製firebaseSDK中的程式碼,複製到自己網站<Body>標記的最下方處即可,也可參考下列網址設定:
https://firebase.google.com/docs/web/setup?authuser=0
https://firebase.google.com/docs/reference/js/?authuser=0
https://firebase.google.com/docs/samples/?authuser=0
最後按下ㄧ步安裝FirebaseCLI,即可自動部署至Firebase代管。
完成後會回到主控台於下列網址:https://console.firebase.google.com/
 
 
 
專案設定:
點選左上角專案總覽的專案設定
 
 
 
 
找到Firebase SDK snippet >> CDN
 
 
 
 
複製程式碼到我們網頁全域的地方
 
 
 
 
接下來只要在有需要收集數據的每一張網頁都引入
 
 
只要在你有需要的網頁中引入後此頁程式碼後,就可以到後台中查看瀏覽的數據了。
 
 
 
設定按鈕事件:
在Firebase中也可以設定按鈕事件,到後台點選Events>在現有的事件中增加事件
 
 
 
 
 
接下來到程式碼中,找到按鈕元件後加入點擊事件,例如先建立一個下載按鈕。
<button id = "btn-download">下載</button>
 
再來幫這個下載按鈕添加事件,只要加上下列這行程式碼即可
firebase.analytics().logEvent('nnnnhihi');
 
 
完整程式碼如下:
<button id = "btn-download">下載</button>
<script>
var btnDownload = document.getElementById('btn-download');
btnDownload.addEventListener('click', function() {
  alert("hi");
  firebase.analytics().logEvent('nnnnhihi');
 }, false);
</script>
 
 
 
程式碼加入參考示意圖:
 
 
 
 
新增轉化事件:
程式碼設定完成後,再回到主控台 >> Conversions,新增轉化事件,事件名稱為剛剛放在logEvent('')中的字串’nnnnhihi’按下保存及完成設定。
 
 
 
 
回到到主控台(Dashboard)即可看到所有目前事件的數據已經開始跑了。
 
 
 
 
事件加上參數:
如果想要更進階的設定一些事件例如幫你的按鈕再加上一些參數,例如產品名稱標題,價錢等等…可以再回到轉化(conversions)設定
 
 
 
 
在程式碼中將按鈕事件寫入firebase.analytics().logEvent()並帶入參數。
程式碼解析:
參數類型的值可以是一個字串,例如按鈕內容名稱可以以事件來命名
 
firebase.analytics().logEvent(‘我要購買ABC’) ;
 
也可以有key 跟 value,例如按鈕內容的類型跟id
firebase.analytics().logEvent(
{
                content_type:'event_buy',
                content_id:'myid_a001',
})
 
 
如果資料很多,參數也可以帶入陣列類型,例如
firebase.analytics().logEvent(
items:[{
                goodname:'購買abc',
                price:123,
}]
)
 
 
參數帶入時也可混合所有類型的值非常彈性方便,例如
firebase.analytics().logEvent(
'我要購買ABC',{
                content_type:'event_buy',
                content_id:'myid_a001',
                items:[{
                        goodname:'購買abc',
                        price:123,
}]
 
 
了解了以上參數帶入方法後,最後整合至程式碼中。
程式碼如下:
<button id = "eventlog">我要購買ABC</button>
<script>
var eventlog=document.getElementById('eventlog');
eventlog.addEventListener('click',function(){
        alert("紀錄事件:我要購買ABC");
        firebase.analytics().logEvent('我要購買ABC',{
                content_type:'event_buy',
                content_id:'myid_a001',
                items:[{
                        goodname:'購買abc',
                        price:123,
                }]
               
        });
},false);
 
</script>
 
 
 
 
同時在Analytics(分析) 同步更新
 
 
 
 
結論:
假設你只有一個專案的話你可以使用Google Analytics,但如果我們同時有很多網站或很多專案就可以直接導入GoogleFirebase(可以把多個專案Google Analytics導入進去)一起使用GoogleFirebase來統一管理分析數據。
(繼續閱讀...)
文章標籤

聯成電腦 發表在 痞客邦 留言(0) 人氣(3)

  • 個人分類:講師技術文
▲top
  • 3月 24 週四 202210:00
  • 聯成電腦分享:你的網站GA了嗎?Google Analytics網站分析教學

article_main_img

Photo credit:Pexels
 
 
 
文、意如老師
 
 
Google Analytics (Google分析) 簡稱GA,顧名思義就是Google的數據分析工具,我們可以把自己正在經營的網站導入GA,藉由GA來幫我們蒐集一些有用的資訊並把它記錄下來。
 
例如:使用者都是使用什麼平台來上網(手機?電腦?)、進入網站的目標對象(年齡層?性別?來自地區?)、觀察使用者進入網站後的行為(網頁瀏覽次數,按鈕點擊次數,廣告點擊次數)等等,藉著GA來幫我們蒐集了這些使用者的大量資訊與數據後再來做有效的分析,也提高未來網站改善的依據及創造更大的利益。
 
 
 
將你的網站導入GA開始實作:
步驟1、首先到下列網址點選免費設定按鈕https://analytics.google.com/analytics/web/provision/#/provision
 
 
 
 
步驟2、建立帳戶,填入帳戶名稱後,再設定一下帳戶資料共用設定後按下一步。
 
 
 
 
步驟3、選擇你想要評估的是網站還是手機IOS或Android應用,選完後按下一步,在此範例中選擇的是網站。
 
 
 
 
步驟4、輸入網站名稱及網址後點選建立按鈕。
 
 
 
 
步驟5、看完Google列出的條款勾選後,按下我同意按鈕。
 
 
 
 
完成建置了,接下來就可以看到GA的後台,並且手把手的教你怎麼埋入GA追蹤的程式碼。
 
 
 
 
埋入GA追蹤碼設定:
首先點選左下角管理
 
 
 
 
接著在資源中點選追蹤程式碼
 
 
 
 
此時將會看到全域網站代碼(gtag.js),請全選本段程式碼後複製程式碼
 
 
 
 
接下來只要把剛剛複製的程式碼貼到想追蹤的網頁中,例如我有一張Test.php的網頁,直接把剛剛複製的程式碼貼到Test.php的最下方,即完成埋入GA的工程。
Test.php
<?php
        echo "yiru_test";
?>
 
<!-- Global site tag (gtag.js) - Google Analytics -->
 
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-174020974-1"></script>
 
<script>
 
  window.dataLayer = window.dataLayer || [];
 
  function gtag(){dataLayer.push(arguments);}
 
  gtag('js', new Date());
 
 
 
  gtag('config', 'UA-174020974-1');
 
</script>
 
 
 
程式碼截圖如下:
 
 
 
 
埋入GA程式碼完成後,就可以回到GA後台中的首頁,即可看到GA已經在幫你的網站分析了,開啟剛剛的Test.php後,也可以看到後台的數據變化,當下活耀的使用者變成了1。
 
 
 
 
往後如果想要更新網址,只要點選在右下角的管理按鈕。
 
 
 
 
在點選資源中的資源設定。
 
 
 
 
即可修改資源名稱及預設網址了。
 
 
 
 
我們也可以針對一些按鈕來做分析,比如按鈕的點擊數,只要將按鈕加上事件即可。
 
程式碼如下:
<script>
#有一顆下載的按鈕id為” btn-download”
var btnDownload = document.getElementById('btn-download');
#點選這顆按鈕的作用是先跳出警告視窗(hi)
btnDownload.addEventListener('click', function() {
  alert("hi");
#GA程式碼埋入
  gtag('event', 'yr_addclick', {
   'event_category': 'y_add按鈕',
   'event_label': 'y新增按鈕'
  });
}, false);
</script>
 
 
 
埋入完成後只要到後台新增行為>>目標在這邊設定一模一樣的參數即完成設定。
 
 
 
而另一種寫法是使用全域程式碼:
複製本段程式碼到全域(每個地方都讀的到的共用區)
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-174465073-1"></script>
 
<script>
 
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
 
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
 
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
 
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
 
ga('create', 'UA-174567513-1', 'auto');
 
ga('send', 'pageview');
 
</script>
 
 
接下來只要到你想加入事件的地方,埋入以下GA程式即可完成。
例如:點擊頭像後跳轉到會員資訊首頁的事件,埋入GA程式碼
ga('send', 'event', '點擊頭像', '跳轉', '會員資訊首頁');
最後記得到GA控制後台  行為>>目標 設定一模一樣的參數即完成以上設定。
 
 
 
設定完成後即可回到後台首頁中觀看分析數據,只要埋入越多的GA事件,你的後台的分析數據就會越豐富。
 
目前我們使用GA是只針對一個網站來做分析,但是如果我們有很多網站很多專案是否可以導入一起分析呢?
(繼續閱讀...)
文章標籤

聯成電腦 發表在 痞客邦 留言(0) 人氣(3)

  • 個人分類:講師技術文
▲top
  • 3月 08 週二 202210:00
  • 聯成電腦分享:工程師不告訴你的秘密!抓取股票資料只要「這樣」做!

article_main_img

Photo credit:Pexels
 
 
文、意如老師
 
 
首先準備好待查詢的股票代碼,此範例以長榮海運股票為例,代碼為2603,接下來到google直接搜尋2603,就可以找到長榮海運股票的資訊,也就是我們這次爬蟲要抓的資訊。
 
 
 
 
首先確認目標:
確認一下網址,目標網址為:https://www.google.com/search?q= "個股"代號
長榮代號為:2603
 
 
因此目標位置為 https://www.google.com/search?q=2603
 
 
 
準備開始寫程式,程式碼如下:
#先匯入爬蟲基本套件requests
import requests
#匯入爬蟲解析套件requests
from bs4 import BeautifulSoup
#目標網址後方加上個股資訊. ex長榮: TPE:2603
targetURL = 'https://www.google.com/search?q='
 
 
 
接下來我們需要先把整張網頁HTML全部都抓回來的功能
方法名稱:get_stock_page
帶入參數1-url:要抓取的目標網址
帶入參數2-stock_id:要抓取的股票代號
 
 
 
程式參考如下:
def get_stock_page(url, stock_id):
        #此段參考下方headers補充說明
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
             'AppleWebKit/537.36 (KHTML, like Gecko) '
             'Chrome/66.0.3359.181 Safari/537.36'}
    resp = requests.get(url + stock_id, headers=headers)
 
        #如果抓取失敗,印出失敗的網址
    if resp.status_code != 200:
        print('Invalid url:', resp.url)
        return None
        #如果抓取成功,返回抓回的html碼
    else:
        return resp.text
 
 
 
#主程式從這裡開始
if __name__ == '__main__':
#呼叫get_stock_page並傳入目標位置及股票代碼
    page = get_stock_page(targetURL, '2603')
    #印出結果
    print(page)
 
 
 
先執行看看,目前已經成功把整張網頁的HTML抓回來了。
 
 
 
 
程式碼中的headers補充說明:
有時在爬一些網站的時候會一直連不上,因為有的網站是不允許被爬蟲的,所以我們可以設定User-Agent假裝自己是瀏覽器,因為User-Agent會告訴網站它是透過什麼工具。
一般的網站可以分析出瀏覽器名稱、瀏覽器版本號、渲染引擎、操作系統、發送請求,因此我們可以寫下面這一段來假裝自己是用瀏覽器開啟的。
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                             'AppleWebKit/537.36 (KHTML, like Gecko) '
                             'Chrome/66.0.3359.181 Safari/537.36'}
#在請求抓取網頁時記得帶入headers參數
resp = requests.get(url + stock_id, headers=headers)
 
 
 
如果想更進階了解自己的User-Agent,你也可以自己試著開啟網站看看,
按下F12 >>Network->隨便點選一頁>>就可以知道自己的User-Agent
 
 



字串




說明






Mozilla/5.0




Mozilla/5.0 是一個通用標記符號,用來表示與 Mozilla 相容,這幾乎是現代瀏覽器的標配。[4]






(iPad; U; CPU OS 3_2_1 like Mac OS X; en-us)




瀏覽器所執行的系統的詳細資訊






AppleWebKit/531.21.10




瀏覽器所使用的平台






(KHTML, like Gecko)




瀏覽器平台的細節






Mobile/7B405




被瀏覽器用於指示特定的直接由瀏覽器提供或者通過第三方提供的可用的增強功能。這方面的一個實例是Microsoft Live Meeting,它註冊了一個擴充以使Live Meeting服務知道該軟體是否已經安裝上,這意味著它可以為加入會議提供一個簡化的體驗。





 
 
 
接下來我們繼續往下抓更細的股票資料(如下圖紅框的資料)
 
 
 
 
 
先找到原始碼html標籤中股票資訊放在哪?
網頁中>>按下鍵盤F12
1. 點選網頁元素按鈕
2. 點選要找的網頁元素
3. 找到我們的資料在哪裡:第4個 g-card-section 中
4. 找到Table是分別存放股票資訊
 
 
 
 
程式碼:
#先使用for迴圈把所有<Table>資料通通抓出來
for table in sections[3].find_all('table'):
        #再把每一行<tr>的資料讀出
   for tr in table.find_all('tr')[:3]:  #[:3]  取得3個字
   
key = tr.find_all('td')[0].text.lower().strip() 
#lower()轉小寫
#strip()去除頭尾空格
#key值為抓到的中文字(如下圖)
 
 
 
 
    value = tr.find_all('td')[1].text.strip()
        #value值為抓到的數據(如下圖)
 
 
 
 
    stock[key] = value #將抓到的key跟value值存進我們自己所建立的陣列
    return stock #返回抓到的股票資訊
 
#程式從這裡開始跑
if __name__ == '__main__':
    page = get_stock_page(targetURL, '2603')
   
    #當有資料時
    if page:
        stock = get_stock_info(page)
        for k, v in stock.items():
                        #印出抓回來的key跟value資料
            print(k, v)   
 
 
 
這樣就完成了,最後參考完整程式碼如下:
 
#目標: https://www.google.com/search?q=
#2603
    
#匯入爬蟲基本套件requests
import requests
#匯入爬蟲解析套件requests
from bs4 import BeautifulSoup
#目標網址後方加上個股資訊. ex長榮:2603
targetURL = 'https://www.google.com/search?q='
 
def get_stock_page(url, stock_id):
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                             'AppleWebKit/537.36 (KHTML, like Gecko) '
                             'Chrome/66.0.3359.181 Safari/537.36'}
    resp = requests.get(url + stock_id, headers=headers)
    if resp.status_code != 200:
        print('Invalid url:', resp.url)
        return None
    else:
        return resp.text
 
def get_stock_info(webtxt):
    soup = BeautifulSoup(webtxt, 'html.parser')
    stock = dict()
   
  
   
    sections = soup.find_all('g-card-section')
 
    # 第4個 g-card-section, 有左右兩個 table 分別存放股票資訊
    for table in sections[3].find_all('table'):
        for tr in table.find_all('tr')[:3]:  #[:3]  取得3個字
            key = tr.find_all('td')[0].text.lower().strip() 
#lower()轉小寫。 strip()去除頭尾空
            value = tr.find_all('td')[1].text.strip()
            stock[key] = value
 
    return stock
 
if __name__ == '__main__':
    page = get_stock_page(targetURL, '2603')
    
  
    if page:
        stock = get_stock_info(page)
        for k, v in stock.items():
            print(k, v)   
 
 
 
完成畫面如下:
 
 
 
 
抓取的網頁如下:
 
 
 
(繼續閱讀...)
文章標籤

聯成電腦 發表在 痞客邦 留言(0) 人氣(2)

  • 個人分類:講師技術文
▲top
  • 2月 24 週四 202210:00
  • 聯成電腦分享:工程師一定要知道的數據型態資料

article_main_img

文、意如老師
 
 
 

什麼是資料?資訊?


什麼是結構化資料?半結構化資料?非結構化資料?


這些資料的優缺點分別是?


為什麼工程師一定要知道?


 
 
 
"要了解什麼是結構化之前,我們首先需要認識什麼是資料?資訊?"
 
 
 
什麼是資料?
 
資料可以是文字、圖片、數字、影片、音樂、檔案等,資料是蒐集而來的,也是未經過整理的。
例如:我們常常會到圖書館蒐集需要的資料。
 
 
 
什麼是資訊?
 
將蒐集的資料經過整理後,使其可較好閱讀並且有意義的資訊(資料)。
例如:我們需要將到圖書館蒐集回來的一堆未整理的資料整理成對我們有意義的資訊。
 
 
 
什麼是結構化資料?
 
將蒐集而來未整理過的資料,變成乾淨整齊有意義好閱讀的資訊也就叫做結構化資料。
 
 
 
如何將未整理過的資料結構化成資料的三大步驟:
 
1. 簡單的先畫個表格,並給予欄位
2. 值=寫入資料
3. 寫入的地方可以是一張紙或資料庫或Excel
如下表為結構化後的資料
 
 
 
 
結構化:先建結構才有資料,步驟如下:
 
1. 資料蒐集
2. 整理
3. 結構化資料
4. 資訊
5. 管理
 
 
 
 
結構化資料有什麼優缺點?
 
優點:好閱讀資料查詢快速、存儲空間少。
缺點:資料交換上較不易。
 
 
 
以工程師的角度,因為常常要做資料交換,如要處理結構化的資訊就需要將表格或儲存格內的文字再轉成程式陣列資料才可以任意使用資料,多了一道工作,所以盡可能建議不使用結構化好的資料來做資料交換。但以使用者的角度,只能接受有整理過的結構化資料。
所以一般工程師日常就是把未整理過的資料,整理成結構化的資料,讓使用者更好閱讀及管理。
 
 
 
什麼是半結構化資訊?
 
有資料,但還沒整理成好閱讀的格式。
例如: Json檔、csv檔 、xml檔都是屬於半結構性的資料。
半結構性的資料例如:JSON檔,參考如下圖:
 
 
 
 
半結構性的資料例如:XML檔如下圖:
 
 
 
 
我們可以將類似以上的檔案(半結構性資料),將它整理成結構化資料,如下圖變成可較好閱讀的表格式資料(結構性資料)
 
 
 
 
半結構化成結構化五大步驟如下:
 
1. 資料蒐集
2. 整理
3. 半結構資料
4. 結構化資料
5. 管理
 
 
 
 
資料搜尋後先整理成半結構資料後再建立整理成結構化資料,因為工程師常常會碰到資料交換的需求,所以整理成半結構資料通常是工程師的工作內容之一。
 
另外工程師也常常會需要將這些半結構性的資料整理成結構性的資料讓使用者更好閱讀。
 
 
 
半結構化資料優缺點?
 
優點:資料交換方便、新增資料欄位快速
缺點:無法像結構化表格易閱讀
 
所以就工程師的角度,最愛使用的是JSON格式(半結構式的資料)來做交換資料,因為不論是新增欄位或修改欄位都非常的方便,但是以一般使用者的角度看半結構性的資料是非常不易閱讀的。
 
所以我們在準備資料的時候,要考慮誰來使用這些資料,給一般使用者看的就是給結構化資料,如要給工程師的資料就給半結構性資料。
 
 
 
什麼是非結構化資料?
 
完完全全沒整理過的資料,例如:文字、音訊、網頁等等…
▶ 資料最原始的本質
▶ 這種資料最終還是需經過一番整理才能夠變成結構化資料
例如:網站上隨意蒐集來的資料欄位
 
 
 
 
將其變成結構化成資料(看得懂並有意義的資訊)
 
 
 
 
最後總結:
 
(一)整體的步驟如下
1. 資料蒐集
2. 整理
3. 資訊
4. 結構化資料
5. 最後才能用這些資料來管理
 
 
 
 
(二)非結構化資料、半結構化資料、結構化資料
 
1. 非結構化資料(未整理過的資料)
2. 半結構化資料(半整理過的資料,資料交換中最常見)
3. 結構化資料(已整理過的)
 
 
 
 
(三) 資料分析與管理
綜合以上為什麼工程師為什麼一定要知道這些數據型態?
因為工程師的日常工作最常就是處理這三種結構的資料,所以想當工程師的您務必先熟悉處理這三種結構化的資料。
(繼續閱讀...)
文章標籤

聯成電腦 發表在 痞客邦 留言(0) 人氣(20)

  • 個人分類:講師技術文
▲top
  • 1月 25 週二 202210:00
  • 聯成電腦分享:網路爬蟲要學什麼程式語言?從哪開始練基礎功?

article_main_img

圖片來源:Pexels
 
 
 
文、意如老師
 
 
 
網路爬蟲要學什麼程式語言呢? PHP?JAVA?Python?還是其他程式語言?
這是目前聽到最多人問的問題了,所以今天就來探討一下這個主題吧!
 
快速介紹一下網路爬蟲,簡單的說網路爬蟲其實就是去網路上抓取網頁上的任何資料,蒐集資料。更詳細說明請參考上一篇文章:聯成電腦分享:什麼是網路爬蟲?為什麼每一個工程師都要會?
 
 
 
圖片來源:Pixabay
 
 
 
那抓取網頁上的資料(爬蟲)要做什麼?
 
把網路上的資料抓回來後再經過我們整理成為有用的資訊,存在我們自己的資料庫,就可以任意使用了。
 
 
圖片來源:Pixabay
 
 
 
那爬蟲需要會什麼程式語言呢?
 
其實呢學什麼程式語言並不重要,因為每一種語言幾乎都可以做到任何你想要的功能,對工程師來說程式語言只是一個工具,差別只是在使用起來方不方便,執行的快不快速跟好不好維護。
 
以程式語言像是php、java、python、node.js等選擇任一個語言都能做到爬蟲(因為現在的套件)非常多,這邊的套件指的是人家做好的功能,我們只要把套件引入我們的專案內,再傳入幾個參數就可以使用了。因此你可以使用你熟悉的語言玩玩爬蟲。
 
 
圖片來源:Pixabay
 
 
 
但如果要以快速上手的語言,這邊就比較推薦python或 node.js 這兩種語言都只需要幾行程式碼跟幾個簡單的語法就可以把資料爬回來了。
 
 
 
網路爬蟲要從哪裡開始學?先練基礎功
 
網路爬蟲主要是抓網頁上面的資料,所以當然一定是從最基礎網頁語法HTML開始學起,例如我們要抓取網頁的標題,這時候在下語法時就要去抓名為<title> </title>標籤內的文字。
 
 
圖片來源:Pixabay
 
 
 
為了我們爬蟲可以更順利抓到更多想要的資料,除了標籤HTML外,基本的css和javascript也需要略懂略懂。
例如我們要抓的資訊也有可能是包在css樣式中的文字,像是<span class="first_word">門市資訊</span>等等…
 
所以想要爬蟲第一步建議先把網頁語法學好,等基礎功都練熟站穩腳步後再用你習慣的語言(python或java或php或node.js)等其他程式語言把網頁中的資料爬回來。
 
 
圖片來源:Pixabay
 
 
 
最後把資料抓回來後集中整理,通通存入我們自己的資料庫中,結構化成我們可較好閱讀的資訊。
(繼續閱讀...)
文章標籤

聯成電腦 發表在 痞客邦 留言(0) 人氣(7)

  • 個人分類:講師技術文
▲top
  • 12月 02 週四 202110:00
  • 聯成電腦分享:軟體工程師都怎麼準備面試中的筆試呢

article_main_img

Photo credit:Pixabay
 
 
 
文、意如老師
 
 
 
軟體工程師在面試時,往往第一關都是要先筆試,就算實力堅強的求職者,也有可能在這一關就被淘汰。原因如下:
 
圖一
 
 
 
1. 全英文題型(光理解題目就要花上很多時間)例:圖一
2. 在時間的壓力下很難快速解題
3. 使用不熟悉的線上編輯器寫程式
 
所以基於這三個原因,很多求職者紛紛卡在筆試這關實在很可惜,那有什麼方法可以有系統的準備考試呢?
 
 
 
我使用的方法是勤能補拙靠刷題的方式(反覆練習所有題型),所以今天要跟大家分享的是LeetCode , 這個網站主要蒐集了國內、國外所有大大小小企業的面試題目,不論您想找什麼類型的題目應有盡有。
 
例如您可挑選的題型有下列:
 
1. 簡單、中等、困難,由淺入深的做題目。
 
 
 
 
2. 陣列、堆疊、遞歸、演算法、二元樹等分類題型。
 
 
 
 
3. 人工智慧、機器學習、雲端服務、以及資料科學等用相關職位來找題目。
 
 
 
 
4. 知名企業的考古題,例如: AWS、APPLE、Adobe、FaceBook、Google、微軟等知名企業。
 
 
 
 
5. 當月挑戰題,也可以每周參加程式設計比賽,增強自己的實戰能力。
 
 
 
 
6. 最常考的面試熱門題型。
 
 
 
 
這個網站除了目前已經蒐集了2000多題的考古題外,使用它的線上考試的編輯器還支援了不少常見的程式語言,您可以選用您最慣用的語言來練習考試,也可以嘗試用多種語言來解題。例如:JAVA、PHP、C++、JavaScript、Ruby、Python、GO、TypeScript等語言。
 
 
 
 
怎麼使用LeetCode?
 
 
 
首先到LeetCode網站辦一個帳號,其實用Google帳號登入直接登入就可以了。
https://leetcode.com/accounts/login/?next=/explore/interview/card/top-interview-questions-easy/92/array/
 
 
註冊帳號的優點如下:
 
1. 它的線上編輯器,可以紀錄您的所有作答,就算臨時想離開座位休息一下或者把網頁關掉,下次登入時還能保留您上次編寫的程式碼。
 
2. 可以記錄下您所有解答過的題型,您也可以把它當作玩遊戲一樣,一關一關的闖,把所有的題型都刷過一遍。
 
3. 可以分析您之前做過的題目、分數,可以藉由此紀錄來自我判斷是否有無進步。
 
4. 想要進一步的挑戰自己,也可以參加每週程式比賽。
 
5. 解法不只一種,也可參考各大工程師的解決方法,提升自己的解題能力,而您也可以分享您的解法上傳至此網站分享給大家。
 
 
 
目前業界已經越來越多公司都有準備工程師的筆試題目,而筆試的題目有很多都是參考LeetCode上的題目,因為企業可以在LeetCode上挑題目,並快速建置一個給求職者的線上考試環境(支持各程式語言的編輯器),對企業來說是一個很實用的建置考試環境的平台,再將設定好的試卷連結發給求職者,求職者點選進去就可以馬上計時考試,甚至作答完後還可以系統自動改考卷,對於企業來說可說是相當方便。
 
LeetCode 這個網站除了可以幫助我們更有系統的準備筆試,平時也可以當作練練基本功以及挑戰自我並可以訓練自己用各式不同的程式語言來解題,增強自己的程式功力。
(繼續閱讀...)
文章標籤

聯成電腦 發表在 痞客邦 留言(0) 人氣(11)

  • 個人分類:講師技術文
▲top
  • 8月 17 週二 202111:00
  • 聯成電腦分享:基礎工程師面試時,常用的技術問與答(三上)

article_main_img

文、意如老師
 
 
 
續上一篇 — 基礎工程師面試時,常用的技術問與答(二)
 
 
 
本篇要跟大家分享的是工程師面試筆試中最常出現的題型程式應用篇,這個方向類的主題會落在工作上較偏向觀念理論實作及實際應用
 
 
 

👉 推薦課程:Python VS Java 學哪個好?


 
 
 
Q1、什麼是GET跟 POST?
 
這題是基礎工程師的必考題,所以務必徹底理解這兩種HTTP 協議的請求方式,這裡我們分成3小題
1. 如何送參數?
2. 傳遞時該如何選擇GET或POST?
3. 安全性如何?
 
 
 
Photo credit:Pixabay
 
 
 
⭐ 1. 如何使用GET與POST傳送參數?
使用GET方法送只要在網址(URL)後面代入參數即可。
例如: 網址後面加上問號(?),參數1=值1 ,再使用連結符號 (&) ,再帶入參數2=值2,如 xxxxx.com.tw?name=’1’ & age=’18’
 
 
而POST方法是需要把參數放在HTTP 協議裡BODY中。
 
 
⭐ 2. 傳遞時該如何選擇GET或POST?
因為GET 是在URL中傳送資料(參數),屬於明碼大家都看的到,類似較隱蔽的資料例如:帳號、密碼這類的資料就不能使用GET方式來送,另外一點URL 的最大長度是 2048 個字符,所以當您的資料超過2048個字時也不能使用網址(GET)來傳送,所以很好判斷您該選擇GET方式傳送或POST方式傳送。
 
 
⭐ 3. GET與POST安全性如何?
以大部分的文章、或使用者經驗,大多會認為POST 傳輸方式會比GET傳輸方式來的安全,因為POST 傳輸的參數一般是不可見的。
 
 
 
" 但傳輸就真的安全嗎? "
 
 
其實並不,如真有心想要抓取你POST傳輸的封包在解碼,也是可以獲取你所送出的資料,那要怎麼做到完全安全性?
以目前的技術來說HTTPS是可以最安全的傳輸數據資料,使用HTTP 傳輸基本上都要考慮到資安的問題,所以看到這裡你可以開啟瀏覽器看看您的網址列,目前的網站是使用HTTP 還是 HTTPS 開頭的,你就可以知道這個網站在送資料時安不安全了。
 
 
 
Photo credit:Pixabay
 
 
 
Q2、什麼是MVC架構
 
簡單來說:資料(Model)、畫面(View)和邏輯(Controller),傳統程式寫法都是一頁到底,也就是抓資料、呈現畫面、程式邏輯通通寫在同一頁同一個檔案中,雖然程式一樣是在執行,但是我們想想長遠一下,你的程式會需要維護,也有可能是別的工程師在維護,當程式不幸遇到問題時,如維護時看到全都絞再一起的程式碼,這時候選擇重寫或許還比較快。
 
所以後期在寫程式時,不論是JAVA、PHP、PYTHON等等程式語言已經開始發展MVC架構,也就是將所有的地方全部拆開來。
 
MVC中的M = 在MODEL 區域中,只允許到資料庫裡面取資料。
MVC中的C = 在Controller區域中,只允許處理程式邏輯,例如抓取M 傳回來的資料看要怎麼處理都是C 這邊搞定。
MVC 中的V = 在View 區域中,負責的是畫面的呈現。
 
 
所以程式一開始會寫在 C,C會到 M 取資料,M取完資料丟回 C 處理,C處理完後丟到V顯示資訊。
 
 
以上就是基礎MVC的架構,每一種語言已經都有MVC架構只不過語法稍微略有不同,但原理都一樣,所以這也是基礎工程師必問的考題之一。
(繼續閱讀...)
文章標籤

聯成電腦 發表在 痞客邦 留言(0) 人氣(6)

  • 個人分類:講師技術文
▲top
  • 5月 21 週三 201409:15
  • 聯成電腦昭自老師專欄-NGUI介紹(三)Widget及Anchor

20140515pic0000
文.圖:林昭自
 本文轉載自聯成電腦技術論壇,歡迎點選此連結,前往駐站專欄與講師互動。 

(繼續閱讀...)
文章標籤

聯成電腦 發表在 痞客邦 留言(0) 人氣(1,084)

  • 個人分類:講師技術文
▲top
  • 1月 10 週四 201311:25
  • 聯成電腦講師專欄:linux 下使用 Exfat 檔案系統格式的儲存裝置

文、講師 小州老師
2013-1-3 上午 11-43-16  

《前言》
(繼續閱讀...)
文章標籤

聯成電腦 發表在 痞客邦 留言(0) 人氣(9,815)

  • 個人分類:講師技術文
▲top
«123...5»

.

最新文章

  • 聯成電腦快訊:學設計找聯成!全台灣首家Adobe授權培訓中心唯一授權超過27年培訓實績
  • 【Photoshop教學】魔法火焰光效果
  • 奇異博士2:失控多重宇宙Drawing
  • 【Photoshop教學】用神經濾鏡組合2張照片並協調色調
  • 【WordPress教學】網站SEO如何做好?Yoast外掛介紹
  • 【Excel教學】實作抽籤機
  • 是誰住在深海的大珊瑚裡?章魚哥
  • 好想成為VTuber!Live 2D角色前置作業
  • JavaScript的型別在TypeScript中認識物件型別
  • 網友激推!美味夜市小吃烤魷魚畫作

_