原创 SpringBoot魔法堂:說說帶智能提示的spring-boot-starter

前言 前幾個月和隔壁組的老王閒聊,他說項目的供應商離職率居高不下,最近還有開發剛接手ESB訂閱發佈接口才兩週就提出離職,而他能做的就只有苦笑和默默地接過這個爛攤子了。 而然幸福的家庭總是相似的,而不幸的我卻因業務變革走上了和老王一樣的道路。

原创 Maven魔法堂:安裝Oracle JDBC Driver依賴的那些坑

前言 由於Oracle並沒有向公開Maven倉庫提供任何Oracle JDBC Driver的Jar包,因此我們無法像MySQL、SQLite等那麼輕鬆直接通過Maven加載依賴。 而手動下載Oracle JDBC Driver Jar包,

原创 TypeScript魔法堂:函數類型聲明其實很複雜

前言 江湖有傳“動態類型一時爽,代碼重構火葬場”,由於動態類型語言在開發時不受數據類型的約束,因此非常適合在項目原型階段和初期進行快速迭代開發使用,這意味着項目未來將通過重寫而非重構的方式進入成熟階段。而在企業級應用開發中,每個系統特性其實

原创 TypeScript魔法堂:枚舉的超實用手冊

前言 也許前端的同學會問JavaScript從誕生至今都沒有枚舉類型,我們不是都活得挺好的嗎?爲什麼TypeScript需要引入枚舉類型呢? 也許被迫寫前端的後端同學會問,TypeScript的枚舉類型是和Java/.NET的一樣嗎? 下面

原创 CSS魔法堂:那個被我們忽略的outline

前言  在CSS魔法堂:改變單選框顏色就這麼吹毛求疵!中我們要模擬原生單選框通過Tab鍵獲得焦點的效果,這裏涉及到一個常常被忽略的屬性——outline,由於之前對其印象確實有些模糊,於是本文打算對其進行稍微深入的研究^_^ Spec是這樣

原创 CSS魔法堂:改變單選框顏色就這麼吹毛求疵!

前言  是否曾經被業務提出"能改改這個單選框的顏色吧!讓它和主題顏色搭配一下吧!",然後苦於原生不支持換顏色,最後被迫自己手擼一個湊合使用。若拋開input[type=radio]重新開發一個,發現要模擬選中、未選中、不可用等狀態很繁瑣,而

原创 CSS魔法堂:display:none與visibility:hidden的恩怨情仇

前言  還記得面試時被問起"請說說display:none和visibility:hidden的區別"嗎?是不是回答完display:none不佔用原來的位置,而visibility:hidden保留原來的位置後,面試官就會心一笑呢?其實不

原创 CSS魔法堂:一起玩透僞元素和Content屬性

前言  繼上篇《CSS魔法堂:稍稍深入僞類選擇器》記錄完僞類後,我自然而然要向僞元素伸出“魔掌”的啦^_^。本文講講述僞元素以及功能強大的Contet屬性,讓我們可以通過僞元素更好地實現更多的可能! 初識僞元素  說起僞元素我第一想到的莫過

原创 CSS魔法堂:Flex佈局

前言  Flex是Flexible Box的縮寫,就是「彈性佈局」。從2012年已經面世,但由於工作環境的原因一直沒有詳細瞭解。最近工作忙到頭暈腦脹,是要學點新東西刺激一下大腦,打打雞血。 Flex就這麼簡單 瀏覽器兼容性  一說到兼容性就

原创 前端魔法堂——異常不僅僅是try/catch

前言  編程時我們往往拿到的是業務流程正確的業務說明文檔或規範,但實際開發中卻佈滿荊棘和例外情況,而這些例外中包含業務用例的例外,也包含技術上的例外。對於業務用例的例外我們別無它法,必須要求實施人員與用戶共同提供合理的解決方案;而技術上的例

原创 CSS魔法堂:更豐富的前端動效by CSS Animation

前言  在《CSS魔法堂:Transition就這麼好玩》中我們瞭解到對於簡單的補間動畫,我們可以通過transition實現。那到底多簡單的動畫適合用transtion來實現呢?答案就是——我們只需定義動畫起始和結束幀的狀態的動畫。一旦關

原创 CSS魔法堂:Transition就這麼好玩

前言  以前說起前端動畫必須使用JS,而CSS3爲我們帶來transition和@keyframes,讓我們可以以更簡單(聲明式代替命令式)和更高效的方式實現UI狀態間的補間動畫。本文爲近期對Transition的學習總結,歡迎各位拍磚。

原创 Chrome Extension in CLJS —— 搭建開發環境

前言  磨刀不誤砍柴工,本篇將介紹如何搭建Chrome插件的ClojureScript開發環境。 具體工具棧:vim(paredit,tslime,vim-clojure-static,vim-fireplace) + leiningen(

原创 (cljs/run-at (JSVM. :all) "Metadata就這樣哦")

前言  動態類型語言,少了靜態類型語言必須聲明變量類型的累贅,但也缺失了編譯時類型檢查和編譯時優化的好處。cljs雖然作爲動態類型語言,但其提供Metadata讓我們在必要的時候可選擇地補充類型提示,以便提高代碼可讀性和供編譯器優化使用。除

原创 前端魔法堂——調用棧,異常實例中的寶藏

前言  在上一篇《前端魔法堂——異常不僅僅是try/catch》中我們描述出一副異常及如何捕獲異常的畫像,但僅僅如此而已。試想一下,我們窮盡一切捕獲異常實例,然後僅僅爲告訴用戶,運維和開發人員頁面報了一個哪個哪個類型的錯誤嗎?答案是否定的。