一群棒子的技術部落格

Laravel CKEditor 整合 Laravel file manager
筆記

Laravel CKEditor 整合 Laravel file manager

CKEditor 一直是我很愛用的編輯器,功能強大擴充套件也很多,設定也很詳細,在之前我使用的 CMS 內都已經有整合好 CKEditor 現在到了 Laravel 要接上這個功能還真是花了不少時間。 那麼終於處理好 CKEditor 之後有另一個需求,我該怎麼上傳檔案?不可能寫文章內容都不會有圖片吧,也不可能叫使用者自己去上傳檔案再貼網址到內容,這操作流程對使用者一點也不友善。 流程 * 安裝 CKEditor * 將 CKEditor 套用到我們的 textarea * 設定 CKEditor 上傳使用 Laravel file manager 安裝 CKEditor 如何安裝 CKEditor 網路上已經有很多教學了,我個人是使用 laravel-admin [https://github.com/z-song/laravel-admin] 當作我的管理後台,所以安裝 CKEditor 你也可以去看他的教學,在這邊只提出一些重點。 在之前你要先在你 blade

Laravel Eloquent Date Restrictions 時間限制
筆記

Laravel Eloquent Date Restrictions 時間限制

當我在們撰寫 Laravel Eloquent 經常會遇到一個情境,就是時間 上的對比這件事情,例如:這篇活動公告是否在活動時間內,那麼我們可以預想的到,這個活動可能會有個 起始時間 與 結束時間 剩下就是時間運算的程式撰寫。 實際案例 我有一個活動的首頁輪播,使用者在上架時必須要填寫這張圖片的 起始時間 與 結束時間 如果 現在時間 還未到 起始時間 或是超過 結束時間 就不會顯示出來。 那麼為何有這樣的需求呢?~~因為懶~~ 因為未必會有人想在半夜進到網站後台發表資料,一定會想先一次上好,再來等時間到程式幫我們發佈出來就好。 程式碼撰寫 時間限制 邏輯 在此之前要先 感恩 Eloquent 讚嘆 Eloquent 讓我可以不用寫 SQL 語法就可以搞定事情。 app/Http/Controllers/HomeController.php namespace App\

[工具] MAMP Apache 如何開啟 Virtual Host
筆記

[工具] MAMP Apache 如何開啟 Virtual Host

MAMP 在 Windows 以及 Mac 上是一個非常好用的網頁架站懶人包,既然在本機開發你應該不會一次只有一個網站,可以使用 Virtual Host 建立多個假的網址在本地端開發,是相當實用的一個功能。 設定 以下為Mac為例 在開始之前我們必須先將 MAMP 的 port 號設定為我們常用的 port 如下 如果你沒有更改過安裝目錄的話設定檔路徑為 /Applications/MAMP/conf/apache/httpd.conf 找到設定 # Virtual hosts # Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf 我們將註解拿掉讀取設定 # Virtual hosts Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

Windows安裝JAVA及設定環境

Windows安裝JAVA及設定環境

前言 -------------------------------------------------------------------------------- JAVA是一種擁有跨平台、物件導向、泛型程式設計特性的程式語言。因為包含了跨平台的特性所以可以常在電腦與行動裝置上見到Java的踪影。 如果需要開發Java程式則得在電腦裡安裝好JDK(Java Development Kit) 及JRE ( Java Runtime Environment )兩個開發工具才能進行開發。 什麼是JDK(Java Development Kit) ?  A : 用來撰寫JAVA程式的套件。 什麼是JRE ( Java Runtime Environment ) ? A : Java的執行環境(凡是由JAVA開發出來的應用程式皆須安裝JRE才能執行) 下載&安裝 -------------------------------------------------------------------------------- 步驟一、進入官網的下載 [http://www.

路由協議Enhanced Interior Gateway Routing Protocol(EIGRP)簡單介紹

路由協議Enhanced Interior Gateway Routing Protocol(EIGRP)簡單介紹

EIGRP 簡介 Enhanced Interior Gateway Routing Protocol (縮寫為EIGRP),又譯增強型內部網關路由協議,一種內部網關協議(IGP),在內部網關路由協議(IGRP)的基礎上,由思科公司發展而成,於2013年Cisco將此標準公開,不再是私有的路由協議,EIGRP 屬於 Hybrid Routing Protocol (混合型),包含了 Distance-Vector 與 Link-State 的特性。就像 Link-State 一樣,EIGRP 會把相鄰的 Router 成為 Neighbor,定時檢查他們的狀態,而 EIGRP 源用了 Distance-Vector 的概念去計算 Network 的 distance(距離)。 > 已知目前路由可分為兩大類: * Routing by

[PHP7] 陣列排序
PHP

[PHP7] 陣列排序

輸出資料給前端前有時必須要資料處理,舉個例子:一份履歷表須列出公司名稱、到職時間、離職時間,必須要照到職時間的先後順序排列,此時就可以使用陣列排序。 範例 $sort_array=array(); // 學校名稱 1 $sort_array['0']['school']=$profile->field_resume_school_name1['und'][0]['value']; // 入學日期與畢業日期 1 $sort_array['0']['time']=$profile->field_school_time_1[

機房搬遷紀錄
筆記

機房搬遷紀錄

前一陣子,因為工作的因素,有幸加入了一個機房搬遷的案子, 在這邊順手紀錄一下,一個伺服器機房要搬遷需要準備些甚麼。 談判&討論 是的,你沒看錯第一件事就是談判,要先跟負責人喬定,哪些設備要搬到新機房,哪些設備又要下架或者移去別的地方。 接著要討論新機房的配置,並且確定哪些設備要上架到哪個地方,要不要建立新機房…等等問題。 這一步驟,就佔了整體搬遷時間的大多數時間,也是搬遷時順利不順利的關鍵, 很不幸的我是後期才加入近來,只參加到後面2.3場討論,但也足以讓我看清這部分的重要性。 清點設備&查線 接著就是清點舊機房的所有設備了,這邊要注意的有以下幾點: * 設備有無滑軌 * 設備的名稱 * 確認該設備的ip * 設備的U數 確認好以上幾點,舊機房的清點也就宣告完結,當然以上就短短幾字,執行起來還真的差距頗大, 光是要跟客戶確認該設備=該ip就花了不少時間,有時候還有可能遇上忘記帳號密碼等等的囧事。 > U是一種表示伺服器外部尺寸的單位,是unit的縮略語,詳細尺寸由作為業界團體的美國電子工業協會(EIA)決定。 機櫃的高度通常以”U”作為單位,”U”

VMWare ESXI 6.5 修補Intel CPU漏洞問題

VMWare ESXI 6.5 修補Intel CPU漏洞問題

最近Intel的CPU漏洞問題,引發一連串的更新,VMWare ESXI也不例外,VMWare的官網也很快地給出修補的Patch。 在此筆記下,我目前的處理方法。 下載官網Patch 前往官網登入後下載相對應版本的Patch 這次我測試使用的是6.5update1版本 檔名:ESXi650-201801001.zip 網址:https://www.vmware.com/patchmgr/findPatchByReleaseName.portal 把下載的Patch上傳至esxi6.5設備的硬碟中 1.在esxi6.5的硬碟中建立一個資料夾ex:patches 2.把下載的檔案ESXi650-201801001.zip上傳至這個資料夾 關閉並備份所有虛擬機 把所有虛擬機關閉,並備份。 ex:匯出成ovf 把主機進入維護模式與開啟SSH PS:如果有虛擬機電源沒有關閉,將無法進入維護模式。 SSH進入 Windows可以使用putty linux直接使用ssh指令即可 ssh root@xxx.xxx.xxx.xxx 輸入更新指令

比對程式

最近遇到要更換switch,但是裡面的設定要照原本的來。自己設定好後,要確認是否和原版一樣,總不能自己一個一個慢慢對八,所以找了一些直覺化的比對程式。 WinMerge 簡介 WinMerge 是一套可以把2款文件來對比的軟體。可以用來快速比對文字檔哪裡不一樣。 軟體網址:http://winmerge.org/ 其他類似軟體:meld、diffmerge 網址:http://meldmerge.org、https://sourcegear.com/diffmerge/

Drupal

[Drupal 8] 實作上下一篇連結區塊功能

在部落格的文章當中,時常會看到上一篇、下一篇的連結功能,這個需求其實也算是很常見,在 Drupal 7 中,常常使用 Flippy [https://www.drupal.org/project/flippy] 這個老牌的模組,可是到了 Drupal 8 這個模組根本就還沒有 8 的版本可以使用,這個時候只能尋找替代方案或是,自己動手作一個來吧。 模組的選擇? * Entity Pager [https://www.drupal.org/project/entity_pager] 確實很多老模組還沒有升上 8 是讓人很頭疼的事情,可是也因此會找到很多很酷炫的模組,目前找到了一款可以替代 Flippy 的模組,Entity Pager 正是可以完全實現 Flippy 功能的一個模組,這個模組顧名思義,就是使用 views

Drupal 8 麵包屑爬坑紀錄
Drupal

Drupal 8 麵包屑爬坑紀錄

Drupal 8 正式版到現在已經快兩年了,7 常用的模組很多都已經有 8 的版本,甚至是已經直接納入核心之內,到現在就還是沒有 Path Breadcrumbs 8 的版本,實在是讓人很頭大,所以只能尋找其他替代的模組來實做這個功能。 代替模組的選擇 * Easy Breadcrumb [https://www.drupal.org/project/easy_breadcrumb] * Menu Breadcrumb [https://www.drupal.org/project/menu_breadcrumb] * Current Page Crumb [https://www.drupal.org/project/current_page_crumb] * Views breadcrumb [https://www.drupal.

iTerm 2 整合 Touch Bar 潮起來
zsh

iTerm 2 整合 Touch Bar 潮起來

不知道大家有沒有發現,最近一次的更新之後,咱們的 iTerm 2 就支援了 touch bar 上的功能,這對於有 touch bar 的我真是讓人感到興奮(炫耀文? 不外乎就是換換 theme 啦,切換 tab 啦,指令查詢啦…欸等等這個是什麼? 阿不就 F1~F20 太愚蠢了吧…欸!?怎麼會有 F20 研究了一下原來是可以自定義 function 的功能。終於啊可以實現我一指 push 的夢想了。 安裝 zsh 在開始之前我們建議一定要安裝一下 oh-my-zsh 這個 shell 個人覺得最好用的地方在於 tab 自動完成上的強化囉,至於安裝方式就請參考官方文件吧 Oh My Zsh [https://github.

好文

[好文] Web 後端優化 — 伺服端快取 好文收藏

作者列出了許多後端與伺服器上的優化快取方式,從程式端到伺服器端都有列舉出許多方式。 有網站速度需要優化的朋友們可以看看這篇,相信會有非常大的幫助,有機會的話自己也想來實踐一下呢。 > Web 後端優化 — 伺服端快取 (Server-Side Cache) ! [https://blog.jason.party/32/server-side-cache] #好文 #網站 #伺服器 #優化

PHP 字串替換 str_replace()
PHP

PHP 字串替換 str_replace()

前言 在很多的文字判斷中,我們常常需要進行字串比對的應用,在比對之前我們須確保資料的一致性,免得出現許多無法判斷的例外。 例如說:地址的比對,台北市與臺北市或是數字的1與中文的一,對於程式來說就是不同的東西了,所以在比對之前我們必須將資料給統一格式處理。 使用方法 以下使用皆以字串當作範例,實際上可以使用陣列等資料型別。 str_replace ($search, $replce, $subject, $count) * $search 搜尋的字串 * $replce 替換的字串 * $subject 原始需要被執行的字串 * $count 可被執行的次數 > 要注意這個 function 是會被重複執行替換的! 範例: “` $text = '請幫我把0123456789換成中文字'; $num = array("0", "1", "2", "3"

[SEO] 初步理解  Microdata 與 Schema.org  達到搜尋引擎優化

[SEO] 初步理解 Microdata 與 Schema.org 達到搜尋引擎優化

什麼是 Microdata: Microdata 為 HTML5 的一部分,至於 Microdata 等標籤的作用 簡單來說: 我們一般用來顯示資料的 HTML 等標籤是給我們 人 看的 , 而 Microdata 等標籤則相反,是專門為 機器 等各大搜尋引擎觀看而設計的 官方實例: <div> <h1>Avatar</h1> <span>Director: James Cameron (born August 16, 1954)</span> <span>Science fiction&

JavaScript 操作剪貼簿複製文字

JavaScript 操作剪貼簿複製文字

前言: 現今要使用 JavaScript 實現 剪貼簿複製文字 非常的容易 網頁編輯器 有提供 JavaScript 的 API document.execCommand() , 可以輕易的讓我們進行 文字編輯器 的操作,其中也包含了 剪貼簿複製文字 的操作 > 參考連結: MDN Document.execCommand() [https://developer.mozilla.org/zh-TW/docs/Web/API/Document/execCommand] 實例: 以下為範例: Code : <div> <input id ="copyInput" value ="文字1"

為何要從HTTP換成HTTPS?

為何要從HTTP換成HTTPS?

HTTP? HTTPS? 一般在使用網站的時候,大部分的人都不會太在意網址開頭的HTTP與HTTPS。今天就讓我們來聊下,這兩個到底差在哪? HTTP是什麼?HTTPS又是什麼? HTTP全稱HyperText Transfer Protocol(超文字傳輸協定),是一個屬於Layer7的協定。主要的目的在於提供一種發布和接收HTML頁面的方法。通過HTTP或者HTTPS協定請求的資源由URL(Uniform Resource Identifiers)來標識。 HTTP是由明碼來傳送網頁,並沒有任何加密,使用一般模式下進行交談,所以在網際網路上內容有可能遭攔有心人士攔截竊聽(ex:Wireshark),HTTP協定不使用加密協定,其中原因有:加密會增加許多運算資源,也會佔用更多的頻寬。 反觀HTTPS(Hypertext Transfer Protocol Secure),是以安全為出發點的協定,加入了SSL(Secure Sockets Layer)協定作為安全憑證,因此網站透過協定上的加密機制後能夠防止資料竊取者就算攔截到了傳輸資訊卻也無法直接看到傳輸中的資料,所以多為電子

TCP/IP學習---何謂協定?

TCP/IP學習---何謂協定?

Protocol 協定? 網際網路是結合各自發展的多種通訊技術所形成的,而整合這些技術並且具備應用能力的,就是TCP/IP。既然TCP/IP是來自各方,那麼想要應用,就必須有協定來促使各方技術合作並通用。這邊讓我們來了解下,到底什麼是「協定」。 五花八門的Protocol! 在現在的網路世界中,我們常會看到”協定”這個詞。TCP/IP中,就有IP、TCP、ICMP、UDP、HTTP…等等許多協定,這些協定可以說是組成TCP/IP並且使之可以應用的關鍵,當然協定不只有TCP/IP,比如Apple電腦早期的AppleTalk中的DDP、RTMP、AEP…等等使用於Apple公司產品的區域網路,都是協定的一種。 為何需要Protocol? 平常我們在使用網路的時候,並不會察覺到Protocol的存在,大概有在需要設定連線網路的時候才會想起。因為只要知道應用程式的用法,就能使用網路,不必在意Protocol是什麼,也能讓自己上網。但是不能否定的如果今天沒有這些協定,我們使用網路一定不會如此輕鬆快樂。 所謂的Protocol,是一種約定,在網路上使不同的電腦互相通訊。即使電腦的品牌、CP

分享 - ATOM 套件設定備份與同步
atom

分享 - ATOM 套件設定備份與同步

如果你經常在不同的電腦上使用 ATOM 開發,如果同步環境很困擾你的話,推薦你一定要裝一下 sync-settings [https://atom.io/packages/sync-settings] 他可以幫我們同步與備份編輯器的環境參數以及我們所裝的 Package 。 設定 當我們安裝好之後會看到設定畫面如下圖。 我們會需要 Gist ID 跟 Personal Access Token 這兩樣我們可以在 GitGub [https://github.com/] 上可以取得。 首先我們先到 GitGub 上建立一個 Gist [https://gist.github.com/] 並且設定為 secret 。 接著我們就可以在網址上看到我們的 Gist ID。 然後我們就可以設定 Personal access tokens [https://github.com/settings/tokens/

WordPress 使用 cookie 製作使用者瀏覽紀錄

WordPress 使用 cookie 製作使用者瀏覽紀錄

功能論述: 「使用者瀏覽紀錄」功能,可以幫助 使用者 快速的找到曾經閱讀過的文章,對於 更新速度快 與有著 大量文章篇幅 的 網站 與 應用 當中,在使用者體驗上有著十分出眾且直接的幫助 開發方向: 已開發者的角度而言,我們要先做的事如下: * 使用者 點擊過的文章 存入到 瀏覽器的 cookie 中 * 再將 存入 cookie 裡的文章,Query 到我們的頁面之中 以上兩點是主要方向 開發紀錄: > 以 JavaScript 前端的方式進行實作 取得當前 文章 的 ID : 當使用者在進入文章內頁時,取得 文章 的 ID , 將此 ID 作為變數傳給 JavaScript

為何需要切分子網路?

為何需要切分子網路?

為何需要切分子網路? 原因很簡單,當你的公司擁有一個A級網路,並且需要讓256x256x256-2=16777214台電腦同時上網,想想Ethernet網路中的CSMA/CD來解決碰撞的問題的方法,應該會讓你的16777214台電腦都不能上網或者超卡。 CSMA/CD Carrier Sense Multiple Access with Collision Detection(載波偵聽多路存取/碰撞檢測) 此方案要求裝置在傳送影格的同時要對信道進行偵聽,以確定是否發生碰撞,若在傳送資料過程中檢測到碰撞,則進行如下碰撞處理操作: * 傳送特殊阻塞資訊並立即停止傳送資料:特殊阻塞資訊是連續幾個位元組的全1訊號,此舉意在強化碰撞,以使得其它裝置能儘快檢測到碰撞發生。 * 在固定時間(一開始是1 contention period times)內等待隨機的時間,再次傳送。 * 若依舊碰撞,則採用截斷二進位指數避退演算法進行傳送。即十次之內停止前一次「固定時間」的兩倍時間內隨機再發送,十次後則停止前一次「固定時間」內隨機再發送。嘗試16次之後仍然失敗則放棄傳送。 堵塞 我們都知道