網頁

2019/12/31

Angular 使用DatePipe格式化日期 format Date with DatePipe

在Angular template模版使用插值符{{...}}顯示日期物件時,可以利用DatePipe格式化日期。

Angular 使用routeLink切換頁面

本篇介紹使用routeLink在兩個Component template間切換。

2019/12/30

Spring Data MongoDB 分頁查詢 page query

在Spring Boot中利用Spring Data MongoDB做分頁查詢的方法如下。

精進技術的網路資源

精進技術的網路資源

2019/12/28

中華菱利 Veryca A180 1.5L 小貨車一年估計固定費用

本篇估計養一台中華菱利 Veryca 小貨車的一年的固定花費。

2019年底回顧

2019年結束了,依慣例回顧今年及展望明年。

2019/12/26

Oracle 左側/右側補字 left and right padding

Oracle PL/SQL在左或右側補字的方式如下。

2019/12/25

2019/12/24

How to find Google Blogger's RSS feed URL

Google Blogger/Blogspot的RSS feed URL如下。

Spring Boot @ControllerAdvice return json response

在Spring Boot / Spring Web MVC的@ControllerAdvice類別處理錯誤時,如果要以json返回結果,可使用ResponseEntity<T>回傳。

2019/12/23

Spring Boot @ControllerAdvice用法

本篇介紹Spring Boot/Spring Web MVC的@ControllerAdvice annotation的用法。

Java 數字前面補0 number left padding zero

Java 數字前面補0的方法如下。

2019/12/22

Java 字串轉日期 convert String to Date

Java轉換字串String為日期java.util.Date的方式如下。

2020 北海道 札幌 五天四夜自助旅遊 費用計算

2020年三月北海道五天四夜札幌的費用計算。

2019/12/21

2020 北海道 札幌 五天四夜自助旅遊 札幌交通

2020年三月北海道五天四夜札幌的交通資訊。

2020 北海道 札幌 五天四夜自助旅遊 行程規劃

2020年三月北海道五天四夜的行程規劃。

2019/12/19

2019/12/17

Spring InitializingBean

當Bean在所有的屬性被BeanFactory設置後需要進行一些客制化的調整,則Bean可實作InitializingBean介面來客制Bean的初始化。

Spring Boot 建立docker image

本篇紀錄在Mac將Spring Boot應用程式製作成docker image檔,並在本機的docker中運行。

2019/12/15

Docker 執行 hello-world image

以下出自Docker官方文件Getting started with Docker Desktop for Mac - Explore the application的內容。

Docker 什麼是 Docker Hub

簡單說Docker Hub就是一個可以上傳及下載docker image的地方。類似GitHub,Maven RepositoryPyPINPM Registry那樣。

日誌 20191215

今天帶我家的狗去動物醫院打一年一次的八合一疫苗及狂犬病疫苗。

2019/12/14

Java 如何使用lambda取得ArrayList<HashMap<K, V>>指定key的val

IT邦幫忙看到的問題,JAVA如何使用lambda取得ArrayList<HashMap<key,val>>指定key的val。

Java 函數(方法)整合問題

IT邦幫忙看到的問題,以下兩個函數,能整合為一個嗎?

Java 在HashMap中用value取key

IT邦幫忙看到的問題,如何用value在HashMap取得key。

投資理財 什麼是股東權益 Shareholders Equity

股東權益(shareholders Equity)為公司總資產(total Assets)扣除總負債(total liabilities)後的價值,也是股東(出資者)(shareholders)對公司真正的所有權,所以叫做股東(的)權益,也代表公司的淨值(net worth)。

2019/12/13

對稱密鑰加密 與 非對稱密鑰加密 區別
Symmetric encryption Asymmetric encryption difference

對稱密鑰加密(symmetric key encryption)與非對稱密鑰加密(asymmetric encryption)差別如下。

Java Lambda merge List<Map<K, V>> to one Map<K, V>

Java 使用lambda語法將List<Map<K, V>>合併為一個Map<K, V>

2019/12/11

Java 8 Lambda convert List to Map

Java List<V>Map<K, V>的lambda寫法如下。

2019/12/10

Java 8 lambda 合併多個回傳List
merge multi List with lambda

Java 8 lambda 合併多個回傳結果List物件為一個List。

投資理財 公司獲利對股票價格的影響

本篇說明在不考慮股票交易市場的情況下,公司獲利時如何影響其股票價格。

JavaScript 以大寫分割字串 split String by uppercase

JavaScript以大寫字(Uppercase Character)分割字串的方法如下。

駝峰命名 轉 蛇形命名 工具 Camel Case to Snake Case converter

駝峰命名(Camel Case)轉成蛇型命名(Snake Case)(底線分隔)轉換器。

2019/12/9

Git 查詢指定開發人員的提交紀錄 find commits log by author

Git列出特定開發人員的提交紀錄方法如下。

Git 列出專案人員名稱 list authors of the projects

Git檢視專案提交人員名稱的方法如下

2019/12/7

投資理財 什麼是股票

簡單介紹什麼是股票。

蛇型命名 轉 小駝峰命名 工具
Snake Case to Lower Camel Case converter

蛇型命名(Snake Case)(底線分隔)轉成小駝峰命名(Lower Camel Case)轉換器。

JavaScript 使用空白分割字串 split string by blank

在JavaScript中若要以字串中的空白(blank)來分割字串,可以用String.split(/\s+/)

2019/12/6

Java 8 日期時間API方法命名慣例 Date-Time method API naming convention

Java 8 日期時間API Package有統一的命名慣例,每種命名的用法及意義如下。

Java 重構 物件A傳入方法建立物件B又把物件B放回物件A本身

今天Code review會議同事W對下面的程式碼提出疑問。

Spring @Autowired 搭配 @Qualifier 指定注入的Bean

Spring 使用@Autowired注入的介面有多個@Bean類時,可以搭配@Qualifier控制要注入哪個實例。

2019/12/4

Java 方法多引數參數寫法 Varargs

Java 方法的多引數參數(method varargs)寫法。

Oracle UNION 與 UNION ALL 差別

UNIONUNION ALL的差別在於,
UNION會聯集兩個查詢結果並將相同的資料合併為一筆;
UNION ALL也是聯集兩個查詢結果,但相同的資料不合併為一筆。

2019/12/3

Java 什麼是封裝(Encapsulation)

封裝(Encapsulation)是指類別可以控制其成員被其他類別存取的範圍,為物件導向程式的三大特性(封裝,繼承,多型)之一。

2019/12/1

Windows 安裝cURL

在Windows安裝cURL的方式如下。

2019/11/30

Java 使用Guard clause (Early return)防衛語句

今天學到Guard clause(防衛語句)的程式寫法概念。

Lombok @Builder 用法

Java在建構類別的實例時,如果類別的成員變數/屬性(member variable/attributes)很多,可以利用設計模式的建造者模式(Builder Pattern)替代傳統以建構式(constructor)的方式來建立物件。

Oracle 查詢資料表筆數 query table row counts

Oracle資料庫查詢資料表(Table)中資料筆數(row counts)的方法如下。

2019/11/29

Verification與Validation的差別

Verification(驗證)與Validation(確效)的差別如下。

2019/11/27

Java convert byte array to InputStream

Java 轉換byte[]陣列為InputStream方法如下。

Spring Boot 上傳檔案範例 upload file to Controller example

Spring Boot 上傳檔案到Controller範例如下。

2019/11/26

2019/11/25

Oracle 刪除資料SQL語法 delete data sql syntax

Oracle刪除資料表中的資料的SQL語法如下。

Oracle 新增資料表欄位語法 add table column syntax

Oracle新增資料表欄位的SQL語法如下。

2019/11/24

Java 設計模式 轉接器模式 Adapter Pattern

Adapter Pattern(轉接器模式)屬於設計模式中Structural Patterns(結構模式)。當客戶端想利用一個既有類別的功能,但該類別的介面不同於客戶端所使用的型態,可利用Adapter Pattern來解決。

2019/11/23

Spring Security 預設登入及登出頁面如何產生 how default login logout page generate

本篇介紹Spring Security預設的登入及登出頁面(default login logout page)是在哪裡被產生的。

Spring Boot Security 自訂登出重新導向路徑 custom logout success redirect url

在Spring Boot的Spring Security自訂登出後重新導向(redirect)的url路徑方法如下。

2019/11/22

Spring Boot Security 自訂登出處理器 custom logout handler

本篇介紹如何在Spring Boot的Spring Security自訂登出(logout)邏輯。

2019/11/20

Spring Security CSRF預設保護的HTTP請求方法 CSRF default protect HTTP methods

Spring Security 啟用CSRF防護時,預設只保護會異動資料狀態的HTTP請求方法,

EMV® 3-D Secure 交易安全驗證機制的主要角色

3D Secure (3-D Secure authentication protocol) 交易安全驗證機制的主要角色。

取消手機吃到飽

