PIXNET Logo登入

文科少女學程式

跳到主文

誰說文科腦沒辦法寫程式!快跟我一起用文科腦學程式吧!

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 11月 02 週一 202022:14
  • 【前端新手日記】實作My GitHub Repo頁面(github API + infinite scroll)

上禮拜意外獲得一個實作的機會,
雖然在拿到這份作業時,心中忐忑不安,
因為除了串API是自己確定自己有做過的內容外,
其他部分對我而言都是沒碰過的東西。
不過想著「當工程師就該有解決問題的能力」這點,我還是勇敢接招了XD
(其實OS是老娘就跟你拚了~~~~)

搶先看完成的畫面
GitHub連結在這裡
實作需求內容
1. 用GitHub API串接自己的repo資料到頁面上,並顯示標題、敘述、URL。
2. 用無限滾動(infinite scroll)的技術讀取repo資料。
需求解法相關資料收集
首先,我先透過收集資料去尋找可以完成需求內容的靈感。
主要就分以下兩個方向下去收集資料。
1. 看API使用相關的資料
- 了解到API串接只需要透過GitHub產出自己的token再帶入header就可以了
- 確認到自己要用哪條API下去拿我要的資料
- 用POSTMAN先模擬是否能正常取得資料,以及會取得那些資料
2. 查無限滾動相關的資料
- 了解到大概念是要偵測捲軸是否移動到整個頁面的底部,讀到底部再讀取一次資料
- 需要透過clientHeight、scrollY、scrollHeight去做計算是否已經滑到底部
實作過程(包含發生問題處及解法)
1. 查完資料後,我先設定一個vue專案,進行版面的切版。
(想讓自己多刻意練習一些過去用過的東西切版內容,所以雖然需求沒有要做RWD,
我還是加了這部分的內容)。
2. 切完版之後,我就使用Axios串接API拿自己的repo資料,並透過v-for進行渲染。

串API時出現的問題
在用POSTMAN模擬API串接時,有遇到跨網域存取被拒絕(CORS)的問題,但是這次使用的是public API,
並沒有一位負責製作API的夥伴可以協助從後端解決這個問題,所以就上網查詢如何透過前端解決這樣的狀況。
有查到可以利用cors-anywhere這個API,可透過另一個管道幫我們處理CORS的問題,在要串接的API前面,
再加上cors-anywhere API所提供的網址,最後順利拉取到資料。
image
3. 確定能夠正確的渲染到頁面後,接著實作infinite scroll的部分,這個部分的實作又拆解成以下幾個步驟。
(1) 進入頁面時,不會將所有資料一次渲染,只會渲染特定筆數的資料
=> 為了讓資料不要一次顯示,除了在Vue data中宣告透過API fetch到的所有repo的資料陣列外,
又宣告了另一個空陣列,好讓頁面上要渲染資料可以依照有無滑到頁面底部而增加。
image
=>接著讓第一次進入頁面時,currentRenderRepos就能被放入10筆資料。
(這次實作,我想讓每次載入資料時,最多都載入10筆資料)
所以在created的fetch資料動作中,除了拉取API資料外,
還必須讓前10筆資料塞入渲染用的陣列。
我的想法是利用slice去把myTotalRepos的前10筆資料取出,
並且push到渲染用陣列。
(繼續閱讀...)
文章標籤

文科少女寫程式 發表在 痞客邦 留言(0) 人氣(431)

  • 個人分類:前端新手村
▲top
  • 10月 28 週三 202020:42
  • 【前端新手日記】用CSS製作往左滑動的輪播圖

今天心血來潮(?),來研究了每次看到都很想要知道怎麼實作的輪播圖功能。
上網查了一下實作方法不外乎就是CSS、JavaScript、使用套件。
不過這次我想要先挑戰用CSS來呈現這個功能,
接下來就稍微整理一下這次實作的概念。
*最近太愛逛網拍了,所以借用網拍網站上的圖片來實作XD

