一群棒子的技術部落格

使用DcokerHub線上創建一個映像檔
Docker

使用DcokerHub線上創建一個映像檔

問題 前幾偏文章中我們有提到如何編寫dcokerfile,但東西始終在自己電腦中,要如何給其他人一起修改並進化自己的dockerfile?又要如何不佔用自己電腦的空間與資源的情況下擁有自己想要的dcoker image?這個時候DockerHub提供給了我們一個解決的方法。 如何使用DcokerHub來線上創造一個image(映像檔) 首先把自己dockerfile上傳到自己github 點選Create Automated Bulid之後可以選擇github或者bitucket 這邊我使用github,經過權限授權後,DockerHub會掃出自己git中的專案這時候選擇剛剛上傳有dockerfiles的專案。建立好之後,我們會發現並沒自己的dockerfile。這個時候選到Build Settings 因為git有分支,所以這邊他會要確定分支之後,才可以開始Build。這時選好分支按下Trigger後選到Build Details會看到他正在build docker。 等個幾分鐘之後 會看到他顯示打勾 表示完成。這個時候表示他已經build完成,去Doc

PHP 如何進行字串切割
Language

PHP 如何進行字串切割

為何需要字串切割 我們在串接 API 時需要將取回的資料進行處理,不過各家廠商開出來的規格都不一定,如果是丟回 JSON 格式還好處理,只需要使用 json_decode [http://php.net/manual/en/function.json-decode.php] 就直接將資料轉成 物件(object) 或是 陣列(array) 可是如果運氣不好一點,回傳回來的資料可能就是純粹的陣列帶字串,看到這種也只能硬著頭皮硬幹下去了,廠商總不可能為了你一個人去改功能吧。 > JSON: JavaScript Object Notation. 是一種純粹的文字資料交換格式。 範例 那麼這個時候我們就只需要使用 PHP explode [http://php.net/manual/en/function.explode.php] 這個 function 就好了,

Wana Decrypt0r 2.0 加密勒索病毒台灣災情爆發
資安

Wana Decrypt0r 2.0 加密勒索病毒台灣災情爆發

這幾天網路上都陸續有災情傳出,也有人說從某大論壇中標的,在5/12也有許多人開始發作,連身邊的朋友也是有人中獎真是嚇的嫑嫑的 聽說只要關閉遠端連線就不會有事情了 電腦>內容>遠端設定>(取消)允許到這部電腦的遠端協助連線 微軟的每月安全性漏洞也記得要更新 如果不幸中獎了也千萬不要付款阿 #資安

WordPress NinjaFirewall 外掛刪除導致無法上傳檔案
WordPress

WordPress NinjaFirewall 外掛刪除導致無法上傳檔案

案發現場 今早起床時突然看到了一位棒子傳來的訊息欸 圖片不能上傳阿 HTTP 錯誤真的是讓人睡意全消阿,待著忐忑不安的心情只好上班去,我記得我沒有做什麼事情阿 下班時終於可以好好的來處理這個問題,首先先來看看 還真的壞了…. 等等…這傢伙怎麼有點眼熟,這不是我兩天前停用的外掛嗎!!為了驗證是他的問題,所以我將外掛裝了回來,回復預設值之後果不其然的正常運作了。為了解決此問題立馬查了一下外掛官方的 FAQ [https://nintechnet.com/ninjafirewall/wp-edition/help/] 一瞧 > To uninstall NinjaFirewall: 1. Log in to your administration console, click on the “Plugins” menu and deactivate the NinjaFirewall. 2. Click “Delete” to remove

使用 node.js 建構 TCP Server
Language

使用 node.js 建構 TCP Server

目的: * 使用 node.js 建構簡單的 TCP server * 藉由建制的過程初步運作與了解 TCP 所謂的 “三次握手” TCP 傳輸協定: 概述: 傳輸控制協定(英語:Transmission Control Protocol,縮寫為 TCP),是一種連接導向的、可靠的、基於位元組流的傳輸層通訊協定 運作方式 : TCP用三路握手(three-way handshake)過程建立一個連線。 如圖示,分為三個階段: * 第一階段:client端 向 server端 請求連線 * 第二階段:server端 向 client端 回應,告知 server 端 可以開始 傳輸資料 * 第三階段:client端 開始向 server端傳輸資料

Language

Javascripts JSON.Stringify() 與 JSON.Pares()

什麼是 JSON : JSON 是個以純文字為基底去儲存和傳送簡單結構資料,你可以透過特定的格式去儲存任何資料(字串,數字,陣列,物件),也可以透過物件或陣列來傳送較複雜的資料。一旦建立了您的 JSON 資料,就可以非常簡單的跟其他程式溝通或交換資料,因為 JSON 就只是純文字個格式 JSON.Stringify() 與 JSON.Pares() : 上述的 JSON 是一個型別(Type),是一個 Array Type。我們不能儲存或傳送「Type」,所以要將 Type 轉成字串(String)後,才能儲存或傳送。 例如,對電腦來說,這是一個物件(Object): { "name": "Roxas" } 這個物件轉成字串: "{ "

WordPress 中 is_home() 與 is_front_page() 的差異
WordPress

WordPress 中 is_home() 與 is_front_page() 的差異

當我們在開發自己的 theme 時,常需要針對判斷當前頁面是否為首頁,這件事情來做相對應的判斷,舉個例子 <body class ="<?php is_home() ? print 'front' : print 'not-front'; ?>"> //balabala </body> 判斷當前是否為首頁並在 body 的元素上給上想要的 class 方便我們寫 CSS 樣式,可是設定為首頁卻得到 not-front 實在讓人疑問,難道是 BUG 嗎 > 在這裡使用 PHP if() 條件式的簡寫 可以參考PHP: if [http:

WordPress

【WordPress筆記】 利用shortcode 的方式將指定的post type 文章顯示在頁面中

前言 當WordPress頁面都是用shortcode疊出來的時候,你的文章(post)也是需要變成shortcode的情況下才有辦法將它卡到頁面的某個地方,以下方式可以將你的文章(post)轉成shortcode的方式,讓你在頁面中可以方便的調用它!! 以下範例code,可以寫至theme目錄下的functions.php中 function home_post_listing_shortcode( $atts ) { ob_start(); <!--將query 到的資料存到$query--> $query = new WP_Query( array( 'post_type' => 'post', <!--post_type輸入你想要抓取的文章類型--> 'posts_per_page' => 3, <

WordPress 學習筆記 : Wordpress REST API (一) : Handbook

REST API Handbook: WordPress REST API 提供了 wordpress 網站資料數據的 API , 使用 Json 的格式與開發者產生 ‘接收’與”發送”的互動(sending and receiving),This enables developers to create, read and update WordPress content from client-side JavaScript or from external applications, even those written in languages beyond PHP Why use the WordPress REST API

Drupal FAPI drupal_array_set_nested_value 錯誤
Drupal

Drupal FAPI drupal_array_set_nested_value 錯誤

情境 有時候我們總需要使用 hook_form_alter [https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_form_alter/7.x] 將現有的 form elements 進行一些改變或是增加欄位 ,所以我新增了一個自訂的 AJAX 讓它 return 一個 from 給我,可是只要當前頁面 return 兩次以上,或是當前的 form 有錯誤並且再按送出就會有以下的錯誤 Warning:Illegal string offset 'und' at drupal_array_set_

CMS

Drupal Ajax 執行後 Javascript 會沒反應

前言 當你在寫 Drupal 前台的 Javascript 時, 可能曾發生過當頁面有 Ajax 時,會導致你所撰寫的 Javascript code 會完全無效。會有這種情況,其實是因為當頁面部分元素被 Ajax 修改後,你所撰寫好的程式碼並不會動態的重新抓取更新過後的元素,這是一件令人頭痛的事啊。不過也別覺得這東西是無解,小編這裡有三個方法提供給各位,讓你們再也沒煩惱。 方法一:Drupal behavior 這是 Drupal 提供給前端開發者和模組開發者的 API 每當 Drupal Ajax 被執行後, 會把開發者所撰寫好的 Javascript 再重新讀取一次。如果你對這個東西很陌生的話,可以來參考這篇 [https://www.lullabot.com/articles/understanding-javascript-behaviors-in-drupal] ,他非常詳細的告訴你 behavior 的運作方式。 方法二: Jquery on(

Language

python 簡易爬蟲筆記

目標 : 存取指定網頁的 element 的 value 為 json , 並將其匯出成 json 檔案 Step 1 安裝套件: 使用 pip3 安裝下列套件 requests : > python 用來處理一般 service 請求的套件,相關資訊可查看 requests 快速上手 [http://docs.python-requests.org/zh_CN/latest/user/quickstart.html] 安裝 : $ pip3 install requests beautifulsoup4 : > Beautiful Soup 是一个可以从 HTML 或 XML 文件中提取数据的 Python 库.

使用 Microsoft LUIS 串接聊天機器人語意分析
chatbot

使用 Microsoft LUIS 串接聊天機器人語意分析

Microsoft LUIS [https://www.microsoft.com/cognitive-services/en-us/language-understanding-intelligent-service-luis] Microsoft LUIS 是什麼呢?就是 Language Understanding Intelligent Service 簡單來說就是語意分析 那我為何會推薦這套服務呢?其實小編今天有小小的試用了一下,真的讓人驚豔,尤其是後台操作真的是很簡單在來就是跟 Microsoft Bot Framework 整合得很好看來微軟真的是有意吃下這塊大餅 But…聊天機器人到底還能紅多久?蘋果手機都已經有 Siri 了可以直接講話誰還會跟你打字阿。 #chatbot

HybridAuth Social Login Facebook 登入又壞啦
Facebook

HybridAuth Social Login Facebook 登入又壞啦

案發經過 HybridAuth Social Login [https://www.drupal.org/project/hybridauth] FB 登入又壞啦,真的我也是醉了,之前遇到 HTTPS 登入失效這次是沒有 HTTPS 的網站也壞了,立馬去查模組 Issues 果然也是有人遇到相同的問題 解法 阿反正去打一下 Patch 去更新一下 Library 就好了大家也都是這樣所以他被 Closed (fixed) 理所當然我也照做了,裝 dev 版本用最新的 Library 豈料最新的 Library 有問題阿,模組直接噴錯給你看 結論 吃我的 Simple FB Connect [https://www.drupal.org/project/simple_fb_

Language

python 3 新手筆記(一)

Ubuntu 安裝 python 3: > ( 更新 : Ubuntu 13.04 版本起, 已有預載 Python 3 , 不用自已安裝了, 使用 python3 指令就可以了。) Ubuntu 11.10 版預載的 Python 是 2.7.x 版,使用下方指令升級: sudo apt-get install python3-all 必裝的 python 套件: pip (軟體包管理系統): > pip是一個以Python電腦程式語言寫成的軟體包管理系統,他可以安裝和管理軟體包,另外不少的軟體包也可以在「Python軟體包索引」(英語:Python Package Index,簡稱PyPI) 安裝指令: $ sudo apt-get

瀏覽器相容性檢測工具
檢測工具

瀏覽器相容性檢測工具

拜託IE瀏覽器快消失吧 最近找了兩個測試網站來檢視 IE 瀏覽器的相容性,結果真是差的可以阿。 > 自 2016 年 1 月 12 日起,只有受支援作業系統可用的最新版 Internet Explorer 可得到技術支援和安全性更新。Internet Explorer 11 是最新版的 Internet Explorer,其將在 Windows 7、Windows 8.1 和 Windows 10 上獲得安全性更新、相容性修正程式和技術支援。 不知道還要多久 IE 瀏覽器才可以正式的從網路世界消失 HTML5 TEST [https://html5test.com/index.html] THE CSS3 TEST [http://css3test.com/

WordPress

如何利用 FB2WP integration tools 讓粉絲團發文同步至我們的網站上(2018/03/07更新)

FB2WP integration tools 今天來介紹 FB2WP integration tools [https://tw.wordpress.org/plugins/fb2wp-integration-tools/] 這個外掛,它可以幫我們在粉絲專頁發文之後,Facebook 自動的幫我們把資料送回網站上並且發佈這篇文章,簡單來說就是粉絲團發文會順便送給 WordPress 將文章儲存,講到這裡你是不是覺得很興奮呢?想想有多少的小編只要專心在粉絲團上面操作就好,剩下的交給程式幫我們搬到網站上,聽起來真的是懶人的一大福音阿。 我需要什麼? 那我們會需要什麼呢? 我們會需要 * 一個 HTTPS 的網址 * 一個 Facebook 應用程式 * 一個粉絲專頁 在這之前你的網站必須要是 HTTPS 因為 Facebook 的 App Messenger, Webhooks 的回呼網址 需要 HTTPS 如果你的網站還不是 HTTPS 的話可以參考使用 Let’s

Language

jQuery plugin scrollClass

github :link連結 [https://github.com/SkyRoxas/scrollClass] Description : 滾動事件發生時對當前畫面指定的元素加入對應的Class Options : NametypedefaultdescriptionclassNamestringnull指定需要加入的 class 名稱 (必填)delaynumber0 延遲加入class的時間 單位:微秒incrementBollinfalse延遲時間是否遞增Example : Basic $('.article-wrapper.avatar').scrollClass({ 'className': 'animate_right', }) Basic Options $('.article-wrapper.avatar').scrollClass({ 'className': 'animate_right', 'delay': 350, '

Language

jQuery Plugin scrollState 滾動狀態bar

github :link連結 [https://github.com/SkyRoxas/scrollState] Description : 於頁面上方加入物件來顯示頁面滾動軸的進度,以增加使用者體驗 Options : Nametypedefaultdescriptioncolorstring‘#4A8CB4’物件顏色boldstring‘4px’物件粗細indexstring ‘100’物件 z-index 屬性 值transitionstring‘1s’物件 transition 屬性 值 (過度時間)Example : Basic $('body').scrollState(); Basic Options $('body').scrollState({ 'color' : "#FF0000", 'bold' : '5px&

Laravel 一日速成班 學習筆記心得

Laravel 是什麼? Laravel 是一套 PHP 的 Framework 簡單的 Router 系統 MVC 的架構,並且使用 Composer 管理 PHP 套件,使用起來非常的簡單。 Blade Templates 前台使用 Blade Templates 作為輸出 Blade 寫起來就與一般的 HTML 沒兩樣,在透過插入 short code 達到動態輸出的效果。 環境使用 Homestead Homestead 官方的 Vargant 包裡面已經安裝好作業環境只需將環境 run 起來即可。 可能遇到的地雷 > 最新可能會有問題5.1.16? Vargant 版本為 5.1.14

Language

Zen grid 2.0 基本用法 for drupal

前言 這是以drupal 為開發環境,使用zen grid 的 東西,寫下這篇是為了讓未來的我忘記時,能有東西可以參考,不想浪費太多時間~ Zen grid 基本 mixin 介紹 1. zen-grid-container() 這個mixin 就像是 bootstrap 或是 flexboxgrid 的 row 一樣的概念。 當你要宣告 columns 時,它們的父元素必須使用此 mixin。 如果你對 bootstrap [http://getbootstrap.com/css/] 和 flexboxgrid [http://flexboxgrid.com/] 這些知名的css framework 不熟 , 其實你們可以去玩玩看,對你們會很有幫助。 2. zen-grid-item-base() 使用預設的 gutters

Language

2種方式讓header的高度跟著瀏覽器的高度顯示

利用css 的方式 #header { height: 100vh; /* 高度100vh header高度就會跟著瀏覽器視窗高度去顯示囉 */ background-color:#000; } 利用 jQuery 的方式 //利用jQuery抓取視窗高度再將取到的高度賦予#header 的height function setHeiHeight() { $('#header').css({ height: $(window).height() + 'px' }); } // 加載頁面時執行上面定義的function setHeiHeight(); // 當拖動視窗時jQuery 也會隨著視窗拖動去執行resize function讓header高度一直跟瀏覽器高度一直保持同步狀態 $(window).resize( setHeiHeight ); }

Language

利用CSS3 Multiple Backgrounds 實現多背景效果

目的: 解決設計圖背景複雜的設計時可以使用CSS3 Multiple Backgrounds的方式去處理 案例 設計圖左右各有兩條虛線時可使用兩張不同的背景圖 <!DOCTYPE html> <html> <head> <style> #example1 { background: url(left_line.png) left center no-repeat, url(left_right.png) right center no-repeat; //利用【逗號】的方式區分他是屬於第幾個背景圖,並且給予不同的位置設定一個靠左置中、一個靠右置中 } </style> </head> <body> <