最近想取消手機上網吃到飽,甚至是不想讓手機有任何3G上網功能,只有在有WiFi的環境下才能上網。

EMV® 3-D Secure Message Category

EMV® 3DS 驗證的訊息種類Message Category類別如下。。

EMV® 3-D Secure 驗證是什麼 What is EMV® 3-D Secure?

EMV® Three-Domain Secure (3-D Secure) 是一個由EMVCo發展的安全訊息協議,使消費者與商家在進行無信用卡(card-not-present, CNP)電子交易時身分能被發卡銀行驗證。

2019/11/19

Java 「是否存在」的命名 naming is Existing

在做新增刪除修改前常會判斷該筆資料是否已經存在,此時用來判斷是否存在的方法名稱的命名該如何命名?

Java 程式要不要寫註解(Comment)

在PTT SOFT_JOB板上每隔一段時間都會有人問「程式要不要寫註解」這個問題。

Java 轉換英文字母char為ASCII碼十進位整數 convert letter char to ASCII decimal code

Java 轉換英文字母char為ASCII十進位碼(decimal code)的方法如下。

2019/11/17

LeetCode Valid Parentheses 有效括號

本篇為LeetCode上演算法的簡單問題, Valid Parentheses 有效括號。

2019/11/16

Python 讀取文字檔案 read text files

Python讀取文字檔並印出內容範例如下。

Windows Batch 逐行讀取文字檔案 read text files line by line

在Windows Batch批次檔(bat file)中逐行讀取文字檔的範例。

Windows Batch 設定變數範例 set variable example

在Windows Batch檔(bat file)中使用set設定變數(variable)範例。

Windows Batch if else 數值比較範例 compare numerical variable example

在Windows Batch檔(bat file)中使用if else語法比較數值變數(numerical variable)範例。

Windows 在命令工具cmd 使用tree指令顯示樹狀目錄結構及檔案。

在Windows的命令提示字元Command Shell(簡稱cmd)可以輸入tree指令顯示資料夾的樹狀目錄結構(directory structure)圖形。

Gradle Wrapper是什麼?

在Gradle專案的根目錄下可以看到gradlewgradlew.batgrade/wrapper目錄下的gradle-wrapper.jargradle-wrapper.properites,那Gradle Wrapper是什麼呢?

Java JSON library 問卷結果 2019/10/7 - 2019/11/16

2019年10月開始在本站右側加了問卷調查調查一下Java JSON主流函式庫的使用率。

Java String Base64 編碼(Encode)及解碼(Decode)

Java 對字串進行Base64編碼(Encode)及解碼(Decode)的方式如下。

2019/11/15

Oracle EXTRACT function

Oracle的EXTRACT函式能夠抽取日期時間(datetime)格式資料中的指定資訊,例如年,月,日等。

Oracle 使用PIVOT語法

本篇介紹如何使用Oracle 11g才有的PIVOT查詢語法。

2019/11/14

Git 比較不同分支間的檔案差異 diff files in two branches

Git 比較檔案在不同分支(branch)間的差異的方法如下。

Spring JdbcTemplate ORA-00911: invalid character 錯誤

今天以Spring JdbcTemplate查詢資料庫時,出現錯誤
java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

2019/11/13

Spring Data JPA @Query nativeQuery ORA-03001: unimplemented feature 錯誤

今天在Spring Data JPA的Repository介面定義的@Query的native query方法執行INSERT INTO..SELECTSQL時,出現java.sql.SQLSyntaxErrorException: ORA-00900: invalid SQL statement錯誤。

2019/11/12

Mac 找出被佔用的IP及port find IP port usage

Mac 檢視IP port被佔用的方法如下。

IntelliJ IDEA 搜尋關鍵字快速鍵 search keyword shortcut

IntelliJ IDEA在專案中搜尋關鍵字快速鍵。

Postman 使用動態變數 {{$guid}} 產生GUID

Postman呼叫API時,可使用Postman提供的動態變數{{$guid}}來產生GUID。

2019/11/11

Python 使用in關鍵字判斷元素是否存在序列中 use in to find if sequence contain value

Python的in關鍵字可用來判斷一組序列(sequence)是否存在某元素。

Python 定義函式的引數預設值 define function default argument value

Python的函式引數(arguments)可以定義預設值(default value)如下。

Spring Boot Security The request was rejected because the URL was not normalized. 錯誤

今天在用Postman測試API時,出現The request was rejected because the URL was not normalized.錯誤。

2019/11/9

Spring Boot 設定多個外部配置檔 multiple properties files configuration

Spring Boot匯入多個外部配置檔(properties files)的設定方式如下。

2019/11/8

Oracle GROUP BY範例,統計每日瀏覽器交易錯誤代碼總計

記錄一下今天組了半天的SQL,太久沒用都快忘光了。

2019/11/7

Oracle 查詢昨天的資料 select data from yesterday

Oracle查詢前一日的資料的SQL如下。

Oracle 轉換毫秒為日期DATE covert milliseconds to DATE

Oracle 轉換毫秒(milliseconds)為DATE日期格式的方法如下。

Oracle 取得今日的毫秒數 convert SYSDATE to milliseconds

Oracle 取得今日並轉成毫秒(milliseconds)的SQL語法如下。

2019/11/6

HTML 去除<ul>項目清單的黑色圓點及縮排 remove <ul> list's bullet and indent

HTML的清單<ul>除去預設的黑點及縮排效果的方式如下。

2019/11/5

Lombok @Builder 編譯錯誤 compile error

今天使用lombok的@Builder時,啟動專案時出現下面編譯錯誤。

Oracle ORA-02291: integrity constraint (string.string) violated - parent key not found 錯誤原因

今天使用Spring Data JPA新增資料進PRODUCT資料表時出現錯誤Oracle ORA-02291 integrity constraint FK_PRODUCT_MEMBER_ID violated - parent key not found錯誤。

Spring Boot Request method 'POST' not supported

今天使用Postman送出POST請求呼叫API時,console印出Request method 'POST' not supported訊息而無法正確呼叫。

2019/11/3

Git 刪除本地分支 delete local branch

Git 刪除local branch本地分支的方法如下。

Java convert Iterable to Stream

Java把Iteragble物件轉成Stream的方法如下。

Python 定義一個簡單類別範例 define a simple Class example

Python定義一個簡單的類別class範例如下。

Python import module

Python使用import匯入module(模組)的方法如下。

Python pass

Python的pass用來做為一個什麼都不做的空敘述。

2019/11/2

Python for loop迴圈 break and continue

Python for loop迴圈可使用break提早離開迴圈;使用continue直接跳往下個迭代。

Python 九九乘法表 使用for迴圈

Python使用for loop迴圈印出九九乘法表。

Python for loop迴圈語法範例

Python for迴圈(for loop)的語法如下。

Java 使用DateTimeFormatter轉換日期字串為LocalDate
convert String to LocalDate

把表示日期的字串如2019/08/15轉換成Java 8的LocalDate的方法如下。

Git branch 顯示分支 show branches

Git查看分支(branch)的指令如下。

Git stash 暫存正在修改的內容

當在Git專案的某條分支修改了部分檔案且工作尚未完成,而臨時因為工作需要(各種理由急件,插單,bug修復等)切換到另一個分支,而必須先把目前分支進行到一半的修改暫存起來時,可使用git stash指令將目前做的暫時存起,等待回從另一條分支切回後再取出。

台北市 中山區 吾妹關東煮

今天(2019/11/2)星期五晚上下班回家和老婆順便在捷運中山站附近吃晚餐,看到這家巷子內的吾妹關東煮不用排隊就決定來吃。

2019/11/1

面試 你為什麼想寫程式

我在面試時常被問到這問題,為什麼會來寫程式。

2019/10/31

Java LDAP 登入時出現 java.security.cert.CertificateException: No subject alternative names present 錯誤

解決方法是啟動時傳入Java參數設定
-Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true

2019/10/28

2019年 國泰人壽 富利多多保單 試算

2019年國泰富利多多終身保險試算。

Mac 更新Gradle版本

Mac更新gradle版本的方法如下。

IntelliJ IDEA 無法解析函式庫類別 some library cannot resolve symbol

今天在IntelliJ IDEA的Spring Boot gradle專案,發現有些函式庫,如springframework等library都無法匯入,變成紅色錯誤顯示cannot resolve symbol提示。

2019/10/27

Markdown 選取方塊語法 checkbox syntax

Markdown 選取方塊checkbox語法如下。

Oracle BETWEEN 與 小於等於且大於等於 差別

SQL語法中,查詢某個範圍內的條件語法常用BETWEEN v1 AND v2>= v1 AND <= v2,兩者有何不同?

使用Spring BeanUtils.copyProperties()複製Java Bean或POJO的properties值

本篇介紹利用Spring BeanUtils.copyProperties(Object source, Object target)方法把JavaBean/POJO物件的properties值複製到另一個物件。

台北市 大同區 梁社漢排骨-民生承德店