實作的大方向
1. 用HTML呈現橫向擺放的多張圖片(如圖下所示)
image
2. 隱藏超過框框外的圖片
image
3. 讓多張圖片組合的一大張圖片每一個關鍵影格就移動一張圖片的寬度

需要用到的重點CSS屬性
- @keyframes:設定動畫的關鍵影格
- animation: 將動畫設置在想讓它動起來的地方
- display, overflow: 將多張圖片排成一列,並且隱藏超出框框的圖片

細部的實作內容
1. 首先我先以ul、li來呈現HTML的內容,這部分記得要用CSS把ul、li的預設樣式重置。
image
2. 再來設定外框的寬及高,我是設定成900px X 500px
3. 圖片部分則透過flex讓它們能以一列的方向排列,再到外框處透過overflow把超出範圍的圖片隱藏。
4. 透過@keyframes設定關鍵影格,以translateX控制圖片列往左移動。
image

*以一張圖片寬(900px)為基準,往上增加。
*每一次移動中間都有空出間格(ex: 20% => 25%),這個間隔式圖片轉換的時間,0%~20%則是圖片持續顯示的時間。

5. 用animation把設定好的關鍵影格套用在ul上,控制每個li的顯示。
image

缺點部分
雖然這樣可以讓圖片自動輪播,但是在最後一張跳到第一張時,
沒辦法以滑動的方式轉過去,實際呈現會閃跳一下,
這部分我還在想要怎麼解決QQ
另外也想要再研究一下用JavaScript要怎麼呈現,
呈現方式應該會更靈活。
最後附上這次實作的codepen連結
https://codepen.io/pinkymini/pen/dyXJErZ
打完收工~掰餔
(繼續閱讀...)
文章標籤

文科少女寫程式 發表在 痞客邦 留言(0) 人氣(446)

  • 個人分類:前端新手村
▲top
  • 10月 26 週一 202022:50
  • 【前端新手日記】Vue.js學習筆記(1)-開始Vue專案的第一步

image
這次想用部落格整理一下之前學Vue時,手寫的筆記。
一方面也當作是一個複習~

對Vue有興趣的人,也許也可以跟著我這次複習的腳步,
稍微認識一下Vue這個框架怎麼使用。
另外,因為內容很多,所以這次的Vue學習筆記預計會分多個篇文章進行整理 : )

什麼是Vue?
(繼續閱讀...)
文章標籤

文科少女寫程式 發表在 痞客邦 留言(1) 人氣(435)

  • 個人分類:前端新手村
▲top
  • 10月 23 週五 202012:05
  • 【LeetCode刷刷】Ugly Number(誰是醜陋數)

image
這次是找出醜陋數的題目
題目需求:
若質因數為2、3、5,則此數字為質因數,如果可以被其他數字整除,則不為醜陋數,但是1為醜陋數(回傳true或false)。
解題過程:
1. 先排除小於1的數字,因為負數和0都不為我們所說的醜陋數。
2. 接著因為1為true,所以也把1的判斷獨立寫出來。
2. 分三個區塊確認,用%分別針對2、3、5取餘數,如果不等於0就一定是false。(迴圈條件設定大於2、3、5的數字)
=>由於分三個部分,用迴圈檢查,當可以被3除,但卻不能被2除的數字出來的話,會直接顯示false,
所以這裡只需要確認是否可以被這三個數字整除就好,每一個數字的餘數確認都不用馬上回傳false,
而是用break跳出迴圈進行下一個數字的餘數檢查。
3. 如果第一次可以被整除,不代表一定可以繼續被整除下去,所以進行除2、3、5的動作,直到數字被除到變最小
4. 不管在取餘數階段就被判斷不是醜陋數而被用break強制跳出迴圈的數字,還是被除到最小後結束迴圈的數字,
都會在最後面再透過%檢查一次,結果的true&false會從這個部分判斷並傳出
程式碼內容:

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

