<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hsu Steven | SDT 攻城獅區</title>
	<atom:link href="https://sdt.hameba.tw/author/hameba_wp_steven/feed/" rel="self" type="application/rss+xml" />
	<link>https://sdt.hameba.tw</link>
	<description>由Steven, Der, Ted 三位高級打字員所組成，是三位工程師(攻城獅)所維護的技術分享平台，或許偶爾會分享一些日常，有任何問題或是錯誤的部分，歡迎留言告訴我們！</description>
	<lastBuildDate>Wed, 16 Dec 2020 10:09:28 +0800</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.3</generator>

<image>
	<url>https://sdt.hameba.tw/wp-content/uploads/2020/02/hameba_favicon-150x150.png</url>
	<title>Hsu Steven | SDT 攻城獅區</title>
	<link>https://sdt.hameba.tw</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Steven 網頁工程師心得分享</title>
		<link>https://sdt.hameba.tw/645/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=steven-%25e7%25b6%25b2%25e9%25a0%2581%25e5%25b7%25a5%25e7%25a8%258b%25e5%25b8%25ab%25e5%25bf%2583%25e5%25be%2597%25e5%2588%2586%25e4%25ba%25ab</link>
				<comments>https://sdt.hameba.tw/645/#respond</comments>
				<pubDate>Wed, 16 Dec 2020 10:09:28 +0000</pubDate>
		<dc:creator><![CDATA[Hsu Steven]]></dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Angular]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[DB2]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[react]]></category>
		<category><![CDATA[RedisDB]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Vue]]></category>

		<guid isPermaLink="false">https://sdt.hameba.tw/?p=645</guid>
				<description><![CDATA[<p>網頁工程師 網頁可以區分為前端及後端還有資料庫各個工程師 (其學習不是要把所有語言指令背下來，是好比今天有個功 &#8230; </p>
<p class="link-more"><a href="https://sdt.hameba.tw/645/" class="more-link">閱讀全文<span class="screen-reader-text">〈Steven 網頁工程師心得分享〉</span></a></p>
The post <a href="https://sdt.hameba.tw/645/">Steven 網頁工程師心得分享</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></description>
								<content:encoded><![CDATA[<p>網頁工程師<br />
網頁可以區分為前端及後端還有資料庫各個工程師<br />
(其學習不是要把所有語言指令背下來，是好比今天有個功能需要完成，你”大概”知道在google搜尋什麼相關指令或是方法，解決問題就好)</p>
<p><span id="more-645"></span></p>
<p>前端有兩種<br />
1. 單純的網頁設計師，大約就是使用illustrator 跟 photoshop 設計網頁樣式<br />
2. 需要會程式邏輯的網頁設計工程師，類似當一般使用者按下按鈕促發一些功能或設計一些資料樣式的處理，跟後端溝通，需要會的語言-&gt;新手建議 HTML5, CSS3, jquery, js , 中高水準學習為Angular, React, Vue</p>
<p>後端語言為以下多種類型<br />
1. C# 微軟派系，為C#工程師，程式部署在iis上面，通常運行Microsoft SQL Server<br />
2. php 開源派系，為php工程師，程式部署在apache or tomcat上面，通常運行在Linux環境上面，中大型企業使用Redhat , 小型公司運行在Ubuntu<br />
3. java Oracle 派系 為java工程師，程式部署在tomcat or jBoss上面，通常運行在Linux環境上面，中大型企業使用Redhat , 小型公司運行在Ubuntu<br />
4. Node.js 開源派系，為node.js工程師，程式部署在pm2上面，通常運行在Linux環境上面，通常運行在Linux環境上面，屬Ubuntu市佔率為多數。<br />
5. python 開源派系 為python工程師，程式部署在系統啟動時的指令上面，通常運行在Linux環境上面，通常運行在Linux環境上面。<br />
6. Ruby on Rails 沒玩過，不清楚了 &gt;.&lt;</p>
<p>資料庫工程師<br />
1. noSQL =&gt; MongoDB, RedisDB (新型大數據以轉型使用MongoDB)<br />
2. SQL =&gt; SQL Server, MySQL, MariaDB, DB2 (SQL為目前市場大多數應用派系)</p>
<p>以上內容參考參考，很多keyword，可以先嘗試了解 前端工程師, 後端工程師, 資料庫工程師，這三種類型，選擇想前往的道路，</p>
<p>以下個人經驗<br />
前端 =&gt; 看得到畫面，可以第一接觸到使用者的體驗，成就感較高，也會被外面長官器重<br />
後端 =&gt; 第一次處理的邏輯，會不熟悉，沒感覺自己在做什麼，目標空洞，但有一兩次經驗後，後面得心印手，大概就只有這樣的把戲了！<br />
資料庫端 =&gt; 除非進到 FB, google, yahoo, 等非常前面科技的龍頭水準，才會有SQL優化條件，不然普遍把SQL 摸熟，不外乎CRUD的指令 CREATE, SELECT, UPDATE, DELETE, 比對條件 WHERE，然後就是養老了！！</p>
<p>以上是目前本人所看到產業大方向的情況，小弟一些愚昧的見解，沒有要跟任何派系的高手爭論。</p>The post <a href="https://sdt.hameba.tw/645/">Steven 網頁工程師心得分享</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></content:encoded>
							<wfw:commentRss>https://sdt.hameba.tw/645/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Webpack 打包移除warning及console.log的方式</title>
		<link>https://sdt.hameba.tw/635/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=webpack-%25e6%2589%2593%25e5%258c%2585%25e7%25a7%25bb%25e9%2599%25a4warning%25e5%258f%258aconsole-log%25e7%259a%2584%25e6%2596%25b9%25e5%25bc%258f</link>
				<comments>https://sdt.hameba.tw/635/#respond</comments>
				<pubDate>Thu, 05 Mar 2020 01:40:26 +0000</pubDate>
		<dc:creator><![CDATA[Hsu Steven]]></dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[uglifyjs-webpack-plugin]]></category>
		<category><![CDATA[WebPack]]></category>
		<category><![CDATA[webpack.optimize.UglifyJsPlugin]]></category>

		<guid isPermaLink="false">https://sdt.hameba.tw/?p=635</guid>
				<description><![CDATA[<p>Webpack打包成Product時需要自動把Warning跟log給移除。 可以在plugin加入參數即可， &#8230; </p>
<p class="link-more"><a href="https://sdt.hameba.tw/635/" class="more-link">閱讀全文<span class="screen-reader-text">〈Webpack 打包移除warning及console.log的方式〉</span></a></p>
The post <a href="https://sdt.hameba.tw/635/">Webpack 打包移除warning及console.log的方式</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></description>
								<content:encoded><![CDATA[<p>Webpack打包成Product時需要自動把Warning跟log給移除。</p>
<p>可以在plugin加入參數即可，v4跟v2版本有很大的差異。<span id="more-635"></span></p>
<p>在此提供兩種版本的方式。</p>
<p>Webpack v4</p><pre class="crayon-plain-tag">// 需引入uglifyjs-webpack-plugin,這邊與v2就不一樣
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
plugins: [
    new UglifyJsPlugin({
        sourceMap: true,
        uglifyOptions: {
            ie8: false,
            ecma: 8,
            parse: {},
            mangle: true,
            output: {
                comments: false,
                beautify: false
            },
            compress: true,
            warnings: false
            }
    })
]</pre><p>Webpack v2</p><pre class="crayon-plain-tag">// v2 版本直接使用webpack.optimize即可
plugins: [
    new webpack.optimize.UglifyJsPlugin({
        sourceMap: true,
        compress: {
            warnings: false, // remove 警告
            drop_console: true // 移除console.log
        }
    })
]</pre><p>&nbsp;</p>
<p>Reference</p>
<p><a href="https://blog.csdn.net/xiaoguang44/article/details/89555376" target="_blank" rel="noopener noreferrer">https://blog.csdn.net/xiaoguang44/article/details/89555376</a></p>
<p><a href="https://blog.csdn.net/xiasohuai/article/details/88527483" target="_blank" rel="noopener noreferrer">https://blog.csdn.net/xiasohuai/article/details/88527483</a></p>
<p><a href="https://segmentfault.com/a/1190000015032321" target="_blank" rel="noopener noreferrer">https://segmentfault.com/a/1190000015032321</a></p>The post <a href="https://sdt.hameba.tw/635/">Webpack 打包移除warning及console.log的方式</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></content:encoded>
							<wfw:commentRss>https://sdt.hameba.tw/635/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Mac Java version switch, 版本管理</title>
		<link>https://sdt.hameba.tw/623/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mac-java-version-switch-%25e7%2589%2588%25e6%259c%25ac%25e7%25ae%25a1%25e7%2590%2586</link>
				<comments>https://sdt.hameba.tw/623/#respond</comments>
				<pubDate>Sat, 29 Feb 2020 08:16:08 +0000</pubDate>
		<dc:creator><![CDATA[Hsu Steven]]></dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[bash_profile]]></category>
		<category><![CDATA[brew]]></category>
		<category><![CDATA[brew cask]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[profile]]></category>

		<guid isPermaLink="false">https://sdt.hameba.tw/?p=623</guid>
				<description><![CDATA[<p>有時每個專案所運用到的Java版本不同，就會需要做到切換， Survey後有jenv這款管理，可以幫助切換，  &#8230; </p>
<p class="link-more"><a href="https://sdt.hameba.tw/623/" class="more-link">閱讀全文<span class="screen-reader-text">〈Mac Java version switch, 版本管理〉</span></a></p>
The post <a href="https://sdt.hameba.tw/623/">Mac Java version switch, 版本管理</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></description>
								<content:encoded><![CDATA[<p>有時每個專案所運用到的Java版本不同，就會需要做到切換，</p>
<p>Survey後有jenv這款管理，可以幫助切換，<span id="more-623"></span></p>
<p>但作者提供另一種切換為 alias的方式，我認為比較方便</p>
<p>安裝Java</p><pre class="crayon-plain-tag">// 新增homebrew cask功能
$ brew tap homebrew/cask-versions

// 查詢Java版本
$ brew search java

// 安裝想要的java版本 (如選java會為當前最新版本)
$ brew cask install java

// 安裝完可以查詢
$ brew cask list</pre><p>設定快捷鍵</p><pre class="crayon-plain-tag">$ nano ~/.bash_profile
//在最下面新增以下內容，確定自己有的版本及alias快捷名稱
export JAVA_6_HOME=$(/usr/libexec/java_home -v1.6)
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_11_HOME=$(/usr/libexec/java_home -v1.11)

alias java6=`export JAVA_HOME=$JAVA_6_HOME`
alias java8=`export JAVA_HOME=$JAVA_8_HOME`
alias java11=`export JAVA_HOME=$JAVA_11_HOME`

#default java8
export JAVA_HOME=$JAVA_8_HOME

//完成後儲存

// 重讀bash檔案
$ source ~/.bash_profile

//測試切換
$ java6
$ java11</pre><p>&nbsp;</p>
<p>Reference</p>
<p><a href="https://stackoverflow.com/questions/26252591/mac-os-x-and-multiple-java-versions" target="_blank" rel="noopener noreferrer">https://stackoverflow.com/questions/26252591/mac-os-x-and-multiple-java-versions</a></p>
<p><a href="https://blog.gtwang.org/mac-os-x/how-to-set-or-change-the-default-java-jdk-version-on-os-x/" target="_blank" rel="noopener noreferrer">https://blog.gtwang.org/mac-os-x/how-to-set-or-change-the-default-java-jdk-version-on-os-x/</a></p>The post <a href="https://sdt.hameba.tw/623/">Mac Java version switch, 版本管理</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></content:encoded>
							<wfw:commentRss>https://sdt.hameba.tw/623/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>DeprecationWarning: Chunk.modules is deprecated. Use Chunk.getNumberOfModules/mapModules/forEachModule/containsModule instead.</title>
		<link>https://sdt.hameba.tw/612/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=deprecationwarning-chunk-modules-is-deprecated-use-chunk-getnumberofmodules-mapmodules-foreachmodule-containsmodule-instead</link>
				<comments>https://sdt.hameba.tw/612/#respond</comments>
				<pubDate>Sat, 29 Feb 2020 01:10:49 +0000</pubDate>
		<dc:creator><![CDATA[Hsu Steven]]></dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[extract-text-webpack-plugin]]></category>
		<category><![CDATA[mini-css-extract-plugin]]></category>
		<category><![CDATA[WebPack]]></category>

		<guid isPermaLink="false">https://sdt.hameba.tw/?p=612</guid>
				<description><![CDATA[<p>webpack打包又出現問題，單純看提示訊息又不知道是哪個套件造成chunk的問題， DeprecationW &#8230; </p>
<p class="link-more"><a href="https://sdt.hameba.tw/612/" class="more-link">閱讀全文<span class="screen-reader-text">〈DeprecationWarning: Chunk.modules is deprecated. Use Chunk.getNumberOfModules/mapModules/forEachModule/containsModule instead.〉</span></a></p>
The post <a href="https://sdt.hameba.tw/612/">DeprecationWarning: Chunk.modules is deprecated. Use Chunk.getNumberOfModules/mapModules/forEachModule/containsModule instead.</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></description>
								<content:encoded><![CDATA[<p>webpack打包又出現問題，單純看提示訊息又不知道是哪個套件造成chunk的問題，</p>
<p>DeprecationWarning: Chunk.modules is deprecated. Use Chunk.getNumberOfModules/mapModules/forEachModule/containsModule instead.<span id="more-612"></span></p>
<p><img class="alignnone size-large wp-image-613" src="https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午9.07.21-1024x90.png" alt="" width="840" height="74" srcset="https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午9.07.21-1024x90.png?v=1582938458 1024w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午9.07.21-300x26.png?v=1582938458 300w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午9.07.21-768x68.png?v=1582938458 768w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午9.07.21-1536x135.png?v=1582938458 1536w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午9.07.21-1200x106.png?v=1582938458 1200w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午9.07.21.png?v=1582938458 1956w" sizes="(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px" /></p>
<p>查詢要更新哪個套件，更新node_module後即可，</p><pre class="crayon-plain-tag">$ npm install extract-text-webpack-plugin@3</pre><p>npm 上面也已經提示不推薦使用，沒有在維護了！</p>
<p><a href="https://www.npmjs.com/package/extract-text-webpack-plugin">extract-text-webpack-plugin</a></p>
<p>&#8220;建議改使用&#8221;</p>
<p><a href="https://www.npmjs.com/package/mini-css-extract-plugin">mini-css-extract-plugin</a></p>
<p>&nbsp;</p>
<p>Reference</p>
<p><a href="https://github.com/webpack-contrib/extract-text-webpack-plugin/issues/529" target="_blank" rel="noopener noreferrer">https://github.com/webpack-contrib/extract-text-webpack-plugin/issues/529</a></p>The post <a href="https://sdt.hameba.tw/612/">DeprecationWarning: Chunk.modules is deprecated. Use Chunk.getNumberOfModules/mapModules/forEachModule/containsModule instead.</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></content:encoded>
							<wfw:commentRss>https://sdt.hameba.tw/612/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>parseQuery() will be replaced with getOptions() in the next major version of loader-utils</title>
		<link>https://sdt.hameba.tw/609/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=parsequery-will-be-replaced-with-getoptions-in-the-next-major-version-of-loader-utils</link>
				<comments>https://sdt.hameba.tw/609/#respond</comments>
				<pubDate>Sat, 29 Feb 2020 01:04:41 +0000</pubDate>
		<dc:creator><![CDATA[Hsu Steven]]></dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[babel-loader]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[WebPack]]></category>

		<guid isPermaLink="false">https://sdt.hameba.tw/?p=609</guid>
				<description><![CDATA[<p>做webpack打包時看見此錯誤訊息，也不知道是哪裡出問題， (node:36968) Deprecation &#8230; </p>
<p class="link-more"><a href="https://sdt.hameba.tw/609/" class="more-link">閱讀全文<span class="screen-reader-text">〈parseQuery() will be replaced with getOptions() in the next major version of loader-utils〉</span></a></p>
The post <a href="https://sdt.hameba.tw/609/">parseQuery() will be replaced with getOptions() in the next major version of loader-utils</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></description>
								<content:encoded><![CDATA[<p>做webpack打包時看見此錯誤訊息，也不知道是哪裡出問題，</p>
<p>(node:36968) DeprecationWarning: loaderUtils.parseQuery() received a non-string value which can be problematic, see https://github.com/webpack/loader-utils/issues/56<br />
parseQuery() will be replaced with getOptions() in the next major version of loader-utils.<span id="more-609"></span></p>
<p><img class="alignnone size-large wp-image-610" src="https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午8.57.45-1024x84.png" alt="" width="840" height="69" srcset="https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午8.57.45-1024x84.png?v=1582937889 1024w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午8.57.45-300x25.png?v=1582937889 300w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午8.57.45-768x63.png?v=1582937889 768w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午8.57.45-1536x125.png?v=1582937889 1536w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午8.57.45-2048x167.png?v=1582937889 2048w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-29-上午8.57.45-1200x98.png?v=1582937889 1200w" sizes="(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px" /></p>
<p>並非webpack prod錯誤，而是套件太舊，查一下package.json以為是loader.utils.</p>
<p>結果node_module沒有這套件上查了，是<span style="color: #ff0000">babel-loader</span>這套件。</p>
<p>跳出這錯誤是我用6.x.x版本，直接升級上去會到8.x.x版本，又會跳出babel-core的問題，</p>
<p>所以我改成指定 7.x.x版本</p><pre class="crayon-plain-tag">$ npm install babel-loader@7</pre><p>&nbsp;</p>
<p>Reference</p>
<p><a href="https://github.com/babel/babel-loader/issues/392" target="_blank" rel="noopener noreferrer">https://github.com/babel/babel-loader/issues/392</a></p>The post <a href="https://sdt.hameba.tw/609/">parseQuery() will be replaced with getOptions() in the next major version of loader-utils</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></content:encoded>
							<wfw:commentRss>https://sdt.hameba.tw/609/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Pi 3 使用Docker安裝Redmine</title>
		<link>https://sdt.hameba.tw/590/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pi-3-%25e4%25bd%25bf%25e7%2594%25a8docker%25e5%25ae%2589%25e8%25a3%259dredmine</link>
				<comments>https://sdt.hameba.tw/590/#respond</comments>
				<pubDate>Fri, 28 Feb 2020 08:41:57 +0000</pubDate>
		<dc:creator><![CDATA[Hsu Steven]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[pi]]></category>
		<category><![CDATA[redmine]]></category>

		<guid isPermaLink="false">https://sdt.hameba.tw/?p=590</guid>
				<description><![CDATA[<p>原本依照[Raspberry Pi] 在Raspbian上安裝Apache+MySQL+Redmine 3.3 &#8230; </p>
<p class="link-more"><a href="https://sdt.hameba.tw/590/" class="more-link">閱讀全文<span class="screen-reader-text">〈Pi 3 使用Docker安裝Redmine〉</span></a></p>
The post <a href="https://sdt.hameba.tw/590/">Pi 3 使用Docker安裝Redmine</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></description>
								<content:encoded><![CDATA[<p>原本依照<a href="http://rj-memo.blogspot.com/2016/09/raspberry-pi-raspbianapachemysqlredmine.html">[Raspberry Pi] 在Raspbian上安裝Apache+MySQL+Redmine 3.3.0</a>，</p>
<p>結果發生一堆問題，有些套件lib 在更新都有出現，也補足後，最後在apache2 cfg上讀不到redmine&#8230;</p>
<p><span id="more-590"></span>原本都想放棄，還好想起有這種docker這種方式，已經把環境包好，直接運行</p>
<p>pi 3安裝docker</p><pre class="crayon-plain-tag">// 下載安裝docker
$ curl -sSL https://get.docker.com | sh

// 補足帳號權限
$ sudo usermod -a -G docker pi

// 重啟
$ sudo reboot

// 檢查docker
$ docker -v</pre><p>導入docker for pi 的redmine 「<a href="https://hub.docker.com/r/arm32v7/redmine/">arm32v7/redmine</a>」，</p>
<p>此處用法的參數，可參考docker <a href="https://hub.docker.com/r/arm32v7/redmine/">arm32v7/redmine</a> 下方</p>
<p><img class="alignnone size-large wp-image-591" src="https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.32.37-1024x989.png" alt="docker redmine param" width="840" height="811" srcset="https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.32.37-1024x989.png?v=1582878794 1024w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.32.37-300x290.png?v=1582878794 300w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.32.37-768x742.png?v=1582878794 768w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.32.37-1536x1484.png?v=1582878794 1536w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.32.37-1200x1159.png?v=1582878794 1200w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.32.37.png?v=1582878794 1590w" sizes="(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px" /></p>
<p>相關參數依照每個人DB設定，</p>
<p>default設定為sqlite及3000 port，以下是我用docker 背景執行及連其他DB參數</p><pre class="crayon-plain-tag">// 啟動redmine
$ docker run -d --restart=always --name=redmine -p 9999:3000 -e REDMINE_DB_MYSQL=localhost -e REDMINE_DB_USERNAME=redmine -e REDMINE_DB_PASSWORD=password -e REDMINE_DB_DATABASE=redmine --volume=/srv/docker/redmine/redmine:/home/redmine/data arm32v7/redmine</pre><p>正確啟動沒問題</p>
<p>即可看到畫面</p>
<p><img class="alignnone size-large wp-image-592" src="https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.38.03-1024x297.png" alt="redmine success" width="840" height="244" srcset="https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.38.03-1024x297.png?v=1582879115 1024w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.38.03-300x87.png?v=1582879115 300w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.38.03-768x223.png?v=1582879115 768w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.38.03-1536x445.png?v=1582879115 1536w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.38.03-2048x594.png?v=1582879115 2048w, https://sdt.hameba.tw/wp-content/uploads/2020/02/截圖-2020-02-28-下午4.38.03-1200x348.png?v=1582879115 1200w" sizes="(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px" /></p>
<p>&nbsp;</p>
<p>Reference</p>
<p><a href="https://qiita.com/Shun__/items/a44a5e00c534f2aeb6cb" target="_blank" rel="noopener noreferrer">https://qiita.com/Shun__/items/a44a5e00c534f2aeb6cb</a></p>The post <a href="https://sdt.hameba.tw/590/">Pi 3 使用Docker安裝Redmine</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></content:encoded>
							<wfw:commentRss>https://sdt.hameba.tw/590/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>ssh 登入 遠端電腦不用密碼</title>
		<link>https://sdt.hameba.tw/588/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ssh-%25e7%2599%25bb%25e5%2585%25a5-%25e9%2581%25a0%25e7%25ab%25af%25e9%259b%25bb%25e8%2585%25a6%25e4%25b8%258d%25e7%2594%25a8%25e5%25af%2586%25e7%25a2%25bc</link>
				<comments>https://sdt.hameba.tw/588/#respond</comments>
				<pubDate>Fri, 28 Feb 2020 08:16:43 +0000</pubDate>
		<dc:creator><![CDATA[Hsu Steven]]></dc:creator>
				<category><![CDATA[System]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[without password]]></category>

		<guid isPermaLink="false">https://sdt.hameba.tw/?p=588</guid>
				<description><![CDATA[<p>最近做jenkins CI/CD 要跨內部server發現登入ssh需要密碼， 真的滿麻煩，也不能在shell &#8230; </p>
<p class="link-more"><a href="https://sdt.hameba.tw/588/" class="more-link">閱讀全文<span class="screen-reader-text">〈ssh 登入 遠端電腦不用密碼〉</span></a></p>
The post <a href="https://sdt.hameba.tw/588/">ssh 登入 遠端電腦不用密碼</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></description>
								<content:encoded><![CDATA[<p>最近做jenkins CI/CD 要跨內部server發現登入ssh需要密碼，</p>
<p>真的滿麻煩，也不能在shellscript把密碼直接放入，<span id="more-588"></span></p>
<p>只好讓兩台server client -&gt; server 免除認證，</p>
<p>步驟1. 至client server(這邊對我來說是jenkins這台server)</p><pre class="crayon-plain-tag">//client 建立自己的ssh ras憑證
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
c3:e9:25:65:00:c8:65:cb:e8:fe:4e:7e:ce:06:a4:9d root@kvm8.deyu.wang
The key's randomart image is:
+--[ RSA 2048]----+
|   . o+..        |
|    o+ . .       |
|    . o   o      |
|   .  .. +       |
|    .+ .S .      |
|   .. E. +       |
|    . ...        |
|     + .o        |
|     .++o        |
+-----------------+

// 將client的pub放到server，該user 家目錄下
$ scp ~/.ssh/id_rsa.pub serverUser@serverIP:~/</pre><p>步驟2. 切換到 目標Server</p><pre class="crayon-plain-tag">// ssh 目標server，這時進去還需要需入密碼
$ ssh serverUser@serverIP

// 把剛剛client傳過來的id_rsa.pub寫入authorized_keys
$ cat ~/id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys

// 離開
$ exit

// 測試ssh連線，如設定成功，就不需要密碼即可以進入
$ ssh serverUser@serverIP</pre><p>&nbsp;</p>
<p>Reference</p>
<p><a href="https://dywang.csie.cyut.edu.tw/dywang/security/node84.html" target="_blank" rel="noopener noreferrer">https://dywang.csie.cyut.edu.tw/dywang/security/node84.html</a></p>The post <a href="https://sdt.hameba.tw/588/">ssh 登入 遠端電腦不用密碼</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></content:encoded>
							<wfw:commentRss>https://sdt.hameba.tw/588/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Git fatal: The current branch  has no upstream branch.</title>
		<link>https://sdt.hameba.tw/585/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=git-fatal-the-current-branch-has-no-upstream-branch</link>
				<comments>https://sdt.hameba.tw/585/#respond</comments>
				<pubDate>Fri, 28 Feb 2020 07:59:56 +0000</pubDate>
		<dc:creator><![CDATA[Hsu Steven]]></dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[--set-upstream]]></category>
		<category><![CDATA[--unset-upstream]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[git branch]]></category>

		<guid isPermaLink="false">https://sdt.hameba.tw/?p=585</guid>
				<description><![CDATA[<p>使用git checkout &#60;name&#62;, 如果沒有會以當下的分支 create出新的分支， 但 &#8230; </p>
<p class="link-more"><a href="https://sdt.hameba.tw/585/" class="more-link">閱讀全文<span class="screen-reader-text">〈Git fatal: The current branch  has no upstream branch.〉</span></a></p>
The post <a href="https://sdt.hameba.tw/585/">Git fatal: The current branch  has no upstream branch.</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></description>
								<content:encoded><![CDATA[<p>使用git checkout &lt;name&gt;,</p>
<p>如果沒有會以當下的分支 create出新的分支，<span id="more-585"></span></p>
<p>但是當要git push會跳出提示訊息：</p>
<p>fatal: The current branch &lt;branchName&gt; has no upstream branch.</p>
<p>其實只是將目前分支設定好他遠端對應好的分支，</p>
<p>使用此指令：</p><pre class="crayon-plain-tag">// 追蹤分支的意思
$ git push --set-upstream origin branchName

// 取消追蹤分支,用到這個通常是遠端分支被刪除了！
$ git branch --unset-upstream</pre><p>&nbsp;</p>The post <a href="https://sdt.hameba.tw/585/">Git fatal: The current branch  has no upstream branch.</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></content:encoded>
							<wfw:commentRss>https://sdt.hameba.tw/585/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Git 建立與刪除遠端分支方式</title>
		<link>https://sdt.hameba.tw/583/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=git-%25e5%25bb%25ba%25e7%25ab%258b%25e8%2588%2587%25e5%2588%25aa%25e9%2599%25a4%25e9%2581%25a0%25e7%25ab%25af%25e5%2588%2586%25e6%2594%25af%25e6%2596%25b9%25e5%25bc%258f</link>
				<comments>https://sdt.hameba.tw/583/#respond</comments>
				<pubDate>Fri, 28 Feb 2020 07:50:58 +0000</pubDate>
		<dc:creator><![CDATA[Hsu Steven]]></dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[git push]]></category>

		<guid isPermaLink="false">https://sdt.hameba.tw/?p=583</guid>
				<description><![CDATA[<p>如果使用github, gitlab web GUI 應該都沒有什麼難事。 看到垃圾桶按鈕刪除即可&#8230 &#8230; </p>
<p class="link-more"><a href="https://sdt.hameba.tw/583/" class="more-link">閱讀全文<span class="screen-reader-text">〈Git 建立與刪除遠端分支方式〉</span></a></p>
The post <a href="https://sdt.hameba.tw/583/">Git 建立與刪除遠端分支方式</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></description>
								<content:encoded><![CDATA[<p>如果使用github, gitlab web GUI 應該都沒有什麼難事。</p>
<p>看到垃圾桶按鈕刪除即可&#8230;<span id="more-583"></span></p>
<p>所以主要這篇是使用指令來做遠端分支刪除的方式</p><pre class="crayon-plain-tag">$ git push steven :steven/master
To https://domain/username/repository.git
 - [deleted]         steven/master</pre><p>是的，你沒看錯，就是在分支前面加上冒號，而且是用 Push 指令來刪除遠端分支，</p>
<p>遠端建立分支指令：</p><pre class="crayon-plain-tag">$ git push remoteName master:steven</pre><p>這樣遠端remoteName位置 就會以 master 建立一個steven branch，</p>
<p>所以剛剛前面提到的 沒有帶上maste，也等同沒有basic所以會直接刪除的意思。</p>
<p>&nbsp;</p>
<p>Reference</p>
<p><a href="https://gitbook.tw/chapters/github/delete-remote-branch.html" target="_blank" rel="noopener noreferrer">https://gitbook.tw/chapters/github/delete-remote-branch.html</a></p>
<p>&nbsp;</p>The post <a href="https://sdt.hameba.tw/583/">Git 建立與刪除遠端分支方式</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></content:encoded>
							<wfw:commentRss>https://sdt.hameba.tw/583/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>解決 git merge 不同分支出現 fatal: refusing to merge unrelated histories</title>
		<link>https://sdt.hameba.tw/580/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e8%25a7%25a3%25e6%25b1%25ba-git-merge-%25e4%25b8%258d%25e5%2590%258c%25e5%2588%2586%25e6%2594%25af%25e5%2587%25ba%25e7%258f%25be-fatal-refusing-to-merge-unrelated-histories</link>
				<comments>https://sdt.hameba.tw/580/#respond</comments>
				<pubDate>Fri, 28 Feb 2020 07:40:54 +0000</pubDate>
		<dc:creator><![CDATA[Hsu Steven]]></dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[merge]]></category>

		<guid isPermaLink="false">https://sdt.hameba.tw/?p=580</guid>
				<description><![CDATA[<p>在做不同分支repository合併結果出現: fatal: refusing to merge unrela &#8230; </p>
<p class="link-more"><a href="https://sdt.hameba.tw/580/" class="more-link">閱讀全文<span class="screen-reader-text">〈解決 git merge 不同分支出現 fatal: refusing to merge unrelated histories〉</span></a></p>
The post <a href="https://sdt.hameba.tw/580/">解決 git merge 不同分支出現 fatal: refusing to merge unrelated histories</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></description>
								<content:encoded><![CDATA[<p>在做不同分支repository合併結果出現:</p>
<p>fatal: refusing to merge unrelated histories.</p>
<p><span id="more-580"></span></p>
<p>明明是同一包分開做的結果出現無相關的提示..</p>
<p># <strong>從 git 2.9.0 開始預設行為不允許合併沒有共同祖先的分支。</strong></p>
<p>幸好只要加上 &#8211;allow-unrelated-histories 此參數即可以解決。</p><pre class="crayon-plain-tag">$ git merge master --allow-unrelated-histories</pre><p>&nbsp;</p>
<p>Reference</p>
<p><a href="https://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories-on-rebase" target="_blank" rel="noopener noreferrer">https://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories-on-rebase</a></p>The post <a href="https://sdt.hameba.tw/580/">解決 git merge 不同分支出現 fatal: refusing to merge unrelated histories</a> first appeared on <a href="https://sdt.hameba.tw">SDT 攻城獅區</a>.]]></content:encoded>
							<wfw:commentRss>https://sdt.hameba.tw/580/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
	</channel>
</rss>
