跳到主要內容

發表文章

Write you out

Pack your bags, old lover 收拾你的行李 Cause I've been thinking of you 因為我想起了你 As I fall through the hours 當我倒下(失去你) 的這段時間 And I slip through the day 且讓日子一天一天的滑過 Now the days are not ours 現在已經不屬於我們的日子 I waste away 我浪費了 But if I just keep on singing 但如我我繼續歌唱 Maybe I can sing my heart out 或許可以唱出我的心聲 If I just keep on writing 如果我繼續寫 Maybe I can write you out Of me, me... 或許我可以把你寫離我(的心) But how long will it be, be Until you leave? 但是要持續多久, 才會讓你(的一切) 離我而去 Butterflies still flutter in my stomach 蝴蝶仍在我的胃裡飛舞 Every time I see your name 每次我看見你的名字 Oh, what a shame 噢, 多麼恥辱 Cause now there's someone here waiting for me 因為現在, 某個人正在這裡等我 And it's hard to explain 而且這很難解釋 That it's you, only you I need 這都是因為你, 只有妳才是我需要的 There's someone waiting for me, me 這裡某個人正在等我 So how long will it be, be Until you leave? 所以要多久才可以讓你離開我(心裏) 
最近的文章

2015, 今敏 Kon Satoshi

今天一個人, 把明天要 production 負責的部分, 又重新 review 了幾次, try 了幾次, 慵懶的假日, 懶得思考幾乎都用暴力法解決程式上的問題, 我也明白, 貪圖一時的方便, 會增加未來的工作量, 這是一種與未來的借貸儀式, 總覺得充滿恐懼, 這是我人生的第二份工作, 我很在意一些事情, 想要盡快上手, 分攤組員的壓力, 常常懷疑自己真的適合這份工作嗎? 另一方面又希望自己能在30 歲之前, 還清貸款, 有點成就之類的... 在胡思亂想的過程中, 想到今敏大師, 音樂的旋律, 自己在腦海中跑了起來, 重新讀了一次 今敏先生的文字, 心中的壓力, 稍微釋懷了, 希望你在天上一切安好 再見了。 今年的5月18日, 是我忘不了的日子。這一天,武藏野紅十字醫院心臟內科的醫師作出如下的宣告:「你是胰臟癌末期,癌細胞已經轉移至全身各處骨頭,最多只能再活半年。」我跟 內人一起聽到這番話。命運實在太過唐突、太過沒有道理,使我們倆幾乎無法獨力承受。我平常心裡就在想:「隨時都有可能會死掉,這也是沒辦法的。」但這未免 太過突然了。 不過,或許真的可以說是有事先徵兆。2~3個月前,我整片背部各處,以及我的腳跟等部位都出現劇烈疼痛,右腳也使不上力,走路更出現了很大的困難。我有找過針灸師與整脊師,但狀況並未改善。經過MRI(核磁共振)與PET-CT(正子斷層掃描)等等精密儀器檢查的結果,就是剛剛那段「只能再活半年」的宣告。這簡直像是回過神來,死神就站在背後似的,我實在也是束手無策。 宣告後,我與內人一同摸索活下去的辦法。真的是拚了老命。我們得到了可靠的友人以及無比強力的支援。我拒絕抗癌劑,想要相信與世間普遍觀念略略不同的世界觀 活下去。感覺拒絕「普通」這點,倒還挺有我的風格的。反正多數派當中也沒有我的容身之處,即使是醫療方面也一樣。同時這次也讓我體認到,現代醫療的主流派 背後,究竟有著什麼樣的機制。 「就在自己選擇的世界觀當中活下去吧!」可惜,光靠一股氣力是沒有用的,這點跟製作作品時一樣。病情確實一天天的惡化。 同時我也算是一個社會人,因此平常的我也大約接受了一半的世間普遍世界觀。畢竟我也會乖乖的繳納稅金。就算不足以自傲,我也夠資格算是日本社會的成員。 所以在與我「活下去」的世界觀作準備的同時,我也打算著手「替我的死亡作準備...

Install Oracle Java8 on Debian

Pre-Install sudo apt-get install software-properties-common https://packages.ubuntu.com/zh-tw/trusty/software-properties-common Install Oracle Java8 sudo add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" sudo apt-get update sudo apt-get install oracle-java8-installer javac -version Install Oracle Java9 sudo apt-get install oracle-java9-installer Java version manager sudo update-alternatives --config java SET JAVA_HOME Modified ~/.profile vim ~/.profile Append JAVA_HOME to environment # JAVA_HOME JAVA_HOME="/usr/lib/jvm/java-8-oracle" # JAVA version manange controller aliases alias jvc='sudo update-alternatives --config java' Verify source ~/.profile echo $JAVA_HOME jvc jerry@local:~$ jvc There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr...