昨天2019/10/26公司員工旅遊結束後,晚上回家順便在經過的梁社漢排骨吃晚餐。

2019/10/26

宜蘭 三星 農夫青蔥體驗農場 拔蔥體驗

昨天2019/10/26公司員工旅遊,所以有有這個機會去宜蘭的農夫青蔥體驗農場體驗拔蔥。

2019/10/25

Java 檢查多個物件是否為null check multiple objects are null

Java 檢查多個物件是否為null的方法如下。

Java Set轉陣列 convert Set to array

Java 把Set物件轉成array陣列的方法如下。

桃園市 桃園區 新光三越站前店 B1 千稻咖哩

今天下班去好一陣子沒去的新光三越地下室美食區用餐。

2019/10/23

Java Lambda 把元素為Optional的List轉為另一個List
covert List<Optional<Object>> to another List

Java 8 Lambda Stream collect 排除 null 元素List中的元素為一般的物件,若List中的元素為Optional包裝的物件,且有部分可能是Optional.empty()的情況,蒐集元素中某個屬性轉換成另一個List的寫法如下。

2019/10/22

我的第三筆Google AdSense收入

今天2019/10/21領到了Google AdSense的第三筆收入約152美金,距離上一次2019/7/22領取間隔3個月。

2019/10/21

Java 產生UUID碼 generate UUID

Java 產生UUID (Universally Unique Identifier)(通用唯一識別碼)的方式如下。

2019/10/18

Spring Boot + Spring Security 基本配置設定教學

本篇介紹Spring Boot + Spring Security的基本配置。

2019/10/15

Markdown 清單語法 list syntax

Markdown清單(列表)的語法如下。

2019/10/13

MongoDB 使用 mongodump 匯出資料庫 export database

本篇簡單介紹在Windows如何以mongodump來匯出MongoDB的資料庫。

Reactive Programming backpressure 是什麼

在Reactive Programming(響應式程式設計)中常可看到backpressure(回壓/返壓)這個名詞,意思如下。

2019/10/12

Customized Spring Boot banner logo

Yesterday I drew a ASCII style Spring Boot banner logo manually.

Spring @Value 預設值 default value

Spring的@Value可以方便將properties檔中的設定值注入至程式內,如果注入的key不存在於properties檔,可透過設定預設值來避免null造的錯誤。

Spring Security WebFlux 實作ReactiveUserDetailsService從資料庫取得使用者資料

Spring Security WebFlux從資料庫取得使用者驗證的配置。

Spring Security WebFlux 簡單配置範例

本篇記錄在Spring Security WebFlux的簡單配置。

2019/10/10

2019/10/9

Java Palindrome String

最近去面試,考了一題簡單的白版題,題目為判斷傳入的字串是否為回文(Palindrome String)。

2019/10/8

JBoss EAP 7 standalone Server set Java properties

在JBoss EAP 7 standalone server設定Java執行時的參數方式如下。

2019/10/5

IntelliJ IDEA Community 建立Spring Boot專案教學
create spring boot project

在IntelliJ IDEA Community建立Spring Boot專案的方式如下。

IntelliJ IDEA 快速產生if區塊 generate if block

在IntelliJ IDEA快速產生if區塊的方法如下。

IntelliJ IDEA 快速產生System.out.println()
generate System.out.println()

在IntelliJ IDEA快速產生System.out.println()的方法如下。

IntelliJ IDEA 快速產生for迴圈區塊 generate for loop

在IntelliJ IDEA快速產生for loop的方法如下。

IntelliJ IDEA 快速產生main方法 generate public static void main() method

在IntelliJ IDEA快速產生public static void main(String[] args) {}的方法如下。

IntelliJ IDEA 修改字型文字大小 change font size

IntelliJ IDEA修改字型大小的方式如下。

Windows 安裝IntelliJ IDEA Java開發環境教學

本篇介紹如何在Windows 7安裝JetBrainsIntelliJ IDEA Java整合開發環境(IDE),並撰寫一支程式印出"Hello World"。

2019/10/4

JCConf Taiwan 2019 活動記錄

今年八月被前同事推坑買了JCConf 2019 早鳥票,所以今天去了JCConf(Java Community Conference) 2019,很棒的活動,以後每年都要來參加。

2019/10/3

Spring Security @EnableWebSecurity的作用

簡單來說@EnableWebSecurity是用來啟用Spring Security所需的各項配置。

2019/10/2

Spring Security 取得 CsrfToken

在Spring Security取得目前的CsrfToken物件的方法如下。

2019/9/30

Spring Boot Security two form api login with two UserDetailsService

本篇介紹如何在Spring Boot Security設定兩個form-data的api登入,且兩個登入口驗證時的使用者來源為不同的兩個UserDetailsService

Spring Boot Security 預設的使用者名稱及密碼 default user username and password

Spring Boot Security預設的使用者名稱為user,密碼則是系統啟動時印在console的UUID,例如

2019/9/29

Spring Security UserDetailsService 用途

簡單來說UserDetailsService是Spring Security用來載入使用者資訊的一個組件。

桃園市 桃園區 中華路 大眾鐵板燒

2020年底經過發現已結束營業。

2019/9/28

Java convert Array to Stream

Java 陣列轉Stream的方式如下。

桃園市 桃園區 燒肉眾桃園復興店 炭火燒肉 吃到飽

2021年因疫情關係已結束營業。變成一家火鍋店。

2019/9/27

技術社群活動問卷調查結果2019/7/11 - 2019/9/28

之前好奇參加技術社群活動的開發者的比例有多少,所以在右側欄放了一個技術社群活動問卷調查的Google表單,以下是2019/7/11 - 2019/9/28的統計結果。

Spring Security LDAP form api login auth認證

如何建立Spring Boot Security專案並以夾帶form-data的api登入LDAP認證。

2019/9/26

Eclipse Access restriction: The type '[ClassName]' is not API (restriction on required library '/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar')

今天git pull同事的程式碼時,其中有幾個類別出現紅色叉叉錯誤,錯誤訊息如下:

Access restriction: The type '[ClassName]' is not API (restriction on required library '/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar')

Spring Boot Security two form api login範例

本篇介紹如何在Spring Boot Security設定兩個form-data的api登入。

2019/9/25

Spring Boot Security form api login範例

本篇介紹如何建立Spring Boot Security專案並以夾帶form-data的api登入。

Java 列舉 Enum valueOf()正確用法

最近發現蠻多人會在業務邏輯程式中直接使用Enum.valueOf(String arg0)將傳入的字串轉為對應的Enum型別,而這樣是好的寫法嗎?

HTML 標籤與元素的差別 tags and elements difference

Tags(標籤)是指element加上角括弧例如<body>,而element(元素)是指body

Java 引數(argument)和參數(parameter)的差別

引數(argument)雨參數(parameter)的差別如下。

Spring MVC 修改request參數為 UTF-8 編碼

Spring MVC 修改request參數編碼為UTF-8的方法如下。

2019/9/23

Spring Security @EnableGlobalMethodSecurity 用途

Spring Security @EnableGlobalMethodSecurity 用途如下。

Eclipse gradle build 打包Spring Boot專案為可佈署的WAR檔

在Eclipse使用gradle build將Spring Boot專案打包為可佈署的WAR檔(deployable war)設定如下。

JBoss EAP Standalone Server jdk版本設定

JBoss EAP Standalone Server運行時預設會使用系統環境變數JAVA_HOME所指路徑的jdk,若要改用其他的jdk版本則修改方式如下。

Visual Studio Code 關閉HTML自動結束標籤 close HTML auto closing tags

Visual Studio Code編輯HTML時關閉自動產生結束標籤(eng tad)的方法如下。

2019/9/22

Git HEAD detached at remote branch問題

今天從遠端clone一個專案下來,然後用git checkoutorigin/master切到另一條遠端分支origin/dev

$ git checkout origin/dev

此時輸入git status時,出現HEAD detached at origin/dev的訊息。

Jolly Time Fun Mania 甜鹹微波爆米花

今天(2019/9/22)晚上和老婆去桃園統領威秀看剛上映的「返校」電影,在樓下全家買了Jolly Time Fun Mania 甜鹹微波爆米花上去邊看邊吃。

2019/9/21

Eclipse Lombok 安裝

Eclipse安裝及使用lombok套件的方式如下。

Git 檢查遠端是否有更新 check remote repository change

Git檢查遠端倉庫(remote repository)上是否有新的提交的方法如下。

SQL Server 查詢DUAL虛擬表 select from dual table

在Oracle資料庫有一個DUAL虛擬表可讓我們進行一些測試語法貨函式的查詢如下。

Oracle 刪除資料表欄位 remove columns from tables

Oracle刪除資料表欄位的語法如下。

2019/9/18

Spring Data JPA 合併欄位唯一限制 配置 composite unique constraint configuration

