[PHP] Closure / Anonymous Function 匿名函式指南

Intro PHP 5.3以後Closure / Anonymous Function是一個重大突破,其中callback、closure、anonymous function,與 callable都是指同一設計模式。 Guide PHP.net上已有不錯的文獻: PHP Anonymous functions PHP Closure sample code PHP Callbacks / Callables PHP Callables hint sample code 另外點燈坊有一篇蠻完整的文章:如何使用 Closure? Example 來些Sample Cdoe: Closure function myClosure($hi) { return function($name) use ($hi) { […]

[Windows] Win10 Home安裝啟用GPEdit.Msc (Group Policy Editor)

Intro Windows 10 Home可沒有gpedit.msc,需要另外手動安裝。 安裝啟用 下載GPEdit.Msc啟用BAT檔: GPEdit Enabler for Windows 10 Home Edition 使用管理員權限(使用到DISM)執行安裝並重開機後,Windows Run即可支援gpedit.msc BAT原理 怕載點失效嗎? 原理就只是執行已安裝OS內的Package,所以自己生成的BAT Commands為: @echo off pushd “%~dp0” dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt for /f %%i in (‘findstr /i . List.txt 2^>nul’) […]

[MySQL] 資料庫密碼修改處理 – MySQL Password Change

修改密碼指令 MySQL 5.7.5 and earlier: SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘MyNewPass’); MySQL 5.7.6 and later: ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass’; MariaDB設定使用者失效Bug MariaDB版本與PHPMyAdmin版本存在使用者密碼操作問題,如有遇到則以語法自行對照操作即可修復。 Ex. 5.5.46 SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘MyNewPass’); 另外如果設定完成但登入後又失效,可以確認mysql->users該用戶的plugin欄位是否有mysql_native_password值,將其刪除再設定密碼即可。 重設密碼 – Root密碼遺失強制修改 How to Reset the Root […]

[Dism] 查看Windows 10映像檔版本 – Check build and edition of Windows 10 iso

方法 可以直接以Windows打開ISO檔,ISO將會被自動掛載至新磁碟區 承上,掛載後即有絕對路徑如: H:\sources\install.esd 以磁碟H為範例 使用管理者權限執行dism確認檔案(cmd模式執行): Info with OS Build Version: dism /Get-WimInfo /WimFile:H:\sources\install.wim /index:1 If not found, use install.esd dism /Get-WimInfo /WimFile:H:\sources\boot.wim /index:1 Combo ISO: dism /Get-WimInfo /WimFile:H:\x86\sources\install.esd /index:1 dism /Get-WimInfo /WimFile:H:\x64\sources\install.esd /index:1 dism /Get-WimInfo /WimFile:H:\x86\sources\boot.wim /index:1 dism /Get-WimInfo […]

[Iptables] 防火牆設定指南 – iptables for CentOS & Ubuntu

Introduction CentOS & Ubuntu iptables guide. 其中CentOS我認為較方便設定。 指令與參數 快速阻擋一組IP(1.2.3.4/32)的所有連線: $ iptables -A INPUT -s 1.2.3.4/32 -j DROP 常用參數: –append -A :新增至Chain (預設`INPUT`, `FORWARD`, `OUTPUT`) –source -s :IP soruce –protocol -p :protocal –dport :目的Port,指服務Port (`–destination-port`) –jump -j :目標規則 (`ACCEPT`, `DROP`) 設定檔 […]

[MySQL] Master / Slave – MySQL Replica 指南

引言 MySQL Replica 相關指令及指南 安裝 MySQL官方文件:Chapter 16 Replication 安裝筆記可以參考:https://blog.longwin.com.tw/2008/03/mysql_replication_master_slave_set_2008/ Slave 狀態檢查 狀態查詢SQL SHOW slave STATUS; 建議使用command直式較好查看:SHOW slave STATUS \G; 忽略錯誤 SET GLOBAL SQL_SLAVE_SKIP_COUNTER =1; 可一次略過大量SQL數,建議逐筆Error Skip才不會漏 重新跟Master (錯誤後會停止) START SLAVE; 狀態識別 Key Description Master_Log_File IO Thread正在讀取Master的binlog Slave_IO_Running 是否在同步,正常為Yes Slave_SQL_Running 是否在同步,正常為Yes […]

[Linux] 快速查詢Linux發行版本與名稱(release & lsb_release)

引言 快速查詢各Linux發行版本與名稱,忘記時的好幫手… 查詢 快速指令lsb_release lsb_release -a 一般適用於Debian系列,Centos可能沒有。查詢結果範例: No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.1 LTS Release: 16.04 Codename: xenial 通用查詢/etc/*-release ls -l /etc/*-release 不同的版本會有不同的*前綴,且最好查看內容別直接以前綴名稱當成版本。Centeos查詢結果範例: -rw-r–r–. 1 root root 27 2017-03-28 18:25 /etc/centos-release lrwxrwxrwx. 1 root root […]

[BigData] 大數據(巨量資料)相關工具與基礎

引言 Big Data已經紅了一陣子了,近期搭上Machine learning,更凸顯Big Data技術的底層基礎重要性。 軟體工具 Apache Hadoop Hadoop生態系: SQL Tools 開源的SQL on Hadoop 工具比較 Apache Spark 與Hadoop的搭配方式: Big Data 新寵兒 Apache Spark 系列 – Spark 與 Hadoop 初次見面篇 AWS Amazon EMR 分散式架構資料處理軟體機群部屬精靈。 Amazon Redshift 一種支援SQL,屬於大量平行處理架構(Massive Parallel Processing,MPP)的資料倉儲。 列式存儲 資料壓縮 […]