20250405小記
學生時代的我,應該是難以想像,我會像現在拼命學習。
早上七點起床,吃完早餐,七點五十左右出發公司,八點半到達。五點半下班,趕路到學校,坐下來開始上課。十點下課,到家十點半,準備隔天的午餐,然後趕快睡覺,不然會睡眠不足。
以上為週一到週五的日常。
至於週六,就是早上九點到晚上七點,整天的課。
回想起來,學生時代真的是不愛唸書。還花了很多錢補習,最後上了東吳卻因為自己任性的想法放棄學業開始工作。但我還真的不後悔做這件事,即使現在很辛苦的在補上學歷這塊。
如果不是經歷很多後,我也不會找到自己想做的事。找到自己想做的事再回來鑽研唸書,可以找到唸書的樂趣,對,這是真的,從沒想過自己真的可以從唸書找到樂趣。
這個假日,甚至整天坐在電腦前玩 php,另一天甚至在家做作業。
漸漸地玩出一點 php 的樂趣(?
也多虧了有 Java 的基礎,常常在 php 找 Java 對應的用法,有些事情其實 Java 也可以做,只是做起來比較麻煩(例如下指令建立文件)
Laravel 的一個缺點是,做一件事常常要註冊在別的地方,Java 的 Spring boot 都做好了,但 Laravel 看起來還有地方需要 ...
20250401軟體工程師的第二份工作
年資,兩年。這是我進入軟體業的第三年了。
去年發生了好多事,2024 年初,因為 Miles 的邀請,加入的主幹開發的志工翻譯團隊,翻譯到了尾聲,mentor 很突然的離開,緊接著我訂了去福岡的機票前往福岡獨旅。
在 DevOpsDays Taipei 用很爛的英文迎接 Paul,因此而堅持了一年的多鄰國(但我最近放鳥了貓頭鷹XD
自從年中我就一路不順到年底,因為 mentor 的事情被公司針對,拔權限,換電腦,再加上林林總總,看清了公司嘴臉的我,在大約十月時決定要離開前公司。
開始面試後跌跌撞撞,以兩年的年資,說實在學歷還是會看的。但給我機會面試的公司,不是我在自誇我的評價都滿好的XD但機會相對少,也難以碰上有預算的公司。
也因此在11月底時,決定去念兩年資管學士班,我想,是對現在的我來說,cp值最高的選項。
有時命運就是如此,就當我決定先窩在前公司唸書時,Miles 對我真是不離不棄,前後大約邀請了我三次問我要不要考慮他們公司。前兩次都因為各種原因沒下文,也不知道為什麼,居然問了我第三次,剛好當時的我對前公司失望透頂,於是我接下了 Miles 遞過來的橄欖枝。
面試面一面,咦,也上 ...
一年多的自我檢視
這一年算是拼盡全力,忙於工作和社群,直至今日再次拾起我的部落格更新。
前幾天小主管請我整理我這一年多以來做過的 issue,竟然有高達80多個。我知道自己做了很多是,只是沒想到有那麼多。
回頭看這一年多進步好多好多。從連 api 是什麼都霧煞煞,也寫過把東西全部裝進 Map 裡面的東西,這真的不堪回首,到現在也算是滿會寫了?!碰了很多處理多執行緒的坑,效能的坑,MyBatis 的坑,sdk 的坑,各種坑。學習做 SA,學容器化,就這樣跌跌撞撞的過來了。
檢視一下目前的技能樹:
1234567# java# myBatis# redis# rabbitmq# docker# k8s# postgreSQL
老實說不多,但夠用,看上去只要多深入一些,下一份想必很好找吧。
一路走來可以說是痛並快樂著。我覺得寫程式很快樂!但痛的部分也是真的有,解不開的套件衝突,沒考慮好效能造成的一些後果,想不出來解法覺得自己沒用的時候,所以我才能這樣好好長大吧。
老實說,我的工作運不錯,我最重視的同事關係很幸運的,幾份工作下來都很好,可惜的是老闆都……
我最幸運的,大概是遇到我主管(已離職)。大家都說他很可怕 ...
終於到這一天
封面圖是我初學程式寫 C 時為了紀念的截圖(2022/05/08)。
時間過的真的很快,一轉眼 569 個小時的課就要結束了。感謝政府的資源讓我可以上補助班,感謝爪哇社群的小夥伴們讓我除了課程的東西以外,知道很多業界基礎。感謝家人的支持,感謝願意踏出這一步的我自己。
找到工作啦!!!!!!!!!!
我從來不會特別提自己念到大三休學,大學肄業的事。但我想證明這樣並不比那些所謂”學歷完整的人”差。
我從很早以前就有這種想法了,不想要做事情是為了將就而做,而是我真的想做什麼,去做才有意義。說起來是很任性的,肆意妄為,在別人眼裡是對自己人生的不負責任,我父親就特別的不理解我。在我父親的眼裡,學歷是最重要的,像他最愛的大女兒就念完了臺科大碩士,這讓他倍感有面子。所以在我告知他休學的時候他特別無法理解,成天要我再去考個什麼或是念個什麼,他其實不明白我不喜歡念書以及我要尋找我想做的事這些事。但的確,那時的我是讓人擔心的。不知道要做什麼,只知道”不要做什麼”,開始長達三年的工作之路。我很感恩有這些工作經驗,因為這些都是很寶貴的,我走尋常路不一定得到的經驗。
從這些經驗,我得出了 ...
Spring boot
什麼是 Spring Boot ?
大致包含三大要素
starter 整合程式庫 :不用一一找版本加入(利用 Maven 功能整合依賴項目),提供很多 starter,開發者可依需求選用。
自動組態(Auto Configuration) :EX.使用啟動器 spring-boot-starter-web,預設會註冊 DispatcherServlet、託管 View 解析器(InternalResourceViewResolver)
內嵌執行環境(embedded Web Server) :不需要額外的 web serverEX.使用啟動器 spring-boot-starter-web,預設會自帶 Tomcat
另外提供 CLI(Command Line Interface )及執行器(Actuator)。
**注 :
CLI 是 Command Line Interface 的縮寫,中文為命令列面,是一種文字化的使用者介面。通常是透過終端(Terminal)或命令提示字元(Command Prompt)等軟體,鍵盤輸入指令,並以文字的方式呈現結果。CLI 可以用來控制腦、操 ...
基礎面試題
基本型別記得看一下。。。太自信臨場忘記哭阿物件導向三特性基本題
封裝、繼承、多型封裝 : 存取權限分為 private, default, protected 與 public,將屬性和方法包裝成類別方便外界對其存取,使用 scope 修飾子來提升安全性。繼承 : 主要目的就是提高程式的重複使用性,子類別將會繼承到父類別中所有可以存取的成員,包括變數與方法。子類別可以加入新方法或是 override 父類別方法。多形 : 使用同一個操作介面操作不同物件實例。
泛型泛型提供我們在使用集合時編譯時期的安全檢查,可預先指定集合裡能存放的物件類型,<>內只能放參考型別(類別,陣列,介面),所以要放基本型別要放包裝後的(對應的包裝類別)。
StringBuffer 與 StringBuilderString 類別不可以在原來的記憶體改變內容,已經產生的字串會丟到 String pool 等待下次需要時叫出。StringBuffer 類別則可以在原字串所在記憶體改變字串內容,包含 append, insert, delete, replace。
StringBuffer 字串與 ...
Spring MVC
溫馨提示 : 本 blog 皆使用專案管理工具 Maven,其相關依賴要自己去https://mvnrepository.com/ 複製唷!
What is Spring MVC?
為 Spring framework 中的一個模組(webmvc),設計模式上為前置控制器模式(Front Controller Pattern)。在 Spring MVC 中,前置控制器稱為 DispatcherServlet,底層依然依靠 Servlet API 運作。
使用概念 :
使用 Spring MVC 提供之 API Controller 來撰寫控制器(Controller)
其也提供了 Model,View 等 API
一樣使用 IoC/DI 將 Controller 託管至 IoC 容器
DispatcherServlet 收到請求(Request),會控制交由指定控制器做處理
Front Controller Pattern
Design Pattern 中,針對 MVC 架構提出的模式
所有請求集中給 Front Controller 接收,再經由⼀個分派器(Disp ...
Spring
三大重點 : IoC/DI、AOP、整合其他框架(例如 : Hibernate、MyBatis)
分為很多個模組,有需要某功能再把.jar 加進來
IoC/DI 機制IoC 託管
被託管的物件稱為 Bean 元件
將 Java 中的物件託給 Spring 管理
物件的 實例化、初始化、存活範圍、銷毀,皆由 Spring 控制
官方建議將物件抽介面(抽象化)
控制反轉到底在做甚麼?
簡單來說,本來是靠我們 new 兂的物件來做事情,現在這件事交由 Spring 處理,我們只要利用 Spring 提供的容器型態就可以取得 Spring 管理的物件。
Spring 提供很多 IoC 容器型態供使用,共同父型態為 BeanFactory,有一重要方法 getBean()以取得 Bean 元件。通常在寫 web 時將 ServletContext 轉換成 Java 可用的 ApplicationContext 物件。
123456 //以在web環境前提下使用WebApplicationContext //透過⼯具類別WebApplicationCo ...
三個半月的學習歷程
時間真的過的飛速,轉眼間已經要將近四個月了。原來已經四個月了阿。
專題的部分準備要做結尾,面試也要提上日程,,心中的不安感也日漸加重。我在驗收的將近一個月前就完成我的部分,比大部分同學早。有更多時間去準備面試、讀 Spring,比大部分同學更能安心過個好年。但心中緊張不安的情緒仍難緩解。
這時真的要感謝 Java 社群的小夥伴,有時在社群裡面聊一些放鬆嘴砲總讓我安心一些。
回想起來我的貴人很多,除了感謝我自己為了更貼近 Java 而加入社群,更多的感謝來自群裡的朋友們。年前我在群裡表示我要準備面試時,群裡的資深人資叔叔很熱心的幫我模擬面試,真的除了感謝沒有他話。群裡有很多大神(感謝 AC、GC 哥、醜青蛙、喵兔…etc),還有一些歌友帶我入全民 party 的坑,種種的一切,填滿了我這四個月的日子,讓我除了徜徉在 Java 的汪洋以外,多了很多調劑身心的事情。
現實中補習班的同學也真的很好,隔壁的妹子幫我做指甲,同排的同學幫我慶生。同組的同學偶爾會惹我生氣,但總歸大家都還不錯,我真的很感恩上天讓我這麼幸運。我的人生走到現在我從來沒有後悔,所有的選擇造就了現在的我。過去的我讓現在的我懂得 ...
Redis筆記
Redis(REmote DIctionary Server)Redius 為非關聯式的鍵值資料庫(Map)支援的資料型別:
字串型態(String)包含字串(JSON,BASE64,二進位資料),整數,浮點數
雜湊(Hash)型態巢狀 key-value,無順序性
列表(List)型態
集合(Set)型態
有序集合(Sorted Set)型態Zset
指令和 key 型別要對,不然會噴 Exception
功能特性
Redis 將所有資料都儲存在記憶體裡讀寫速度比硬碟快上許多
Redis 提供了持久化的支援記憶體的資料以非同步的方式輸出到硬碟裡
可以幫每個 key 設定存活時間 (Time To Live, TTL),常用於快取和佇列
提供了十幾種不同程式語言的 API
安裝
Redis官方並不對Windows進行安裝支援的開發,但微軟的Open Technologies Inc.還是發佈了一個可以在Windows上執行Redis的分支,目前最新版只到3.2版,請參考:
https://github.com/MicrosoftArchive/redis/rel ...