在Spring Data JPA的Entity實體類若對映的資料表有多欄位形成的唯一限制(composite unique constraint),則配置如下。

Java 8 Lambda Stream collect 排除 null 元素

Java 8 串流Stream蒐集元素排除元素null的寫法範例如下。

Java 如何在列舉中定義靜態常數 how to define static constant variable in enum

在Java的Enum(列舉)中定義靜態成員常數(static constant)的方法如下。

2019/9/16

沖繩紀念品 新垣瓦工場 赤瓦吸水杯墊

今年(2019)去沖繩玩買了新垣瓦工場製作的赤瓦吸水杯墊(赤瓦コースター)開箱。

Git 使用命令別名縮寫 Git Alias

Git命令別名(alias)的用法如下。

2019/9/15

日本 沖繩縣 那霸市 首里殿内 Sui Dunchi

今年9月初去沖繩旅行第二天(2019/9/6)上午去逛首里城,就計畫順便來吃這家台灣人應該都會來的首里殿内(Sui Dunchi)。

2019 沖繩 五天四夜自助旅遊計畫

本篇為2019年秋天沖繩五天四夜(2019/9/5-2019/9/9)早去早回自助旅遊計畫。

2019/9/14

Gogoro GoShare 共享電動機車費率

2019/8/29開始在桃園正式服務的Gogoro GoShare共享機車費率收費方式如下。

Java Map 轉 List 範例

Java 把Map中的元素轉換為List的方法如下。

2019/9/12

Java 設計模式 建造者模式 Builder Pattern

Builder Pattern(建造者模式)屬於設計模式中Creational Pattern(創建模式)。當物件(object)的建構過程比較複雜或建構的物件有多種樣貌時,可利用Builder Pattern來設計。

2019/9/11

Eclipse 在Debug模式使用Inspect檢視變數,方法,表示式的值

在Eclipse除錯模式(debug mode)下檢視程式中某個變數,方法,或表示式的值的方法如下。

Spring Data JPA org.hibernate.AnnotationException: No identifier specified for entity 錯誤原因

在設計好Spring Data JPA的實體類別(Entity class)後,啟動時出現org.hibernate.AnnotationException: No identifier specified for entity: <Entity class full qualified name>錯誤。

2019/9/10

Mac 編輯環境變數 $PATH

在Mac修改環境變數(environment variable) $PATH的作法如下。

Mac 安裝 Oracle SQL*Plus

本篇記錄在Mac安裝Oracle SQL*Plus。

Spring Data JPA JdbcTemplate 多資料庫來源配置範例 multiple datasource configuration example

Spring Boot,Spring Data JPA,JdbcTemplate多資料庫來源(multiple database datasource)配置範例。

2019/9/4

Docker 刪除已建立的容器 remove container

刪除Docker已建立的容器(Container)的方法如下。

2019/9/3

Docker 停止運行中的容器 stop containers

Docker停止運行的容器(Container)的指令如下。

Docker 查詢運行中的容器 list running containers

查看Docker目前運行中的容器(Container)的指令如下。

Git 復原已staged的檔案 unstage changing Files

Git把已使用git add的staged檔案回復成未修改前的unstaged狀態,也就是取消git add的方法如下。

2019/9/2

Visual Studio Code Tab轉空白 Convert Indentation to Spaces

Visual Studio Code (VSCode) Tab縮排轉成空白的方式如下。

Mac 執行 git 時出現 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)

在Mac執行git時出現xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)而無法使用git指令。

2019/9/1

Spring Boot Log4j2 Maven Gradle dependencies 設定

Spring Boot的spring-boot-starter-logging預設是依賴logback,若同時又加入了log4j的依賴,就會導致classpath下有logback與log4j兩個日誌框架,並造成Spring Boot SLF4J: Class path contains multiple SLF4J bindings.的警告。

Log4j2 Logger Level Order 等級高低順序

Log4j2內建的Level等級由高至低順序如下。

Spring Boot 預設的日誌級別 default log level

Spring Boot預設的日誌等級為INFO。也就是預設會輸出ERRORWARNINFO的log訊息。

Spring Boot SLF4J: Class path contains multiple SLF4J bindings.

啟動Spring Boot專案時,出現錯誤SLF4J: Class path contains multiple SLF4J bindings.如下。

HTML <input type="checkbox"> 複選框 Checkbox

在HTML網頁可使用輸入元素(Input element)的複選框<input type="checkbox">讓使用者可以進行多選。

CSS 練習 Attribute selectors 屬性選擇器 [attr]

請建立一份HTML文件,檔名為attr-selectors.html。請用VS Code編輯。

2019/8/31

台北市 中山區 松江南京站周邊 李記食堂

2019/8/30晚上下班和老婆去吃這家台北市中山區的李記食堂。

桃園市 桃園區 靴子義大利麵 桃園中華店

今天(2019/8/31)放假中午隨便找個平價的餐廳吃,就決定去吃靴子義大利麵。

Spring Boot properties file value injection 屬性配置檔注入

Spring Boot properties配置檔參數注入範例。

Spring Boot JUnit 5 Gradle 設定

在Spring Boot 2.1 Gradle專案使用JUnit 5測試框架的設定如下。

JUnit 執行時出現錯誤 java.lang.NoClassDefFoundError

今天在Spring Boot + Gradle新的專案執行JUnit測試時,出現java.lang.NoClassDefFoundError的錯誤,過程及原因如下。

2019/8/30

Log4j2 日誌輸出的預設等級 root logger default logger level

當使用Log4j2作為程式的日誌輸出函式庫時,若log4j2找不到任何配置文件(例如classpath下的log4j2.propertieslog4j2.xml), 預設會使用root logger輸出日誌,且日誌輸出級別預設為Level.ERROR

Mac 向前刪除按鍵 forward delete shortcut key

Mac的刪除鍵 是向後刪除。如果要向前刪除,則輸入方式為 Fn +

參考:

2019/8/29

Mac 檢查系統中是否已安裝 Homebrew

如要檢查Mac中是否已經安裝了Homebrew套件管理工具,可使用下面指令。

Jackson @JsonInclude用法

在Spring Web專案的RestController回傳Java物件時,Spring會自動透過Jaskson把回傳的Java物件轉換成JSON。

如果希望Java物件的屬性在某些情況下不要被轉成JSON屬性,可以設定@JsonInclude來達成。

2019/8/28

Java 執行 Spring Boot 專案可執行的 jar 檔

執行Spring Boot專案的可執行的jar檔(executable jar)的方法如下。

Spring Boot Java POJO 物件與 JSON 的屬性命名慣例格式轉換設定

本篇介紹在呼叫Spring Boot Web MVC時,如何設定JSON屬性命名慣例與Java物件屬性命名慣例格式的轉換,例如Snake Case與小駝峰(Lower Camel Case)互相轉換。

2019/8/27

Python If else elif 寫法範例

Python的if else elif語法如下。

2019/8/26

Gradle 引入專案目錄下的 implementation local file jar

build.gradle引入專案目錄中資料夾的jar方法如下。

Eclipse Mac 最大化編輯區快速鍵 Maximize editor shortcut key

Eclipse Mac最大化編輯區的快速鍵為Control ⌃ + M

查詢 Oracle 資料庫版本 Find out Oracle database version

查看Oracle資料庫安裝版本的方式如下。

2019/8/25

Python 使用 BeautifulSoup 解析 PTT 網頁資料

本篇介紹如何使用BeautifulSoup套件來解析抓回來的網頁資料。

桃園市 桃園區 稻之屋涮涮鍋中華店

今天假日(2019/8/25)閒來無事去街上隨便找吃的,就決定吃這家經過很多次都沒進去的稻之屋涮涮鍋中華店吃看看。

2019/8/24

Visual Studio Code 清除Terminal內容 clear Terminal content

清除Visual Studio Code內建Terminal的內容方式如下。

Python 使用 Requests 套件抓取 PTT 網頁資料

本範例介紹如何使用Python 3及Requests函式庫來抓取網頁資料。

Spring Boot 設定 Interceptor 攔截器範例

本篇介紹如何在Spring Boot應用程式中設定Inteceptor攔截器,其可攔截傳入Controller的Request及攔截從Controller回傳給Client的Response。

2019/8/23

Git Bash how to quit git log 如何離開 git log。

在Gig Bash使用git log指令檢視提交紀錄,要退出檢視狀態直接按鍵盤上的Q鍵即可離開。

2019/8/22

HTML 練習 問卷調查表單

請建立一份HTML文件,檔名為survey.html。請用VS Code編輯。

2019/8/21

HTML <input type="radio"> 單選框 Radio Button

在HTML網頁可使用輸入元素(Input element)的單選框<input type="radio">,讓使用者可以進行單選。

Spring Boot 2 + Spring Data MongoDB + MongoDB 簡單範例

本篇說明如何在Windows 7建立Spring BootSpring Data MongoDBMongoDB資料庫進行基本操作的專案。

2019/8/20

