elixir編譯
A. 如何在 Laravel 5.1 中使用 Laravel Elixir 集成安裝 Bootstrap
1、安裝NPM依賴
Bootstrap和Elixir都是可以通過NPM(node包管理器)安裝的node包,如果你打開默認的package.json,可以看到起內容如下:
{
"private": true,
"devDependencies": {
"gulp": "^3.8.8"
},
"dependencies": {
"laravel-elixir": "^3.0.0",
"bootstrap-sass": "^3.0.0"
}
}
在命令行中,運行npm install,這樣這兩個包及其依賴都會被安裝。其實該過程就類似使用Composer安裝PHP依賴,原理是一樣的。
npm install執行完成後,你會發現項目根目錄下新增了一個node_moles文件夾,在該文件夾下包含了剛剛安裝的兩個包。
2、Bootstrap Sass
現在在Laravel項目集成Bootstrap非常簡單。打開resources/assets/sass/app.scss,取消下面這行前面的注釋:
@import "node_moles/bootstrap-sass/assets/stylesheets/bootstrap";
保存修改並運行gulp,然後就會生成所有你需要的Bootstrap樣式文件。
3、自定義Bootstrap樣式
如果你不喜歡Bootstrap默認的樣式,還可以通過重寫相應變數實現自定義。作為示例,這里我們簡單將默認Bootstrap默認字體由Google Fonts改成 Lato。
再次打開resources/assets/sass/app.scss,導入字體並修改字體:
@import url(https://fonts.googleapis.com/css?family=Lato);
$font-family-sans-serif: 'Lato', sans-serif;
@import "node_moles/bootstrap-sass/assets/stylesheets/bootstrap";
其工作原理就是首先我們從Google導入Lato字體,接下來我們重寫Bootstrap中已存在的字體變數font-family。這樣之所以起作用是因為Bootstrap使用Sass的!default,下面是解釋說明:
如果某個變數未被賦值,你可以通過添加!default標識到變數值的最後為該變數賦值。當然如果該變數已經被賦值,就不能再次賦值了。
如果你想查看所有的變數列表,可以打開這個文件:
node_moles/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss
4、使用Browserify引入Bootstrap JavaScript
要引入Bootstrap JavaScript我們有多個選擇:使用它們的CDN、手動下載、或者使用Browserify。
Browserify允許你通過require('moles')在browser中打包所有依賴。
我們已經通過NPM安裝了Bootstrap,接下來我們可以使用browserify將其導入app.js。首先,我們需要使用NPM安裝jQuery:
npm install jquery --save
現在,創建這個文件:resources/assets/js/app.js並添加如下代碼到其中:
window.$ = window.jQuery = require('jquery');
require('bootstrap-sass');
$( document ).ready(function() {
console.log($.fn.tooltip.Constructor.VERSION);
});
Bootstrap希望jQuery是全局的並且在所有js之前引入jQuery,然後緊隨其後引入Bootstrap JavaScript。
現在我們編輯項目根目錄下的gulpfile.js:
elixir(function(mix) {
mix.sass('app.scss')
.browserify('app.js');
});
就是這么簡單,不過正因如此才顯出Elixir的牛逼。只是添加一段.browserify('app.js'),所有東西都被自動處理。在再次運行完gulp之後Bootstrap JavaScript相關文件被編譯到 public/js/app.js。
最後將相應的Bootstrap樣式文件和JavaScript文件引入布局文件,在瀏覽器的console中就可以看到3.3.5。
B. 如何成為一個程序老手,新手必知的40個小技巧
老鳥和新手的一個很大區別來自於debug的能力。其中最主要又可以從兩方面看出來:
從高層往底層找錯。
科學方法。
0.重構是程序員的主力技能。
工作日誌能提升腦容量。
先用profiler調查,才有臉談優化。
注釋貴精不貴多。杜絕大姨媽般的「例注」。漫山遍野的碎碎念注釋,實際就是背景噪音。
普通程序員+google=超級程序員。
單元測試總是合算的。
不要先寫框架再寫實現。最好反過來,從原型中提煉框架。
代碼結構清晰,其它問題都不算事兒。
好的項目作風硬派,一鍵測試,一鍵發布,一鍵部署; 爛的項目生性猥瑣,口口相傳,不立文字,神神秘秘。
編碼不要畏懼變化,要擁抱變化。
常充電。程序員只有一種死法:土死的。
編程之事,隔離是方向,起名是關鍵,測試是主角,調試是補充,版本控制是後悔葯。
一行代碼一個兵。形成建制才能有戰鬥力。單位規模不宜過大,千人班,萬人排易成萬人坑。
重構/優化/修復Bug,同時只能作一件。
簡單模塊注意封裝,復雜模塊注意分層。
人腦性能有限,整潔勝於雜亂。讀不懂的代碼,嘗試整理下格式; 不好用的介面,嘗試重新封裝下。
迭代速度決定工作強度。想多快好省,就從簡化開發流程,加快迭代速度開始。
忘掉優化寫代碼。過早優化等同惡意破壞;忘掉代碼作優化。優化要基於性能測試,而不是糾結於字里行間。
最好的工具是紙筆;其次好的是markdown。
leader問任務時間,若答不上來,可能是任務拆分還不夠細。
寧可多算一周,不可少估一天。過於「樂觀」容易讓boss受驚嚇。
最有用的語言是English。其次的可能是Python。
百聞不如一見。畫出結果,一目瞭然。調試耗時將大大縮短。
資源、代碼應一道受版本管理。資源匹配錯誤遠比代碼匹配錯誤更難排查。
不要基於想像開發, 要基於原型開發。原型的價值是快速驗證想法,幫大家節省時間。
序列化首選明文文本 。諸如二進制、混淆、加密、壓縮等等有需要時再加。
編譯器永遠比你懂微觀優化。只能向它不擅長的方向努力。
不要定過大、過遠、過細的計劃。即使定了也沒有用。
至少半數時間將花在集成上。時間,時間,時間總是不夠。
與主流意見/方法/風格/習慣相悖時,先檢討自己最可靠。
出現bug主動查,不管是不是你的。這能讓你業務能力猛漲、個人形象飆升; 如果你的bug被別人揪出來.....呵呵,那你會很被動~≧﹏≦
不知怎麼選技術書時就挑薄的。起碼不會太貴,且你能看完。
git是最棒的。簡單,可靠,免費。
僅對「可預測的非理性」拋斷言。
Log要寫時間與分類。並且要能重定向輸出。
注釋是稍差的文檔。更好的是清晰的命名。讓代碼講自己的故事。
造輪子是很好的鍛煉方法。前提是你見過別的輪子。
code review最好以小組/結對的形式。對業務有一定了解,建議會更有價值(但不絕對)。而且不會成為負擔。管理員個人review則很容易成team的瓶頸。
提問前先做調研。問不到點上既被鄙視,又浪費自己的時間。
永遠別小看程序媛(╯3╰)!
C. 為什麼說 JavaScript 不擅長函數式編程
JavaScript 很適合函數式編程, 比如自帶的數組操作方法常常能串聯出比較漂亮的寫法, 而且 React 在社區就算不能通吃, 但是已經取得了如此廣泛的影響, 讓大量的開發者接受了 recer 純函數這樣的觀念, 並在組件抽象上用於很多函數式編程的手法, 逐漸構建了強大的技術棧. 最終, 通過這些來驗證 JavaScript 在函數式編程使用上的成功, 某種程度上算是自圓其說了, 而且也做出了成績.
但是這種理解從不同的角度觀察, 還是存在問題的. 我從比較早就接觸到了 CoffeeScript 以及深刻影響到它的語言: Haskell. 到現在, 我有三年多 CoffeeScript 開發的經驗, 一年的 ClojureScript 小項目的經驗, 以及勉強入門的 Haskell 學習經驗. 站在 JavaScript 之外, 看到的情況跟在 JavaScript 社區內部看到的並不一樣.
D. 為什麼我的vscode寫html 代碼不能運行 Code language not supported or defined. 有沒有大佬救救我
vscode寫html 代碼不能運行 Code language not supported or defined是沒有正確調試造成的,解決方法為:
1、首先需要在這里打開vs code軟體,新建後才能編譯測試。
E. Mysql 8.0.3 RC 版即將發布,看看有哪些變化
emqtt伺服器的介紹在官方網站有說明,到目前為止我也沒仔細看,不過裡面已經詳細介紹了如何部署在各種操作系統上,包括編譯的方法,源代碼的倉庫在這里。
首先我們搞清楚emqtt伺服器與abc-auth-mysql插件的部署位置,我們在本地編譯emqtt伺服器;
根據emqtt伺服器中Makefile的說明,編譯過程中會引入插件abc-auth-mysql的源碼並且編譯,然而該源碼的位置是放置在一個遠程的git倉庫中的;
所以我們必須先將之前改好的abc-auth-mysql插件源碼推送到一個另外的git倉庫中;
按照這個網站中的說明,修改emqtt伺服器中的文件,將abc-auth-mysql加入到插件列表中;
然後在本地編譯整個emqtt伺服器;
上述步驟相對比較簡單,就不一一贅述了,說一下可能遇到的坑:
比如說編譯的時候有一步會卡在mix local.hex這個地方,然後報錯,如果遇到,首先嘗試翻牆處理,還是不行,自己把mix裝好,mix是elixir裡面的一個什麼東西,裝mix好像是要裝elixir,裝好之後,還可能local.hex這個文件下不下來,這篇文章裡面會說是怎麼回事,要麼翻牆能搞定,要麼就等一天,我就是第二天再編譯又可以的。。
F. 怎麼做DIY裝機工具
U盤?光碟?
U盤 拿去量產
自己找量產工具
光碟下載鏡像直接刻錄了就行
千萬別解壓啊
G. 求好用的c語言編寫軟體
Dev-C++ 是一個C++ 開發工具。它包括多頁面窗口、工程編輯器,在工程編輯器中集合了編輯器、編譯器、連接程序和執行程序。它也提供高亮度語法顯示的,以減少編輯錯誤。Dev-C++是一個Windows下的C和C++程序的集成開發環境。它使用MingW32/GCC編譯器,遵循C/C++標准。開發環境包括多頁面窗口、工程編輯器以及調試器等,在工程編輯器中集合了編輯器、編譯器、連接程序和執行程序,提供高亮度語法顯示的,以減少編輯錯誤,還有完善的調試功能,能夠適合初學者與編程高手的不同需求,是學習C或C++的首選開發工具
「TurboC/C++v3.0中文版」是為了照顧不熟悉DOS環境軟體操作的廣大初學者,讓大家能在Windows環境下方便地安裝和使用中文TurboC/C++3.0,對界面進行了漢化,並且為其完善了Windows以及中文DOS下的運行環境,經過重新包裝後推薦給學習《C語言程序設計》與《C++面向對象程序設計》的廣大師生。用戶並不需要熟悉DOS知識,只需要在安裝時將TurboC/C++v3.0指定安裝在任意文件夾,再不需要手動更改任何選項,就能夠正常編譯程序
H. 作為程序員,有哪些簡便工作的技巧呀
每天早上正式工作前,列個簡單的計劃列表;同事有類似項目經驗的,盡可能在工作啟動前請教;工作中盡可能避免外界干擾(不需要立即回復問題,可能等工作完成一個節點再回復);下班前抽取十分鍾,總結當天工作情況,簡單思考一下第二天工作要點及難點。