問題_遇到錯誤 Error Cannot find module 'request'
在練習api時候遇到的
照著範例貼的也會報錯,無奈
後來解決方式是照著這一篇:https://stackoverflow.com/questions/16482600/node-js-cannot-find-module-request
使用npm install request --save
問題就解決了
問題_為什麼charCodeAt()裡面要帶0
事情的起因是因為我看到了這段code想要理解下方這段程式碼:
但我發現我自己已經忘記我當初為什麼裡面要帶0了
這個問題看mdn後馬上被秒解了 =>
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
附可複製貼上的程式碼:
12345678export function caesarcipher(n, s){ let code = s.charCodeAt(0) - 97; let newCode = (code + n) % 26; return String.fromCharCode(newCode + 97;}
結論裡面是放index的意思所以原理是這樣
假如我今天字串是”abc”
那麼charCodeAt(0) 抓取到的值就想是a 答案會是97那麼charCodeAt(1) 抓取到的值就想是b 答案會是98那麼charCodeAt(2) 抓取到的值就想是c 答案會是99
問題_使用function裡面使用for of後,沒辦法直接return
12345678function isIndex(input) { for (const [index, element] of input.entries()) { if (isPrime(element)) { console.log(`質數為${index} 索引值為${element}`); } }}
一開始像是這樣,然後其實沒有辦法直接增加return在外面,或者是直接加上return換掉內部的console.log
最後的解決方式是:
多新增一個變數去接這個for of裡面的東西,因為遇到了最後增加空格的問題,所以最後return出去的版本會再加上trimEnd()=>
123456789function isIndex(input) { let a = ""; for (const [index, element] of input.entries()) { if (isPrim ...
git 修改歷史踩雷紀錄
學習時參考資料github官方文檔:https://docs.github.com/cn/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message
高見龍 為你自己學 Git :https://gitbook.tw/chapters/rewrite-history/change-commit-message
主要關鍵核心 : git rebase除了git rebase之外也有其他可以使用 –amend 參數來進行 Commit可以用來更改最後一個的commit紀錄,這部分詳情可以看這篇,講的很完善:https://gitbook.tw/chapters/using-git/amend-commit1
但假如可能不只一筆自己想要更改的commit訊息,可能很多,那就會需要用到rebase的指令互動模式。
git rebase -i 或是 git rebase --interactive
-i = –interactive ...
JavaScript的throw用法
js 在拋出錯誤的時候會使用到 throw
提到throw之前要先來介紹一下相同性質的try, catch
try…catch它會分成兩個區塊,一個 try 一個 catch
123456try { // 要執行的程式} catch(error) { // ... // 錯誤發生時,上面的就不會執行,改執行這邊}
舉例時間:
12345try { console.apple("apple不是正確的使用方式喔");} catch (e) { console.log("我錯了");}
這段 code 的結果會印出我錯了,如下:
為什麼會發生這樣的結果?這是因為如果try區塊裡面的程式碼假如沒有任何的錯誤,就會直接忽略掉catch區塊裡面的程式碼,反之有錯的話,就會以catch裡面的程式碼為主,而錯誤的try就會中斷執行,所以在這個範例來說,因為try寫錯了,所以會以try裡面的程式碼為主
另外如果catch區塊如果接受了一個參數,就可以直接利用這 ...
hexo 有部署沒顯示問題
狀況問題如下:我的其中一篇”Selector Combinators 中的+跟~差別”,已經部署上去的文章,明明已經成功部署了,但是點進去看時會出現這個畫面
剛看到時毫無頭緒,後來思考了幾種拯救的方式來試試看能不能救回來
重新做部署的動作12hexo g // 建立靜態頁面hexo d // 部署到github
還是沒辦法
修改 code那我在想有可能是因為 code 的部分有寫錯的問題,仔細檢查了程式碼之後的確有不尋常的地方
試試看把標題裡那個有藍色波浪號拿到後,是不是就正常了
也不是這個問題,排除
結論經過多次的比對之後,發現了原因source 裡 posts 文件的命名中我有使用到~及+看來名稱的使用上要注意一些符號雖然本地端預覽使用 hexo server 看都沒問題,不過推到遠端就會發生 404
最後改過後就又恢復正常了~
grid的不同解讀
繼 css flex 佈局出來之後,後來又出現了 css grid 的佈局方式,不過 grid 這個詞不是被新發明出來的,是之前就有的東西。
假如你想跟別人討論說要使用 grid,但沒講清楚是哪種「grid」的話,可能溝通上就會造成許多問題,這篇會提到有三種解讀方式:
格線系統(grid system)的 grid一種 ui 設計會使用到的概念,可以幫助設計師更好的在畫面上安排,另外前端框架 Bootstrap 也會使用到 grid system,這邊要注意到並不是指 css 裡面的那個 grid
css 佈局方式的 grid屬於 css 裡面的佈局方式,使用時 display 會先變成 grid,如:
1display:grid
使用之後,這個使用的區塊元素就都會變成「grid」,只需再搭配一堆 grid 系列的語法,就能利用 gird 讓網頁排成自己想要的形狀~
簡寫屬性的 grid剛剛上面提到,把區塊設成「grid」物件後,就能利用一堆的 gird 系列語法來完成佈局,這邊提到的簡寫屬性的 grid 就是它裡面的其中一種寫法,如:
123grid: auto-flow / 1f ...
切版中的學習書單
現在練習切版中,這些是我現在正在看跟準備看完的書,做個整理。
金魚都能懂的 CSS 選取器https://www.books.com.tw/products/0010863222
從自學到成功轉職軟體工程師:自主學習讓我重拾人生的發球權https://www.books.com.tw/products/0010914782
為你自己學 githttps://www.tenlong.com.tw/products/9789864342662?utm_source=gitbook&utm_medium=site
Github 創辦人親自指導你精通 Githttps://www.books.com.tw/products/0010813105
css position 學習心得
原文連結: https://appcs342.blogspot.com/2022/04/css-position.html移植時的最後更新日期: 2022-04-08T21:36:10.985-07:00
最近有在研究position,在css中這算是一個非常重要的屬性,網頁中的定位全要靠它,在此整理一些研究時的筆記跟我的小小心得~首先,是我對position作用的理解對網頁上物件的屬性添加了position就可以改變物件的排列方式,改變其在網頁上位置,但其實就算都沒有添加,原本物件間也會有自己的排列,所以我會覺得說,position它其實是在對網頁上的物件做一個「改變定位參考對象」的動作,預設狀態下參考對象會是原本物件資料自己本身的排列狀態,position的值會改變定位參考對象,從而改變物件排列方式。position主要有的值大致分成以下五種:staticrelativefixedabsolutestickystatic這個值是假如都沒設position,預設就會是satic。幾個我覺得重要的點使用了這個值,其他的定位方式都會失效很少用到,因為預設就是static,我想 ...
Selector Combinators 中的+跟~差別
原文連結: https://appcs342.blogspot.com/2022/04/selector-combinators.html移植時的最後更新日期: 2022-04-04T05:40:13.467-07:00
介紹兩個很類似的選擇器,全名是Next-sibling combinator,簡稱加號(+)全名是Subsequent-sibling combinator,簡稱波浪號(~)加號是會影響到後方同層級的首次遇到元素波浪號則是影響後方同層級的全部元素加號跟波浪號都是目標為要影響後方同層級,語法使用方式也都差不多[選取對象A + 選取對象B] 及 [選取對象A ~ 選取對象B]。看起來非常的像,不過有一些差別:加號是只能選到A後面那一個B波浪號是選到A後面整串同層的B