HTML 練習 會員登入表單

請建立一份HTML文件,檔名為login.html。請用VS Code編輯。

2019 監理站汽車駕照日文譯本辦理記錄

早上去桃園監理站補辦汽車駕照,順便辦理駕照的日文譯本,這樣去日本就才能租汽車來開。

2019/8/19

台北市 萬華區 松屋西門町店 牛丼

今天(2019/8/20)面試完經過西門町的時候看到松屋,在日本有吃過還蠻喜歡的,所以中餐就決定吃這個啦。

2019/8/18

Python 字串分割截取子字串

Python分割字串(String slicing)的語法如下。

Python 使用 def 定義函式

在Python定義函式(function)的方式如下。

Python 在程式碼中加入註解

在Python程式中加入註解說明的方式如下。

2019/8/17

HTML <form> 表單元素

在HTML網頁可使用表單元素<form>來表示表單。

HTML 什麼是form control

HTML規格文件中,在Forms表單章節常看到form control(表單控制)這個詞,其意思如下。

CSS Attribute selectors 屬性選擇器

本篇介紹CSS selectors的Attribute selectors(屬性選擇器)的用法。

2019/8/16

教老婆寫程式記錄(十八)

從上一次記錄至今大多在複習之前的CSS selectors與HTML <table>等,配合著使用各種<input><label>。因為在練習題目的過程中發現還不是很熟稔,因此需要比較多的練習才能熟練。

Windows 安裝Python套件管理工具pip

開發Python應用程式時,需要使用到許多第三方開發的Python套件(package)。建議使用pip套件管理工具來從PyPI下載所需的套件。

本篇介紹如何在Windows 7安裝pip。

Python 什麼是PyPI

Python生態系的PyPI (The Python Package Index)是一個軟體套件儲存庫(software package repository)。

Python 在VS Code debug Python程式

在Visual Studio Code (VS Code)對Python程式進行除錯(debugging)的方式如下。

Visual Studio Code 關閉自動結束引號 Turn off auto closing quotes

在Visual Studio Code (VS Code)關閉自動結束引號(Auto Closing Quotes)的作法如下。

CSS 練習 Type Selectors, Class selectors, ID Selectors

請建立一份HTML文件,檔名為account.html。請用VS Code編輯。

Java 物件導向程式設計原則 SOLID Design Principles

在物件導向程式程式設計中,有五個應遵循的設計原則,通稱為SOLID設計原則。

Java 什麼是依賴注入(Dependency Injection)

本篇說明什麼是依賴注入(Dependency Injection),簡稱DI。

2019/8/14

Python 在VS Code開發Python程式教學

本篇介紹如何在Visual Studio Code編輯器開發Python程式。

HTML 練習 會員資料表

請建立一份HTML文件,檔名為member.html。請用VS Code編輯。

2019/8/13

HTML <label> 標籤元素

在HTML網頁可使用選單元素<label>來表示輸入欄位的標題。

2019/8/12

HTML <select> 選單元素

在HTML網頁可使用選單元素<select>來表示下拉選單(drop-down menu)。

2019/8/11

MySQL與MongoDB儲存單位比較

以下是MySQL關聯式資料庫與MongoDB NoSQL文件資料庫在儲存單位名稱的差異比較。

HTML 練習 個人資料表

請建立一份HTML文件,檔名為profile.html。請用VS Code編輯。

Git 在Git Bash顯示遠端倉庫(remote repository)的URL位址

顯示Git專案在遠端倉庫(remote repository)的URL位址如下。

Git 使用Git Bash從GitHub下載專案

使用Git Bash把GitHub上的專案下載至本機電腦的方法如下。

桃園市 桃園區 瓦城泰國料理 桃園三越站前店

今天(2019/8/11)星期日下午帶岳父,岳母還有老婆四個人一起來桃園火車站旁的新光三越百貨樓上的瓦城泰國料理用餐。

MongoDB 修改單一筆document資料的屬性範例

本篇介紹在MongoDB修改Collection中單一筆document資料的語法範例。

2019/8/10

MongoDB 查詢資料邏輯運算子語法範例

本篇簡單介紹在MongoDB查詢資料時如何使用邏輯運算子(Logical Query Operators)來篩選查詢資料的語法。

MongoDB 查詢資料比較運算子語法範例

本篇簡單介紹在MongoDB查詢資料時如何使用比較運算子(Comparison Query Operators)來篩選查詢資料的語法。

MongoDB 什麼是BSON

BSON(中文發音:逼森)是Binary JSON的簡稱,是MongoDB用來儲存文件(document)資料及遠端程序呼叫(remote procedure calls)的資料格式。

2019/8/9

MongoDB 使用mongo shell新增多筆資料

以下介紹如何使用mongo shell在MongoDB新增多筆資料。

MongoDB 在Robo 3T建立集合Collection及新增資料

本篇介紹如何使用Robo3T在MongoDB資料庫建立新的Collection。

MongoDB 使用Robo 3T建立資料庫

本篇介紹如何使用Robomongo - Robo3T建立MongoDB資料庫。

MongoDB 使用mongo shell建立資料庫

使用mongo shell在MongoDB建立新的資料庫的方法如下。

MongoDB 使用mongo shell連線

本篇簡單介紹在Windows如何以mongo shell對MongoDB進行連線。

MongoDB 查看Data directory與Log directory的目錄位置

在Windows系統查看MongoDB的Data directory與Log directory資料夾的目錄位置方法如下。

2019/8/8

Chromecast 3 2019 開箱

生日老婆送了一台(我指定要的)Google Chromecast給我,以下是簡單的開箱。

JCConf 2019 KKITX早鳥票

JCConf 2019 早鳥票在KKITX開始販售了。

活動時間為2019年10月4日。活動地點在 台大醫院國際會議中心(台北市中正區徐州路2號)。

MySQL 查詢第一筆資料

MySQL查詢第一筆資料的語法如下。

如何判斷好公司