Spring-boot Thymeleaf Html5 SAXParseException 解析錯誤

thymeleaf 解析 html5 出錯 <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content=""> <meta name="author" content=""> <title>SB Admin - Start Bootstrap Template</title> <!-- Bootstrap core CSS--> <link href="../static/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet"> <!-- Custom fonts for this template--> <link href="../static/vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"> <!-- Page level plugin CSS--> <link href="../static/vendor/datatables/dataTables.bootstrap4.css" rel="stylesheet"> <!-- Custom styles for this template--> <li...

Spring boot with docker

Spring boot with docker Spring-boot 官方教學: https://spring.io/guides/gs/spring-boot-docker/ , 做法跟設定跟官方教學有些不太一樣, 不考慮用 maven plugin 維護 docker images, 方便 devOps 統一管理。 Set up Spring-boot 先建立 spring-boot 專案, 專案命名為 demo-docker-spring 建立 controller, 簡單 echo Hello Docker World package com.example.demo; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * Created by jerry on 2018/1/15. * * @author jerry */ @Slf4j @RestController public class Controller { @RequestMapping("/") public String home() { return "Hello Docker World"; } } Dockerfile docker 官方不支援 oracle-java, 所以找了一個 star 較高的 image 來用。 Dockerfile 就直接放在專案底下。 # https://hub.docker.com/_/java/ 不支援 oracle-java # FROM: 指定 base image (https://hub.docker.com/r/cogniteev/oracle-java/) FROM cogniteev/oracle-java # expose 8080 port EXPOSE 8080 # 複製當前路徑所有資料, 到容器裡面 COPY . /usr/app/demo-...

Docker Concept and Best Practice

Docker 參考 GitBook - Docker Practice 鏡像(Image)和容器(Container)的關係,就像是 OOP (Object-oriented Programming) 中的 class 和 instance 一樣, Image 是靜態的定義, Container 是 Image 運行時的實體。容器可以被創建、啟動、停止、刪除、暫停等。 基本的運作方式像這樣, 參考 這份PPT Developer Best Practice Keep Images Small 確保 Images 越小越好, 跟 layers 越少越好, 這樣啟動的速度就越快. Layers 指的是在 Dockerfile 的每一行指令, 代表一個 layer, 例如下面這份 Dockfile 就代表 6 Layers. FROM ubuntu:15.04 COPY . /app RUN apt-get -y update RUN apt-get install -y python RUN make /app CMD python /app/app.py 可以修改為 4 layers. FROM ubuntu:15.04 COPY . /app RUN apt-get -y update && apt-get install -y python && make /app CMD python /app/app.py Layers 的說明: 參考 JDK 的開發者, 可以考慮 Docker 官方建議的 OpenJDK Image , 官方目前不支援 oracle-jdk 呦。 Multiple Build , 在一份 Dockerfile 同時使用不同來源的 image, 可以避免同時維護多個 dockerfiles, 參考: 用 Docker Multi-Stage 編譯出 Go 語言最小 Image 如果有多個 images 擁有相同的 common, 可以考慮建立一個 base image , 類似父層級的 image, docker 會協助做快取來加速其他 image 的啟動. 在建立多個 images 時, 可以透過 tags 的指令做管理, 不要依賴 latest 的 tag. Where and...

Google Compute Engine‎ - AccessDeniedExceptions 403

原因 打算從 instance 打包 logs 到 google cloud storage 發生了 AccessDeniedException: 403 Insufficient OAuth2 scope to perform this operation. , 看起來是 instance 沒有 storage 權限 解決 Reference: https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#changeserviceaccountandscopes 重新設定 service account 權限 instance 上內建有 gcloud , 就直接用現有的工具查詢一下 instance 的 account. $ gsutil info 或者在本機直接 gcloud compute instances describe INSTANCE_NAMES Account: [alpha-number-compute@developer.gserviceaccount.com] Project: [our-project-name] 會看到 instance 的一些狀態, 接下來就簡單多了, 按照下列的說明, 要先 stop instance, 更改 storage scope 再重新 start 。 To change an instance's service account and access scopes, the instance must be temporarily stopped. To stop your instance, read the documentation for Stopping an instance. After changing the service account or access scopes, remember to restart the instance. # Stop Instance gcloud compute instances stop INSTANCE_NAMES # 設定 storage scope 為 full (Read, Write) gcloud co...