文科少女寫程式 發表在 痞客邦 留言(0) 人氣(147)

  • 個人分類:LeetCode刷刷
▲top
  • 10月 20 週二 202013:46
  • 【LeetCode刷刷】Power of Two(判斷2的次方)

這次打算寫自己的LeetCode刷題記錄,主要是為了要留下自己的解題過程,
因為文科少女除了是文科腦以外,還是金魚腦XDD
不過由於只是自己的解題過程紀錄,所以不會是最高超的解題方式,
反而會偏向於比較容易懂的方式!
這次先來記錄一下,自己最不擅長的數學題QQ
image
題目需求:
n為任意數字,判斷n是否為2的次方(回傳true或false)。
解題過程:
1. 先排除小於1的數字,因為負數和0都不等於2的2次方。
2. 1雖然用2除不盡,但是2的0次方為1,所以如果n等於1,一定會先回傳true。
3. 接著讓我們從2開始判斷,把不是2的次方數的數字都挑出來,並回傳false。
4. 2一定是2的次方,所以在條件設定上,直接用n>2下去設定。
5. 在大於2的數字中,如果無法被2除盡,一定就不是2的次方數,所以一定要被挑出來回傳false。
=>看是否能被2除盡的部分利用算術運算子%,若n%2 不等於0,就代表除不盡。
6. 有些數字則是在第一次除以2時,可以被除盡,但是第二次開始就無法被2除盡,
代表這個數字不是純粹被2組成的數字a。
=>這種數字也就不是2的次方。
7.數字第一次用%看是否可以被除盡後,若可以除盡,再除2一次,看被除2後,是否還可以被2整除,以確認這個數字不是真的是2的次元。
8. 最終被這個過程過濾掉的數字,就會是2的次方。
程式碼內容:
image

完成!!
 
(繼續閱讀...)
文章標籤

文科少女寫程式 發表在 痞客邦 留言(0) 人氣(178)

  • 個人分類:LeetCode刷刷
▲top
  • 10月 20 週二 202007:30
  • 【前端新手日記】前端儲存資料好幫手!Web Storage & Cookie差異是什麼?

image
我們在了解HTTP是什麼的時候,有提到HTTP的特性是無狀態,
所以沒辦法紀錄資料。
今天要來看的就是,可以改善無法紀錄資料這部分的好幫手。
廢話不多說,讓我們直接看下去!!!

什麼是Cookie?
Cookie由伺服器產生,產生後會儲存在瀏覽器上,
每次進入產生這個Cookie的伺服器時,都會帶著這組Cookie。
上面的這句話,是不是有點難懂呢?
其實這個狀況其實可以用一個生活情境來比喻~

這個情境中,有間店家會開放顧客成為會員,一旦加入會員,
店家就會給予成為會員的顧客確認會員身分的會員卡,
每次到店家消費時,就必須帶著這個會員卡,
才可以享有會員優惠資格。
=>店家在這裡就等於伺服器,變成會員的顧客則是瀏覽器,而會員卡就是Cookie,
可以辨認會員身分的相關資料都儲存在這張會員卡裡面。

Cookie產生的流程
再來簡單看一下伺服器和瀏覽器溝通往來時產生Cookie的流程
1. 瀏覽器向伺服器發出request
2. 伺服器在response時,傳遞Cookie給瀏覽器
3. 瀏覽器將Cookie儲存起來
4. 再次向相同伺服器發出request時,回傳這組Cookie給伺服器
(繼續閱讀...)
文章標籤

文科少女寫程式 發表在 痞客邦 留言(0) 人氣(394)

  • 個人分類:前端新手村
▲top
  • 10月 19 週一 202007:00
  • 【前端新手日記】HTTP是什麼? 多加一個S會變成什麼?

我想大家都知道網址前總是會帶著HTTP這四個字母,
但是HTTP到底是什麼?跟HTTPS又有什麼關係呢?
一起來了解一下吧!GO!