這篇是看了PTT Salary板gogotalk的[問題] 如何判斷好公司?(文章代碼:#1TB4HnX6)及鄉民留言後的一些個人心得及經驗分享。

2019/8/7

台北市 中山區 Buckskin Yakiniku 柏克金燒肉屋

昨天是(2019/8/7)七夕情人節,在這特別的日子老婆請我吃台北中山區的Buckskin Yakiniku 柏克金燒肉屋

HTML <input> value屬性

HTML <input>元素的value屬性作用如下。

HTML dirty value flag

HTML <input>元素的dirty value flag。

HTML <input type="password"> 密碼輸入欄位

在HTML網頁可使用輸入元素(Input element)的密碼輸入欄位<input type="password">,讓使用者可以輸入字碼。

2019/8/6

CSS 練習 自訂Class selectors

請建立一份HTML文件,檔名為my-class-selectors.html。請用VS Code編輯。

CSS 練習 自訂ID Selectors

請建立一份HTML文件,檔名為my-id-selectors.html。請用VS Code編輯。

HTML 練習 建立不同長度的<input>輸入欄位

請建立一份HTML文件,檔名為input-size.html。請用VS Code編輯。

2019/8/5

HTML <input> size屬性

HTML <input>元素的size屬性作用如下。

HTML 練習 建立<input>欄位

請建立一份HTML文件,檔名為inputs.html。請用VS Code編輯。

HTML <input type="text"> 一般文字輸入欄位

在HTML網頁可使用輸入元素(Input element)的文字輸入欄位<input type="text">讓使用者可以輸入文字資料。

2019/8/4

MongoDB的預設TCP port號

MongoDB的預設使用的TCP port號為27017。

Windows MongoDB 下載與安裝教學

2019年8月NoSQL資料庫MongoDB下載與安裝教學。

2019/8/1

HTML <input> 輸入元素 Input element 簡介

在HTML網頁可使用輸入元素(Input element)<input>來定義輸入介面,讓使用者可以輸入資料。

HTML 空元素 Void elements

一般的HTML元素都會有一個開頭標籤(start tag)搭配一個結尾標籤(end tag),在開頭與結尾標籤之間放一些內容,例如常見的<p>...</p><h1>...</h1>

而有些HTML元素只有單獨一個標籤,也就是其沒有開頭與結尾標籤包夾的內容,又稱為空元素(Void elements),例如<br><hr><input>

CSS 練習 修改字型

請建立一份HTML文件,檔名為font.html。請用VS Code編輯。

2019/7/31

教老婆寫程式記錄(十七)

今天(2019/7/31)完成以下。

2019/7/30

Visual Studio Code HTML CSS JavaScript程式碼排版(Code Formatter)套件 Beautify

在Visual Studio Code(VS Code)撰寫前端網頁程式時,經常需要對編輯的HTML,CSS及JavaScript程式碼整理排版讓原始碼變得整齊好維護,在VS Code可以安裝Beautify這個程式碼排版(code formatter)擴充套件來幫助我們快速排版。

健身工廠金卡會員

今天取得健身工廠金卡的會員卡了。

教老婆寫程式記錄(十六)

今天(2019/7/30)完成以下。

CSS 練習 HTML <table> 表格邊框單線 CSS設定

在HTML的<table>預設沒有框線顯示。

CSS 練習 Simple selectors 綜合練習

請建立一份HTML文件,檔名為orderlist.html。請用VS Code編輯。

2019/7/29

Java 9 不可變的集合 Immutable Collections

Java 9 提供了如List.of()Map.of()Set.of()等靜態工廠方法來建立不可變的集合(Immutable Collections)。

Java 9 List.of()用法

Java 9在List介面新增了List.of(E... elements)方法,其用法如下。

教老婆寫程式記錄(十五)

今天(2019/7/28)完成以下。

CSS 練習 使用Class selectors

請建立一份HTML文件,檔名為class.html。請用VS Code編輯。

Visual Studio Code 垂直選取(column selection) / 區塊選取(block selection) 快速鍵

Visual Studio Code (VS Code) 垂直選取(column selection)/區塊選取(block selection)編輯器中的文字的快速鍵(short cut)如下。

CSS 練習 ID選擇器

請建立一份HTML文件,檔名為id-selectors.html。請用VS Code編輯。

2019/7/28

教老婆寫程式記錄(十四)

今天(2019/7/28)完成以下。

CSS ID selectors ID選擇器

本篇介紹CSS selectorsID selectors(ID選擇器)的用法。

CSS 練習 全體選擇器

請建立一份HTML文件,檔名為universal.html。請用VS Code編輯。

2019/7/27

Spring Boot 設定應用程式的HTTP port號

Spring Boot應用程式預設的HTTP port號為8080,若要修改port號,可在應用程式的application.properties(or application.yml)修改server.port如下。

HTML 練習 多層<div>區塊

請建立一份HTML文件,檔名為division.html。請用VS Code編輯。

CSS Type selector 元素選擇器

本篇介紹CSS selectorsType selector(元素選擇器)的用法。

2019/7/26

CSS 選擇器 (CSS selectors) 簡介

什麼是CSS selectors(CSS選擇器)呢?CSS selectors是用來選取要套用CSS樣式的HTML元素的一種語法規則。

HTML <div> 區塊元素 Division element 簡介

在HTML網頁可使用區塊元素(Division element)<div>來定義區塊。

裝玻璃

家裡客廳和陽台之間的門少了一塊玻璃。那個位置原本是放一台前屋主留下的舊窗型冷氣,剛搬來我就請人幫我拆了,所以那個地方就缺一塊玻璃。

2019/7/25

教老婆寫程式記錄(十三)

今天(2019/7/25)完成以下。

Spring Cloud Netflix Eureka + Ribbon 使用Load-balanced RestTemplate實作客戶端負載平衡服務溝通

本範例介紹使用Spring Cloud Netflix Eureka建構Eureka服務發現(Service Discovery),多個Eureka Client服務實例(Service instances),搭配Spring Cloud Netflix Ribbon並透過RestTemplate來進行服務間溝通的客戶端負載平衡(Client side load balancing)。(很饒口,看過就好)

HTML 練習 使用超連結

請建立一份HTML文件,檔名為link.html。請用VS Code編輯。

2019/7/24

教老婆寫程式記錄(十二)

今天(2019/7/24)完成以下。

HTML 超連結元素Hyperlink element <a>簡介

在HTML網頁中建立「超連結(Hyperlink)」可使用超連結元素(Hyperlink element)<a>

SpotBugs Bug: Class [Class] defines non-transient non-serializable instance field [field]

當用SpotBugs檢測程式碼時,出現關於Serializable的警告訊息如下。

Java 程式碼檢測FindBugs or SpotBugs

Java的程式碼靜態分析工具有FindBugsSpotBugs,那兩者有什麼不同,該選擇哪個呢?

2019/7/23

CSS 練習 更改文字顏色與大小

請建立一份HTML文件,檔名為text.html。請用VS Code編輯。

桃園藝文特區範圍

桃園藝文特區的範圍根據之前桃園觀光導覽網的頁面存檔說明如下。

桃園市 桃園區 Chophouse恰好食美式餐廳 藝文店

周日(2019/7/21)下午沒事和老婆騎車四處繞順便找吃的,就到藝文特區那看看,經過這家Chophouse恰好食美式餐廳就進來吃看看。

家裡的空間大小

記錄一下家裡各空間的大小。

2019/7/22

CSS 外部樣式表(External style sheet) 在HTML文件參考外部CSS檔

CSS樣式可獨立設定在副檔名為css的檔案,然後在HTML文件使用<link>來參照。這外部CSS檔稱為外部樣式表(External style sheet)。

教老婆寫程式記錄(十一)

今天(2019/7/18)完成以下。

2019/7/21

我的第二筆Google AdSense收入

今天2019/7/22領到了Google AdSense的第二筆收入約107美金,距離上一次2019/2/21領取間隔約5個月。

2019/7/19

JavaScript 使用prompt()對話視窗

JavaScript在瀏覽器可使用Window.prompt()來顯示對話視窗(dialog box)。

IKEA E27燈泡壽命

2017年3月買了8顆IKEA E27燈泡,在2018年底左右壞了一顆,2019年7月又壞了一顆,那推測下來我想IKEA燈泡的平均壽命約在2年到3年左右

2019/7/18

教老婆寫程式記錄(十)

今天(2019/7/18)完成以下。

CSS 簡介

Web網頁的三本柱分別為HTML,CSS,JavaScript,這三個東西交互作用構成今日我們看到的網頁。

2019/7/17

HTML 使用rowspan屬性合併表格欄位

在HTML的表格中,表示每一格的<th><td>colspanrowspan屬性可用來合併多個格子。

2019/7/16

機車 什麼是燒碗公

本篇介紹CVT無段自動變速機車的「燒碗公」是什麼意思。

HTML 使用colspan屬性合併表格欄位

在HTML的表格中,表示每一格的<th><td>colspanrowspan屬性可用來合併多個格子。

本篇介紹colspan跨欄合併。

HTML 練習 表格跨欄跨行

請建立一份HTML文件,檔名為table.html。請用VS Code編輯。

教老婆寫程式記錄(九)

今天(2019/7/16)完成以下。

Spring Cloud Eureka 如何取得EurekaClient的實例?

在Spring Cloud Eureka服務的程式中取得EurekaClient實例的方法如下。

Spring Cloud Eureka 取得服務的instanceId名稱

Spring Cloud Eureka Server中一個服務會註冊多個服務實例,而每個實例是以Eureka Instance ID來做唯一識別。

Spring Boot 在Properites檔中使用${random.*}來產生隨機值。

Spring Boot的properties配置檔中,屬性值可直接使用${random.*}來產生隨機值。

2019/7/15

Spring Cloud Eureka 使用RestTemplate實作服務間溝通範例二

本篇示範如何在一個Spring Cloud Eureka的一個服務透過RestTemplate呼叫另一外一個服務的REST API。

Spring Boot RestTemplate @Autowired無法注入

今天在Spring Boot(2.1.6.RELEASE)應用程式的Controller類別中用@Autowired注入RestTemplate的實例時出現下面錯誤訊息而無法啟動。

HTML 練習 表格基本練習 指定行列數

請建立一份HTML文件,檔名為table.html。請用VS Code編輯。

教老婆寫程式記錄(八)

今天(2019/7/15)完成以下。

HTML 練習 表格基本練習

請建立一份HTML文件,檔名為alin-album.html。請用VS Code編輯

HTML <table> 表格元素 Table element 簡介

在HTML網頁可使用表格元素(Table elements)<table>來顯示表格。

桃園市 桃園區 美味越 越南餐廳

周六(2019/7/15)中午和老婆去桃園區桃櫻橋的美味越越南餐廳吃飯。

2019/7/14

JavaScript 練習 宣告變數 使用alert()

請建立一份HTML文件,檔名為alert.html。請用VS Code編輯。

Visual Studio Code 移動程式碼快速鍵

Visual Studio Code(VS Code)移動程式碼快速鍵如下。

Eclipse 曾經用過的套件

以下是Eclipse曾經用過的套件。

JavaScript 撰寫你的第一支Hello World程式

使用JavaScript程式語言來撰寫Hello World程式。

Angular Can not determine the module class XXXComponent in [location] 錯誤

如果在Angular 做預先編譯時(Ahead of Time Complication, AOT),出現錯誤如下:

HTML 段落元素Paragraph element <p>簡介

在HTML網頁的段落文字可使用段落元素(Paragraph elements)<p>來呈現。

Eclipse 如何快速在Java類別中加入main()方法

在Eclipse中快速撰寫Java類別的main()方法的方式如下。

HTML 練習 建立一份HTML文件

請建立一份HTML文件,檔名為lyrics.html。請用VS Code編輯。

2019/7/12

教老婆寫程式記錄(六)

今天(2019/7/13)介紹什麼是變數,怎麼在JavaScript用var關鍵字宣告變數

JavaScript 用var宣告變數

JavaScript使用var關鍵字來宣告變數。

2019/7/11

技術社群聚會參加心得

分享我參加技術社群聚會的一點心得與看法。

教老婆寫程式記錄(五)

今天(2019/7/11)又再說明了一次HTML文件標籤的擺放規則,因為她仍不是很懂,所以我用箱子來做比喻。

2019/7/10

五秒鐘了解什麼是 Kubernetes K8s

Kubernetes(簡稱K8s)是用來管理一堆容器(Container)(例如:Dockerrkt)的工具,就是這樣。

在Visual Studio Code建立第一個HTML文件

本篇介紹如何在Visual Studio Code(簡稱VS Code)建立一個HTML文件。

安裝Visual Studio Code

Visual Studio Code(簡稱VS Code)是微軟開發的程式碼編輯器,是目前網站前端開發者(Front-end developers)愛用的編輯器之一。

本篇記錄在Windows 7 64bit的安裝VS Code編輯器的過程。

教老婆寫程式記錄(四)

今天(2019/7/10)主要講了標題元素<h1>,段落元素<p>,什麼是Block元素,什麼是Inline元素。

HTML 標題元素Heading element <h1>簡介

在HTML網頁內容的標題可使用標題元素(Heading elements)<h1>來呈現。

2019/7/9

TypeScript 撰寫第一支Hello World程式範例

在Windows用TypeScript撰寫第一支Hello World程式教學。

2019/7/8

教老婆寫程式記錄(三)

今天(2019/7/10)什麼都沒教,只是給她看了前20個最常被使用的HTML標籤

HTML 最常使用的HTML元素(The most used HTML elements statistics)

根據統計,網頁中最常被使用的HTML元素/標籤(HTML elements/tags)如下。

程式開發者應享有的基本權利

本篇為CODING HORROR - The Programmer's Bill of Rights這篇文章的感想,想必每個程式工作者都會感同身受。

HTML元素的分類

HTML元素可分為下面種類。

HTML <html>簡介

每一份HTML文件是由許多的HTML元素(HTML elements)所組成,又稱為HTML標籤(HTML tags)。而<html>元素為HTML文件的根結點(Root node)。

2019/7/7

HTML <!DOCTYPE html>的意思

在一份標準的HTML文件中,在第一行都會有<!DOCTYPE html>,其作用如下。

HTML 撰寫你的第一個HTML網頁教學

本篇教您如何撰寫你的第一個HTML網頁教學。

教老婆寫程式記錄(一)

今天(2019/7/7)開始教老婆寫程式。

英文 The Expert (Short Comedy Sketch)

Youtube影片The Expert (Short Comedy Sketch)的逐字稿與翻譯。

2019/7/5

英文 Live under a rock 與世隔絕

If you are in the software industry and you don’t know who Jeff Atwood is, then you have been living under a rock.
如果你在軟體業卻不曉得Jeff Atwood(stackoverflow共同創辦人)是誰,那麼你一直都是與世隔絕。

Eclipse Java 8 Lambda 語法錯誤問題

在2019年的Eclipse對Java的Lambda表示式的支援度仍不完整。

2019/7/3

Java 8 使用Stream.sorted()對List物件進行排序範例

本篇為使用Java 8 Stream.sorted()方法來對List中的元素進行排序。

2019/7/2

Java JVM對物件生命週期的世代假設(generational hypothesis)

Java HotSpot VM(以下簡稱JVM)把Heap區劃分為不同世代區塊,是基於對物件生命週期(objects lifetimes)的世代假設(generational hypothesis)。

2019/7/1

珍珠蛙

珍珠蛙,台灣特有種

JVM 與 HotSpot 有什麼不同?

JVM(Java® Virtual Machine)是規格(specification),而HotSpot(Java HotSpot Virtual Machine)則是Oracle根據OpenJDK HotSpot對JVM的實作(implementation)。

Java HotSpot VM (JVM) 的Heap記憶體的劃分

Java HotSpot VM (JVM) Heap記憶體區塊的結構如下。

2019/6/30

如果主管說要封殺你?

一位同事被主管(?)在公司的LINE群組嗆,發生時間為2019年6月30日,一個夏初炎熱的周六午後。下面是原始對話。

2019/6/28

Java Thread Pool 簡介

從Java 1.5開始,增加了java.util.concurrent的Concurrency API來處理併行程式,java.util.concurrent提供多個類別及方法讓我們能夠更方便地建立,管理,執行多執行緒,其中一個重要的特色就是Thread Pool。

2019/6/27

Java 使用ExecutorService來執行多執行緒

原本在Java使用多執行緒來做平行處理時,都是透過建立Thread物件,傳入Runnable,然後呼叫Thread.start()來執行,請參考Java 如何建立Thread

2019/6/26

分散式系統的CAP定理(CAP theorem)

在設計分散式系統(Distributed System)前,必須要了解CAP定理(CAP theorem),又稱布魯爾定理(Brewer's theorem)。

2019/6/25

艾薩克科技徵才傳單

今天2019/06/25在內湖科技園區工作的朋友傳了一張照片給我。

2019/6/24

什麼是Tuple?

Tuple是一種資料結構(data structure),是多個不同型別物件的有序集合,集合中的元素間不必有關連,但把這些元素擺在一起通常具有某種意義。

Spring Cloud Eureka 使用RestTemplate實作服務間溝通(Service to Service Communication)範例一

本篇示範如何在一個Spring Cloud Eureka的一個服務透過RestTemplate呼叫另一外一個服務的REST API。

2019/6/23

英文 好天氣,壞天氣,晴天,雨天

本篇筆記一些好天氣,壞天氣,晴天,雨天的英文。

2019/6/21

Spring Cloud 建立 Spring Cloud Netflix Eureka Server

本篇介紹如何使用Spring Boot建立Spring Cloud NetFlix Eureka Server。

2019年6月健身工廠 桃園 復興廠 Up & Down課程客訴處理

今天上午老婆去健身工廠桃園復興廠回來後,氣撲撲地抱怨她去桃園健身工廠復興店上Up & Down課程的糟糕經驗。

Spring Cloud Netflix Eureka簡介

微服務架構(Microservice Architecture)中很重要的一環就是服務註冊及發現(Service Registration and Discovery)。

2019/6/20

Java 二維陣列列旋轉為行

Java 二維陣列將列row的位置轉為行col的位置方法如下。

2019/6/19

Java 將List分割為多個子List
split List to multiple sub Lists

Java將一個大的List依指定大小分割成多個小的子List的方法如下。

Vim編輯器的操作模式(Modes)

本篇簡單介紹Vim編輯器中常見的操作模式(Modes)。

Linux Bash 如何執行目錄中的Shell Script .sh檔

確定有執行權限的情況下,要執行所在目錄中的.sh檔的方法如下。

MySQL 是否可JOIN不同資料庫的資料表

MySQL可以JOIN兩個不同資料庫的資料表,例如下面JOIN了db_one資料庫與db_two資料庫的資料表。

2019/6/18

Vim 離開時發生 E37: No write since last change (add ! to override) 無法離開

如果你用Vim開啟了檔案,進入插入模式(Insert Mode)修改了內容,然後沒有存檔直接在命令模式(Command Mode)輸入q離開Vim,就會發生E37: No write since last change (add ! to override)的提示。

2019/6/17

Vim 如何在Vim編輯器修改內容

在Vim中編輯文字的方法如下。

Vim 如何離開Vim編輯器

如果你跟我一樣是Linux超級菜鳥,一定對於如何離開Vim編輯器感到不知所措。離開Vim的方式如下。

Linux Ubuntu 使用cat >指令建立文字檔(Text File)

在Linux bash新增文字檔案(txt)的指令如下。

2019/6/16

Angular 使用*ngFor來顯示陣列內容

本篇介紹如何在Angular使用*ngFor在template中顯示陣列屬性的元素內容。

Visual Studio Code copy current line to next line (copy line down) shortcut key

Visual Studio Code (VS Code) copy current line to next line shortcut key.

Angular 使用Router Parameters 路由參數

本篇介紹如何使用Router Parameters來傳入路由參數,並在Component中取得參數。

2019/6/15

MySQL VARCHAR最大長度限制(maximum length)

MySQL VARCHAR的最大長度為65535 Bytes,而能儲存多少個字必須依字元集(Character Set)決定。

MySQL 的預設引擎 (default storage engine)

MySQL 從5.5.5之後的預設引擎是InnoDB,而在之前的版本則是MyISAM

Angular 使用wildcard route (**) 處理無效的URL

在設計Angular元件的Route時,對於錯誤或非預期的URL請求,可以透過配置wildcard route來攔截,並返回預先設計好的結果。

2019/6/14

MySQL TEXT長度限制(maximum length)

MySQL TEXT的最大長度限制是65,535 (216 − 1)個位元組(Bytes)。

2019/6/13

Linux 什麼是Shell

Linux的Shell就是指使用者介面,也就是我們用來操作Linux的工具。

Linux 為什麼執行程式前要加上點斜線./

在Linux bash執行所在目錄中的某個程式前都會加上點斜線符號./才能執行,例如

Linux htop 系統程序監控工具簡介

htop是Unix系統的程序監控工具,在終端機(terminal)介面中以文字的方式顯示。簡單說就像是Windows內建的工作管理員。

Hibernate JPA Entity屬性應該用原始型別(Primitive type)或包裹類別(Wrapper class)

當定義與資料表映射的Entity class(實體類別)時,若Entity屬性(成員變數)對映的資料表欄位是基本資料型態(例如整數(INTEGER),長整數(BIGINT),浮點數(DOUBLE)等),那應該用原始型別(Primitive type)還是包裹類別(Wrapper class)來定義Entity的屬性呢?

2019/6/9

新北 鶯歌 大漢溪左岸自行車道半日遊 往大溪方向

上禮拜和老婆去鶯歌大漢溪左岸自行車道往樹林騎UBike,這禮拜日(2019/6/9)則是往反方向走,也就是鶯歌往大溪路線。

桃園市 桃園區 好泰味-食益食坊 泰式料理

已結束營業


今天(2019/6/9)晚上和老婆去吃好像是最近新開幕的 好泰味-食益食坊 Eat Well 泰式料理。
位置在桃園市桃園區南華街25號

2019/6/8

Angular 使用Angular Router切換頁面template

本篇示範使用Angular Router在兩個Component的template間互相切換。

Visual Studio Code select current line shortcut key

Visual Studio Code (VS Code) select current line shortcut key.

Visual Studio Code delete line shortcut key

Visual Studio Code (VS Code) delete line shortcut key.

SVN 為什麼無法ignore檔案

一個專案中有些檔案是不需要被SVN版控的,通常是一些IDE與如Eclipse相關的檔案,像是.classpath.project.settings等。或是編譯或建構生成的檔案,例如Maven的target目錄。

TortoiseSVN 從SVN repository check out專案並匯入Eclipse

本篇介紹如何用TortoiseSVN將SVN repository上的專案checkout下來至本機的指定資料夾中。

2019/6/7

VisualSVN 建立多專案(multi projects)的SVN repository

建立多個專案的SVN repository (multi projects SVN repository),以VisualSVN Server為例做法如下。

KIRKLAND MICROWAVE POPCORN - MOVIE THEATER BUTTER

今天(2019/06/07)晚上和老婆去桃園統領威秀去看哥吉拉II,在樓下全家超商買了一包好市多牌的KIRKLAND奶油爆米花上去邊看邊吃。

台北市 中山區 欣葉日本料理中山店

今天(2019/6/6)老婆生日,老婆說想吃海鮮,所以決定帶她去吃欣葉日本料理。(原本想訂的是晶華酒店的餐廳,但訂位電話怎麼打都沒人接。)

桃園市 桃園區 火車站周邊 ATT筷食尚 洋朵義式廚房

今天(2019/6/7)晚上和老婆去桃園統領威秀看「哥吉拉II怪獸之王」,看電影之前先在旁邊ATT筷食尚二樓的洋朵義式廚房吃晚餐。

2019/6/6

Eclipse Maven pom.xml Maven Configuration Problem: Unknown

今天用Eclipse (2019-03)的STS plugin建立Spring Boot Web Starter專案(2.1.5)時,專案的pom.xml第一行出現未知的紅色叉叉錯誤如下。

SVN 將未被版控的Eclipse專案加入SVN repository

本篇介紹如何將未被SVN版控的Eclipse專案加到SVN repository

TortoiseSVN 無法登入SVN repository

如果發現原本之前可以正常連線到SVN repository的TortoiseSVN(也就是可以正常checkout,show log,commit等),突然變成無法連線(也就是無法checkout,show log,commit),然後即使輸入正確的帳號密碼也登不進去,可以試著將TortoiseSVN儲存的驗證資料刪除,打開TortoiseSVN的settings,在Saved Data項目中,點選Authentication data右側的Clear all刪除全部原本記住的連線SVN repository的帳號密碼。刪除後需要重新連接SVN repository並重新輸入帳號密碼即可。

2019/6/5

Java 比較物件是否相等的Identity與Equality

當比較Java中的物件是否相同時,就要了解物件的Identity與Equality是什麼,兩者有何區別。

SmartSVN How to open Directories window

The way to open the [Directories] window of SmartSVN (v11.0.2) is select Window -> Directories on the Menus bar, or you can press shortcut key Ctrl + Shift + 1

SmartSVN 更改編輯器的字型大小(font size)

SmartSVN的程式編輯器預設字型大小是9,中文看起來太小了,
在功能選單的Edit -> Preferences...,然後選擇User Inteface -> Built-in Text Editor中可以調整字型和大小。

2019/6/4

SVN 如何登出由網頁登入的VisualSVN repository

如果你已經從瀏覽器登入了VisualSVN的repository,則登出(log out)的方式如下。

MySQL Workbench 無法直接編輯資料表的資料

如果MySQL Workbench中無法直接編輯(新增、刪除、修改)資料表中的資料,那或許是你的資料表沒有設定主鍵(Primary Key)欄位或Unique Non-null欄位。

MySQL 依日期時間 (DATETIME) 條件查詢

MySQL 查詢時依DATETIME欄位為條件查詢的方法如下。

2019/6/3

Window Batch 使用 rem 在bat檔中添加註解

在Windows的批次檔(bat file)中,如果要添加註解,可使用rem

Java 計算某個數值的位數

Java 取得某個數有幾位數(digits number)的方法如下。

2019/6/2

「發布」還是「發佈」

軟體開發常會說,要發布(publish)哪個版本(revision),中文的publish有「發布」和「發佈」兩個詞,微軟新注音的提示也同時有兩種,網路上查兩個詞意思一樣,「發布」和「發佈」是通用的。

新北 鶯歌 陶瓷老街週邊 卓記牛肉麵

今天(2019/6/2)和老婆去鶯歌的大漢溪左岸自行車道騎UBike,結束時就在這家位在陶瓷博物館附近,文化路旁的卓記牛肉麵吃晚餐。

新北 鶯歌 大漢溪左岸自行車道半日遊 往樹林方向

今天(2019/6/2)下午和老婆一起去鶯歌的大漢溪左岸自行車道騎UBike。

2019/6/1

Java 副作用Side Effects

程式的副作用Side Effects是指當一個表示式(expression),函式(function)或方法(method)會改變外面物件的狀態或內容時,這個函式就被稱為有副作用。

Java String Pool 字串池,使用 == 比較兩個String是否相等

我們都知道,Java程式中比較兩個String變數是否相同時,應該用equals(String s),但面試時常會看到使用==比較兩個String變數,這主要是考你是否知道String Pool(字串池)的概念。

Java 字串轉整數的寫法 convert String to int

Java 要將字串String表示的數字轉換為整數int的方法如下。

2019/5/31

Java if else或for迴圈等區塊的大括弧結尾要不要加上註記

你可能看過一些程式碼會在if elsefor迴圈區塊(block)的大括號結尾加上註解來標識這是一個區塊的結尾。

2019/5/30

Java 三元運算子(ternary operator)用法

Java唯一的三元運算子(ternary operator)booleanExpression ? expression1 : expression2又稱為條件運算子(conditional operator)用法如下。

養米克斯狗的一般花費

在2017年的時候領養了一隻母的短毛米克斯小土狗,以下是2018年的花費統計。

Java 分割字串String中以方括弧包起來的值

要將多個方括弧[...]包起的字串分割並取出的做法如下。

2019/5/28

Java 四捨五入,無條件進位,無條件捨去

Java若要將浮點數,也就是原始型別為floatdouble的小數點部分做四捨五入,無條件進位及無條件捨去的做法如下。

2019/5/27

Java 什麼是命名空間(namespace)

在學習程式的過程中你一定看過namespace(命名空間)這個名詞,那namespace到底是指什麼東西?

Java 以逗號分割字串為字串陣列

Java以逗號(comma),分割字串為字串陣列String[]

2019/5/26

Java 框架,函式庫,套件工具比較網站 Awesome Java

Awesome Java這個網站可以對Java生態系中不同框架進行比較。

2019 Python與Java職場趨勢分析

Python目前(2018-2019)很流行,從Google搜尋趨勢來看在台灣Python的搜尋熱度是超過Java的。

Python 撰寫第一支Python程式

本篇介紹如何撰寫第一支Python程式。

Python 在Windows下載及安裝Python

這是我的第一篇關於Python的文章,我從未用過Python,因為很流行所以要學一下。

Visual Studio Code 關閉專案資料夾快速鍵

Visual Studio Code要將已開啟的專案資料夾關閉的快速建為先按Ctrl + F,然後按K