Weekly Report #3

如何使用JavaScript製作出一個簡單的計算功能 |導入JIRA前需要注意哪些事|DJ在接歌時會經過哪些關卡

Alex Chang
微思維 A Little Thought
Sep 25, 2021

--

Weekly Report is a project that I share my discovering and learning that week.

1.如何使用JavaScript製作出一個簡單的計算功能

最近在練習JavaScript中的「事件監聽」,簡單地用HTML結合JavaScript製作出一個簡單的計算功能,成果如下:

從畫面中我們可以看出幾個元素:「使用者輸入框」、「計算按鈕」,以及「計算的結果」,我們在Console.log用檢查原始碼的方式,可以看出這個頁面的撰寫方式:

從上方的程式碼第15行是在撰寫「使用者輸入框」,而每一個輸入框都賦予他一個id,讓他在頁面上的存在是唯一的,例如:id=”hamNumId”,程式碼第16行則是在撰寫將使用者輸入的內容送出後,計算總價讓使用者知道,因此該部分先留白,之後透過JavaScript來做運算。

確認好HTML頁面上的元素後,我們可以該開始撰寫JavaScript來進行邏輯運算。

首先我們必須取得使用者在頁面上輸入的內容,由於先前已經有使用id將頁面上每個元素作唯一值的識別,這時就可以透過document.getElementById這個語法去逐一取得HTML頁面上的元素。(程式碼36~39行)

當我們取得HTML頁面上的元素後,可以開始使用撰寫運算邏輯。程式碼第44~45行為新增商品的價格,程式碼第46~47行取得「使用者於輸入框輸入的值」,第48行則是新增一個total變數,來儲存運算的結果。

最後我們要將計算的結果呈現在HTML頁面上,可以看到程式碼第50使用了textContent的語法,將變數值以文字的方式,推到HTML頁面,都確認好每個運算環節後,我們可以把他們用function打包起來,並命名為countTotal,方便取用呼叫。

但要在什麼時機點才要把計算的結果推到頁面上呢?,這時我們就會需要使用到JavaScript的「事件監聽」。

在程式碼第54行,就是使用了addEventListner這個語法去監聽「Click 點擊事件」,而要點擊HTML上哪個元素,先前已經透過id的方式以document.getElementById去識別(countId, 程式碼第36行)。

因此我們就可以將這個元素去綁定一個監聽事件,監聽事件的類別為用戶點擊,觸發點擊後去呼叫countTotal,讓他去計算用戶輸入資料,並把計算結果推到HTML頁面上。

總結來說,若要在網頁上監聽各類用戶行為時,首先需要針對在HTML上各個元素給定識別碼,用id或class的方式都可以(id的好處是可以在頁面上做絕對定位,之後會再說明),然後再透過「事件監聽」的方式去偵測用戶的行為將結果顯示在頁面上。

2.導入JIRA前需要注意哪些事

Jira Software算是目前市場上主要在管理敏捷專案時會使用到的軟體,然而企業在導入Jira Software(以下簡稱JIRA),第一步會遇到該要挑選哪個JIRA服務版本比較合適的問題。

主因在於JIRA為ATLASSIAN旗下的一款產品,有鑑於ATLASSIAN旗下的JIRA未來會朝雲端的方式來持供用戶服務,因此根據團隊與組織的現況,挑選到一個合適的JIRA服務版本是成功導入於JIRA的第一步。

從ATLASSIAN官網上我們可以看出,JIRA主要是根據「團隊組織人數」、「環境部屬方式」與「訂閱產品之User License」三個方式來和你收取費用。

ATLASSIAN JIRA收費方式

團隊組織人數

首先ATLASSIAN Admin必須要考慮組織的人數,來思考所要購買的ATLASSIAN環境版本,ATLASSIAN環境版本共分為Free、Standard、Premium、Enterprise四種,ATLASSIAN官網上有列舉出根據自身的組織規模,來思考要採用哪一種版本比較合適,例如若目前組織正處於的階段,一個團隊大概只有20–30人時,使用ATLASSIAN Standard版本就足夠了,若目前組織正處於快速擴張的階段,建議可以使用Premium版本,若ATLASSIAN Admin本身所處的環境是屬於超過3,000人以上的大型組織,則建議採用Enterprise版本。

這邊的組織可以為一個單一事業群,也可以為一個大型企業中的某一個部門團隊,不一定是代表企業本身。