什麼是HTTP?
HTTP全名是超文本傳輸協定( HyperText Transfer Protocol),以字面上來看,
就是把可以顯示在電腦螢幕或電子裝置的文字,也就是超文本傳輸到瀏覽器的傳輸協定。
所以主要用途也就是讓瀏覽器和伺服器進行溝通,以請求(request)、回應(response)這兩個動作為主。
=>網站上的內容都是透過請求、回應這樣一來一往傳輸後,才顯示出來。
另外,HTTP是一種無狀態的協定,所以伺服器上並不會保存請求時的資料及記錄,
也就是說當瀏覽器和伺服器在溝通時,一來一往的完整流程結束後,
伺服器就忘記剛剛做了些什麼了,彷彿腦海中有橡皮擦一樣,
不會留下任何記憶@@。
用聊天室對話呈現情境的話,大概就會像是這樣的情況XDD
image
image  
無狀態的溝通流程,看起來好像沒什麼大問題,
因為我們還是可以看到瀏覽器上顯示我們要看的頁面內容。
但是若是必須登入的網頁,或是想到先把喜歡的商品加到購物車裡的習慣,
單純以這種無狀態的模式來進行一來一往的溝通,
對使用者來說就會是一個非常不便利的模式。
也因為這樣,而必須搭配一些可以另外儲存資料的方式。
這個部分可以參考以下這篇文章
前端儲存資料好幫手!Web Storage & Cookie差異是什麼?
(繼續閱讀...)
文章標籤

文科少女寫程式 發表在 痞客邦 留言(0) 人氣(225)

  • 個人分類:前端新手村
▲top
  • 10月 17 週六 202014:44
  • 【課程學習心路歷程】學習結束後的回顧與心得

不知不覺就完成最後一個學期了...
回想接觸程式領域前的自己,再想想現在的自己,
真的覺得好神奇,現在的我居然可以跟同學用工程師才聽得懂的話進行討論。
感覺自己的程式語言程度,就快到達自己目前的韓文程度了。
很感謝自己當初做出了這樣的選擇,讓我發覺自己不一樣的潛力。

回顧各學期的我
學期1的我
就像一個完全沒概念的新手,傻傻來到了新手村,
完全不知道自己要從哪開始學起,就像是系統給什麼新手教學內容,我就做什麼一樣,
課程給我什麼內容,我就吸收什麼內容。也沒有一定要從這個課程中達到什麼樣的程度,
只是想讓自己學一些新的東西,也想給自己一個改變自己的機會。

學期2的我
就像一個完成新手村新手教學和基礎任務,準備進入副本打怪的玩家,
從最好上手的初階副本,慢慢打到BOSS會出現的中階副本。
學期2的內容,讓我更加深入程式語言的世界,並且從前端接觸到後端,
這過程也更確定自己比較適合前端。
在學期2-1時,我漸漸確定自己對學習寫程式這件事不僅不排斥,還覺得很有趣。
即使沒有人逼我,我也願意不斷地在這條學習路上繼續前進。
學期2-2,雖然開始感覺到難度了,也遇到了一些小挫折,
但我還是相信自己,並且繼續堅持下去,也調整自己的學習方式,
加強自己的學習強度。
學期2-3,開始接觸到自己認為自己比較不擅長的後端部分,
這個部分的學習過程讓我心中有不少自我懷疑,也有不少的打擊感,
但我轉個念還是選擇繼續堅持,並且對自己說就算再怎麼不擅長,
也要靠刻意練習讓自己熟悉。
(繼續閱讀...)
文章標籤

文科少女寫程式 發表在 痞客邦 留言(0) 人氣(603)

  • 個人分類:關於學習的心路歷程
▲top
  • 10月 16 週五 202012:38
  • 【前端新手日記】前後端分離Simple Twitter多人協作專案紀錄

image
這次是人生第一次進行多人協作專案
其實在課程一開始,就非常期待這個協作的環節
除了期待外,還很害怕成為團隊裡的大雷包!!
而且我們又是唯一一組用前後端分離方式開發的小組,
這真的讓人感到很抖抖呀~
究竟~~文科我有沒有成為雷包呢?
就讓我們繼續看下去~~~~

