ryanlee.coding

@ryanlee-coding

工廠黑手轉職程式新手

Joined on Oct 27, 2020

  • 檢查方式,在postcss.config.js中註解掉 if (process.env.RAILS_ENV === 'production') {} 這樣可以將本機的開發環境變成與線上部署的運作環境相同 './app/**/**/*.html.erb' './app/**/*.scss'
     Like  Bookmark
  • Active Storage 可以支援各種後端服務(如 AWS S3),為 Active Record 模型提供檔案上傳和附件功能。 前置作業 先建立一個新專案來測試 $ rails new project_name 為專案安裝Active Storage功能,會在資料庫中建立兩個名為 active_storage_blobs 和 active_storage_attachments 的資料表 $ rails active_storage:install 用scaffold建立一個用來上傳的model取名為Upload $ rails generate scaffold Upload
     Like 1 Bookmark
  • The data directory contains an old postmaster.pid file $ cd Library/Application\ Support/Postgres $ cd var-13 $ ls $ rm postmaster.pid
     Like  Bookmark
  • <table> <caption>表格標題</caption>#每個table只有一個caption宣告 <thead> #表頭標籤 <tr> <th>預設粗體</th> #表頭單元 </tr> </thead> <tbody> #中間資料標籤 <tr> <td>資料</td> #資料內容
     Like  Bookmark
  • 此專案在lib/tasks中編寫一個rake檔來運行Python的爬蟲 在根目錄添加檔案runtime.txt,寫入要運行的Python版本,這裡依照本機安裝的3.9.1 在根目錄添加檔案requirements.txt,裡面寫上所需要安裝的Python套件 Procfile不確定要不要用(待測) 在Procfile告訴Heroku用gunicorn(python開發的WSGI工具),執行python檔,my_app_name是主要python檔的名稱 web:gunicorn my_app_name:app
     Like  Bookmark
  • 到Fontawesome 找到使用方法 在專案底下安裝 $ yarn add @fortawesome/fontawesome-free 在app/frontend(可能有javascript而沒有frontend資料夾)建立scripts資料夾(名稱可自取),底下建立index.js 到app/frontend/packs/application.js,引入require("scripts") 在app/frontend/styles/index.js,引入import "@fortawesome/fontawesome-free/css/all.css",在node-modules找 以上步驟完成後,在Fontawasome找所要用的圖示,可以看到標籤,加在post的show.html.erb中,就可以顯示圖示 不過我們要做的是可點選的按讚圖案,所以改成 <%= link_to "<i class='far fa-thumbs-up'></i>",'#'%> 由於link_to本身會審查連結內容,會變成字串顯示,所以要在加上.html_safe
     Like  Bookmark
  • 開啟終端機建立新rails專案 $rails new dcard 建立後$cd dcard進入專案資料夾 建立model$rails g model Board title $rails db:migrate migrate完成pic $rails s啟動rails server連上http://localhost:3000 看到歡呼畫面 開啟vs code 連上http://localhost:3000/boards出現錯誤畫面pic缺少路徑 在vs code裡找到/DCARD/config/routes.rb
     Like  Bookmark
  • 首先建立留言comment的model,需要內文,作者,所屬文章 $ rails g model Comment content:text user:belongs_to post:belongs_to 成功建立之後記得,$ rails db:migrate確認ok後 到comment.rb確認關聯 belongs_to :user belongs_to :post 另外在user.rb與post.rb也要增加關聯has_many :comments記得加s 這樣才完成comment的全部關聯性,has_many與belong_to不一定要成對,但少寫就會失去從另一邊搜尋回來的功能
     Like  Bookmark
  • 如果遇到要在迴圈內進行render時,如果符合以下三點巧合 宣染檔名必須是資料的「單數名」,資料叫做@comments,宣染檔名就是 _comment.html.erb。 宣染檔案必須而且放在/views/comments裡 宣染檔裡面用的區域變數必須是單數comment 可以用下列寫法 <%= render partial: "comment", collection: @comments %> 會將@comments執行.each宣染_comment.html.erb檔案,等同於 <ul class = "comment">
     Like  Bookmark
  • /model scope: cheap, -> { where("price > 50")} scope: adult, -> { where("age > 18")} /controller Product.cheap //找出價格低於50的商品 //等於Product.where("price > 50") Product.cheap.adult
     Like  Bookmark
  • 在irb中$ Hirb.enable可以將資料表格化 沒有特別設定的話每次都需重新啟動Hirb
     Like  Bookmark
  • 範例01 <html> <head> <meta charset="UTF-8" /> <title>Hello React!</title> <!-- 以下載入react 17.0.1--> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/17.0.1/umd/react.development.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.1/umd/react-dom.development.min.js"></script> <!-- 以上載入react --> <!-- 以下載入babel.js JSX即時轉譯器 效能不好-->
     Like  Bookmark
  • webpacker:install webpacker:install:angular webpacker:install:coffee webpacker:install:elm webpacker:install:erb webpacker:install:react webpacker:install:stimulus webpacker:install:svelte webpacker:install:typescript webpacker:install:vue
     Like  Bookmark
  • 安裝select2 先從官網引入範例 貼在專案中任一頁來確認效果 現在會是瀏覽器預設的形式 在終端機安裝:$ yarn add select2 安裝後到app/javascript/packs的application.js裡加上
     Like  Bookmark
  • 從Bootstrape先取任意一個程式碼,這裡取Alert <div class="alert alert-primary" role="alert"> A simple primary alert—check it out! </div> 將上面程式碼放進任一頁面啟動rails s確認目前狀態,可以發現目前只有一般文字狀態沒有其他效果 到終端機輸入:$ yarn add bootstrap 安裝後到app/javascript/packs的application.js裡加上import 'bootstrap'來引入
     Like  Bookmark
  • 傳統 JavaScript 沒有內建取得別的 JavaScript 的功能 於是人們就自己發明各式各樣的工具: browserify / rails assets pipeline / gulp.js / rollup.js / webpack 模組化寫法 模組化寫法 – commonJS NodeJS 的引入方式 pkg = require('pkg_name') // //取用,(pkg是相對路徑或套件名稱)
     Like  Bookmark
  • 1NF-第一正規化:每個欄位都必須為最小單元不可再切割 2NF-第二正規化:符合第一正規化,主鍵以外欄位都必須與主鍵功能相依 3NF-第三正規化:符合第二正規化,主鍵以外欄位僅能與主鍵功能相依,且沒有相依
     Like  Bookmark
  • for(var i = 0; i < 5; i++) { } console.log(i) ==>印出5 在這裏for不是function,外層也取的到var = i,同時i會試到5才停止,所以最後console.log會印出5 如果是用let宣告則會被for迴圈的block綁住,則會出錯 =====================
     Like  Bookmark
  • 例題6 window.addEventListener('DOMContentLoaded', function () { fetch('https://pastleo-posts-api.herokuapp.com/api/posts') .then(request => request.json()) .then(posts => { const firstPost = posts[0] const titleA = document.querySelector('.post-title') const linkA = document.querySelector('.post-link')
     Like  Bookmark
  • var a = 1 function x() { var a = 2; console.log(a); } console.log(a) 遮蔽,會印出2,1 2是function印出,1是第一行的a值
     Like  Bookmark