ATLASSIAN環境部屬方式

ATLASSIAN有提供兩種的環境部屬方式,分別為Cloud部屬與Data Center部屬,Cloud部屬則是將企業的ATLASSIAN帳號環境所在的伺服器主機,委託由ATLASSIAN託管維運,而Data Center部屬則是將企業的ATLASSIAN帳號環境放置在企業的伺服器主機上面進行維運,但須注意若ATLASSIAN Admin決定採用Data Center部屬的方式時,需要考量環境租用成本與使用者人數,不同級距的使用者人數,會影響每月的租用花費。

ATLASSIAN旗下所訂閱產品之User License

ATLASSIAN Admin確認帳號版本環境後,還需要確認團隊所要訂閱的產品,ATLASSIAN旗下有許多產品,如Jira Software(簡稱JIRA)、Confluence、Jira Work Management等,這些產品會因為User License的數量而進行收費,如JIRA免費版本,至多只提供10張User License,換言之就是只能容納10位User,若超過該User數量,會被收取額外的User License費用。

3.DJ在接歌時會經過哪些關卡

上次有和大家分享了我覺得在學習DJ最重要的第一步是:「如何數拍」,今天繼續和大家分享我在學習DJ時遇到的關卡。

當音樂從音響放出來時,能夠很掌握歌曲的拍子時,就會到丟拍的關卡,丟拍其實就是當A歌曲正在播放時,你準備要把下一首B歌曲丟出來的過程,例如A歌曲正準備要進入Drop(副歌)的段落時,你可以在這個時機把B歌曲丟出來,讓他們兩首歌的鼓點都打在正拍上,這時就是一個完美的丟拍動作。

然而人畢竟不是機器人,不可能每次當我們把B歌曲丟出去時,B歌曲的鼓點都能夠精準的讓與A歌曲疊在一起(圖一),一定多少會發生有跑拍的情形,(圖二)

圖一:完美丟拍,沒有跑拍
圖一:丟拍時有點慢,造成B歌曲跟不上A歌曲,有點跑拍

當丟拍後發現有跑拍的情形,這時我們就會需要做追拍的動作,讓B歌曲的鼓點可以跟上A歌曲的鼓點,讓兩首歌同時保持在正拍上,也就是讓觀眾聽到「咚~咚~咚~咚」的聲音,但如果這時DJ沒有去修正B歌曲時,會發生兩首歌的鼓點互相打架的情形,這時觀眾聽到的音樂就會是:「咚咚~咚咚~咚咚~咚咚」,對於任何一位DJ都是不希望樂見的。

因此當DJ完成丟拍後,一定會先用監聽耳機去聽他丟出來的那首B歌曲,和現在在放給觀眾聽的A歌曲,有沒有發生跑拍的情形,這個動作就是監聽,監聽其實在DJ放歌時很容易可以觀察到,當有一位DJ拿起耳機放在耳朵旁邊聽來聽去,這時他正在聽下一首歌曲,完成監聽的動作。

監聽能夠幫助DJ確認當A歌曲與B歌曲作疊拍時,是否有跑拍的情況發生,如果有,就要先進行追拍的動作,確認修正好後,才能把B歌曲從控制器中推出來,讓觀眾聽到時不會有「咚咚~咚咚~咚咚~咚咚」的情況發生。

當DJ從數拍、丟拍、監聽、追拍這四關都順利通過後,最後一關就是過門,過門其實也就是把原本在放給讓觀眾聽的A歌曲,換成B歌曲的一個過程,這時也是DJ可以做一些巧思的時候,例如用EQ、效果器等來增加過門時的豐富度,而不單單僅是把A歌曲從控制器上拉掉,換成B歌曲這麼無聊,讓整個DJ表演可以更精彩。

總結來說,DJ在進行接歌時,會歷經:「數拍」、「丟拍」、「監聽」、「追拍」、「過門」,下次大家去夜店或是Party時,在享受音樂的同時,不妨觀察一下這位DJ在接歌時,他現在正在忙什麼XD

--

--

Alex Chang
微思維 A Little Thought

留著商科人的血,卻喜歡接觸科技人的新鮮事,熱愛學習各種科技新知,期望能成為一位兼具商業思維與科技氣息的混血人。歡迎來信交流:cs5252hh@gmail.com。IG:@alex_pmlifenote