小組成員
首先介紹我的們小組成員!
除了我以外,還有兩位非常優秀的全端組同學Yi、Ezra
不得不說他們兩位真的很強大,才能讓文科我專心切版

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

文科少女寫程式 發表在 痞客邦 留言(0) 人氣(193)

  • 個人分類:前端新手村
▲top
  • 10月 15 週四 202018:00
  • 【新創人森紀錄】五個月後的新創職場心得 - 新創不是人人都做得了

2
哈囉!大家好嗎~
我是近期不斷爆炸的文科少女XD
今天有一點點的空閒時間,想說來更新一下工作況。
至於為什麼會爆炸連連?
以下就讓我娓娓道(ㄅㄠˋ)來(ㄩㄢˋ)

目前實際的進展
這部分其實應該是不太能說,但只是想講出來讓大家知道,
這樣的進度到底有多麼的~神奇!
所以就輕描淡寫帶過一下囉!

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

文科少女寫程式 發表在 痞客邦 留言(0) 人氣(85)

  • 個人分類:新創人森紀錄
▲top
«1...891012»

個人資訊

文科少女寫程式
暱稱:
文科少女寫程式
分類:
數位生活
好友:
累積中
地區:

熱門文章

  • (990)【JavaScript萌新筆記】while迴圈練習題 - 限制10次內猜對數字的練習
  • (196)【JavaScript萌新筆記】資料管理結構 - 陣列(array)的存取方式
  • (27,147)【JavaScript萌新筆記】console.log到底是蝦米東東?
  • (739)【前端新手日記】網頁開發必學!排版神器CSS-Flexbox
  • (229)【新創人森紀錄】什麼是新創公司?成為元老級員工初體驗
  • (6,271)【前端新手日記】CSS的row?column?傻傻分不清楚
  • (107)【JavaScript萌新筆記】「事件迴圈 Event Loop」學習筆記
  • (152)【課程學習心路歷程】這一個月的學習回顧-ORID
  • (85)【新創人森紀錄】五個月後的新創職場心得 - 新創不是人人都做得了
  • (1,367)【前端新手日記】我就廢-自我挑戰紀錄:模擬電腦桌面

文章分類

toggle 打工仔人森 (3)
  • 菜逼八工程師心情雜記 (9)
  • 新創人森紀錄 (2)
  • 黑白的求職之路 (6)
  • 社群學習 (3)
  • LeetCode刷刷 (4)
  • 其他領域學習筆記 (5)
  • 抱佛腳學前端 (2)
  • 菜鳥Git學習筆記 (1)
  • 亂亂寫程式筆記 (15)
  • 關於學習的心路歷程 (4)
  • JavaScript初體驗 (23)
  • 前端新手村 (36)
  • 未分類文章 (1)

最新文章

  • 【JavaScript 萌新筆記】JavaScript 模組系統 - CommonJS 和 ES Module
  • 【前端新手日記】Tree Shaking 也許沒有真的 shaking 起來
  • 【前端學 Docker 】 不是圖片的 image- Docker Image
  • 【亂亂寫筆記】詐騙案例 - 用你信箱寄信警告信箱被盜用
  • 【前端新手日記】網頁渲染模式 - SSG、ISR
  • 【前端學 Docker 】 從認識 Container 開始
  • 【前端新手日記】網頁渲染模式 - CSR vs SSR
  • 【亂亂寫筆記】VS Code - ESLin 應出現的警告提示未顯示
  • 【JavaScript 萌新筆記】JavaScript 的內部插槽 (internal slots) 和內部方法 (internal methods)
  • 【前端新手日記】React Component - <Component />及Component()的寫法差異及效能優化技巧

動態訂閱

文章精選

文章搜尋

誰來我家

參觀人氣

  • 本日人氣:
  • 累積人氣: