搜尋此網誌

2018年12月17日 星期一

PHP框架自製的必要

不負責報告 : (我只自學半年多,講錯請見諒)

基本上PHP本身就是比較低速了

而一般框架會在啟動時載入Composer的套件,基於效能,這已經使的PHP變慢很多了,載越多越慢

因此如果只有網頁需求,在底線狀況,可能一家小公司,Laravel這種低速的框架可以Work就好了,不會每天有幾千人在那邊上小公司網站

而如果要最快,可能用原生PHP是最快的(目前狀況),用原生PHP寫API,您可以載入最少的套件,以達到最快效能

任何一個套件,他在一開始載入越多套件,基本上效能都打折了,框架主要就不會Focus在效能,應該Force在彈性及載入最小化(所以Composer的AutoLoad這樣對嗎?我不知道!!)

所以框架無限多,其實就目前狀況,應該沒必要自製PHP框架(何況我也不會),就算用C寫Extension做出的框架,您想想,就算將框架所有動作用C Extension跑,最後還是會跑回到PHP一個檔案做設計,那這樣也不會比原生PHP的寫法快,幹嘛寫一堆繞一圈,結果沒有太大的幫助,多一小部分彈性而已,

何況當框架越做越大,如有效能考量,能省一個Function都是有幫助的,寫到最後,為何不乾脆請Apache弄一個C++接口,將整個專案接回去C++撰寫,何況C++有DLL可以拆工作,又快又可以分工,沒有差太多啦

有錯請見諒,我隨便講的,哈哈哈!!XD

所以我求職Web就不打算摸底層了,可能Focus在應用和加薪了(目前起薪有夠低...30K)


2018年12月14日 星期五

框架規劃 - 聲明

框架由於政治因素(因為不給其他公司用),
皆綁定在,我未來如果有開公司,我公司內團體使用
要是沒機會開公司,原則上只支援我接案使用

Web似乎沒辦法設計出TTFB 50ms內的框架,似乎composer autoload太多就會超過了
(我用laravel的composer.json)就要74ms

框架設計方向
//--
最終
//--
Hahahalib
|-----WINDOWS(高效能,Windows)
|-----Universal(高效能,跨平台)
//--

//--
過渡
//--
Hahahalib(CB)
|-- 高效能,AOI
Hahahalib(C#)
|-- 高效能,自動化
//--

2018年11月8日 星期四

20181108 重要消息

由於我的Google Drive 15GB(已用12GB)
快要滿了,因此往後要是還有上傳,我可能會砍前面的文章的上傳檔案
窮人用法沒辦法

而由於前面有些太懶,上傳檔案沒有精簡,使得有些壓縮檔太大
而有些相同專案,因為我follow某一版的RAD Studio or Visual Studio,當IDE升級後,
其實我不確定舊版的是否可以跑
而且我有更改專案路徑,其實同一專案,整個結構及檔案擺放都會不同

因此,可能一段時間,也會在整理後,將前面的文章刪去,並重新更新一個完整的文章

如影片及相關檔案對不上,請見諒,這樣做法,必須一段時間重新錄製新的影片

在這邊說聲抱歉,

還是強調請勿用於商業及工業用途
請供參考,違者提告,謝謝

20181108 ha_media_100

RAD XE 10.2.3 5351


AISYShttps://drive.google.com/open?id=1F2jw233ueblPHcUE0eeEyRe2zB9vAFl4

hahahalib( hahahalib(kernel) and A_Alib(sub) )
https://drive.google.com/open?id=1n8kplyGgzej5Le0K_Z6V2Bj7a9zAiPcW

專案
https://drive.google.com/open?id=1NwLjKwQNuPkEDP9y8WR9h7Uaj0AtIGtw

執行環境(runtime裡的ha_media_100開youtube會沒畫面,請重新編譯執行檔)
https://drive.google.com/open?id=1kIlCLrv8uLpg-QfnpfSENTeJ1Ttn_1PB

請將專案生成的執行檔丟到對應的執行環境(32bit or 64bit)

hahahalib安裝
1. hahaha\設定環境變數 批次檔所在目錄.bat 執行

2. 將hahaha\這個目錄設成環境變數
DLL_DIR
方便編譯時使用

3. 安裝AISYS套件,不然編譯會有問題
[X86] 我司僅提供 BCB6 ImportPkg, 新版bcb必須自行製作ImportPkg來轉成VCL元件靜態使用
1.      AisysSolution安裝時, 僅安裝/註冊32bit OCX元件.
2.      使用XE編譯器製作ImportPackage, 即可將OCX轉為VCL元件靜態使用
[光道視覺] AISYS OVK Framework On BCB 2009~XE7 ImportPackage 製作方式
http://youtu.be/x2mUP5sv_S0

[X64] C:\Program Files (x86)\AISYS Vision Corporation\AISYS Solutions\OVK Framework 64 Suite\
///// 注意不是右鍵系統管理員執行,是用系統管理員開命令提示字元執行  /////
1.      使用命令提示列(系統管理員)執行“InstOvkFramework64.bat”即安裝 64bit ocx元件, “UninstOvkFramework64.bat”為反安裝.
2.      “C++ Builder XE6 Import Packages”資料夾內為XE6定義引用檔, 應相容XE7, 但建議還是自行使用TLIBIMP.exe重新產生.
3.      XE6 64bit參考範例:
AltairU : \Examples.zip\TestOvkLite64-BCBXE6\
OvkObject : \Examples.zip\TestOvkBlob64-BCBXE6\

PS. XE提供的“TLIBIMP.exe”工具有分32bit/64bit 版本, 產生出來的定義引用檔不同, 您可嘗試替換這些檔案來轉換32/64專案.
若有其他問題或需更近一步的資訊,歡迎與我們連絡!

如AISYS設定不成功(要用系統管理員),您可將該出錯的.CPP & .H,註解掉
那是做AOI(工業檢測用的相機模組)
// -----------------------------------------------------------------
A_A_lib
// -----------------------------------------------------------------
4. 安裝元件
hahaha\component\A_A\CEF4Delphi\packages\CEF4Delphi.dproj
chromium - CEF4Delphi
Build + Install(不可只install,會有編譯問題)
// -----------------------------------------------------------------
5. DirectX11 修改
C:\Program Files (x86)\Embarcadero\Studio\19.0\include\windows\sdk\d3d11.h
將下面
extern const DECLSPEC_SELECTANY CD3D11_VIDEO_DEFAULT D3D11_VIDEO_DEFAULT;
修改為
extern const DECLSPEC_SELECTANY CD3D11_VIDEO_DEFAULT D3D11_VIDEO_DEFAULT{};
// -----------------------------------------------------------------
6. Cef4Delphi 修改
C:\Users\Public\Documents\Embarcadero\Studio\19.0\hpp\Win32\uCEFConstants.hpp
C:\Users\Public\Documents\Embarcadero\Studio\19.0\hpp\Win64\uCEFConstants.hpp
Cbuiler將下面
static const System::Int8 IMAGE_FILE_MACHINE_UNKNOWN = System::Int8(0x0);
static const System::Word IMAGE_FILE_MACHINE_I386 = System::Word(0x14c);
static const System::Word IMAGE_FILE_MACHINE_IA64 = System::Word(0x200);
static const System::Word IMAGE_FILE_MACHINE_AMD64 = System::Word(0x8664);
static const System::Word IMAGE_FILE_MACHINE_R3000_BE = System::Word(0x160);
static const System::Word IMAGE_FILE_MACHINE_R3000 = System::Word(0x162);
static const System::Word IMAGE_FILE_MACHINE_R4000 = System::Word(0x166);
static const System::Word IMAGE_FILE_MACHINE_R10000 = System::Word(0x168);
static const System::Word IMAGE_FILE_MACHINE_ALPHA = System::Word(0x184);
static const System::Word IMAGE_FILE_MACHINE_POWERPC = System::Word(0x1f0);
修改為
#if !defined(CBuilder)
static const System::Int8 IMAGE_FILE_MACHINE_UNKNOWN = System::Int8(0x0);
static const System::Word IMAGE_FILE_MACHINE_I386 = System::Word(0x14c);
static const System::Word IMAGE_FILE_MACHINE_IA64 = System::Word(0x200);
static const System::Word IMAGE_FILE_MACHINE_AMD64 = System::Word(0x8664);
static const System::Word IMAGE_FILE_MACHINE_R3000_BE = System::Word(0x160);
static const System::Word IMAGE_FILE_MACHINE_R3000 = System::Word(0x162);
static const System::Word IMAGE_FILE_MACHINE_R4000 = System::Word(0x166);
static const System::Word IMAGE_FILE_MACHINE_R10000 = System::Word(0x168);
static const System::Word IMAGE_FILE_MACHINE_ALPHA = System::Word(0x184);
static const System::Word IMAGE_FILE_MACHINE_POWERPC = System::Word(0x1f0);
#endif
//
編譯時請加入define cbuilder
// -----------------------------------------------------------------




hahaha版權所有,請勿用於商業或工業用途
僅供參考










20181108 web hahaha

案子打包上傳

裡面包含2個資料夾
1. web
2. xampp

下載連結
https://drive.google.com/open?id=1HeAVxmBxoaTmy8kGBUPMQE1Ie1Sb4XGr

安裝方式 :
將壓縮解到D:(我在那裏開發的)
也就是會變成
D:\web
D:\xampp

設定HINET固定IP(這要自己想辦法了)
啟用外部網路(WAN) - DMZ
開啟D:\xampp\xampp-control.exe
Apache - Start
MySQL - Start
FileZilla - Start

phpmyadmin
root
hahaha

由於我申請了免費憑證,目前連線是要用https://
https://hahaha0417.zapto.org:8443/

如要在其他地方開啟,請設定
D:\xampp\apache\conf'\httpd.conf
Listen 8081

D:\xampp\apache\conf\extra\httpd-vhosts.conf
<VirtualHost *:8081>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "D:/web/hahaha/hahaha/public"
    ServerName hahaha.ha1.tw
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

這樣就可以用http://方式開啟
http://114.32.144.211:8081/

詳情請查route


hahaha版權所有,請勿用於商業或工業用途
僅供參考

哈哥沒錢了,尋求AOI接案機會
聯絡方式
hahaha0417@hotmail.com
0916353255


2018年9月8日 星期六

c# test 20180909

ha arch.完成

歡迎下載,非本人請勿直接用於商業或工業用途
hahaha版權所有,違者必究

不定期更新版本,不確定會更新到何時!!看hahaha高興

教學
請依序點選
hahaha\設定環境變數 批次檔所在目錄.bat
test\設定環境變數 批次檔所在目錄.bat
這樣用Visual Studio 2017才可以編譯

並依照
請手動加入PATH.txt

設定方式.png
這樣執行時才會去找編譯出來的DLL

由於方案瘦身,有用到的才加入參考
另外由於visual studio方案設置的細節問題(不同資料夾方案的c# dll無法互相使用)

所以由以下開啟
test\test\test\test\test.sln hahahalib & test全部編譯
test\test\test\test\hahahalib.sln hahahalib編譯
test\test\test\test\test_no_hahahalib.sln test編譯
即可進入專案編譯

hahaha\C#架構圖.png

是相依架構圖,下層會往上相依
方案\重建方案,應該會成功
資料夾內有設計註解文字檔!!
有空我會錄使用影片教學(等我有工作再看看)

下載連結:
https://drive.google.com/open?id=1W1eIwz-oKdfKLnLBJUm_LIdYfsTuO0hC

2018年9月6日 星期四

c# test 20180906

97架構 8實作

歡迎下載,非本人請勿直接用於商業或工業用途
hahaha版權所有,違者必究

不定期更新版本,不確定會更新到何時!!看hahaha高興

教學
請依序點選
hahaha\設定環境變數 批次檔所在目錄.bat
test\設定環境變數 批次檔所在目錄.bat
這樣用Visual Studio 2017才可以編譯

並依照
請手動加入PATH.txt

設定方式.png
這樣執行時才會去找編譯出來的DLL


開啟test\test\test\test\test.sln
即可進入專案

hahaha\C#架構圖.png

是相依架構圖,下層會往上相依
方案\重建方案,應該會成功
資料夾內有設計註解文字檔!!
有空我會錄使用影片教學(等我有工作再看看)

下載連結:
https://drive.google.com/open?id=1VYavojOMpqRa_81NLQCKK-Uu0L2cYrxE

2018年9月3日 星期一

ha式命名法 (1)

//---------------------------------------------------------------------------
由於C++ & C# & CLR使用上不太一樣
//---------------------------------------------------------------------------
C++可以using namespace XXX;或者不需要
//---------------------------------------------------------------------------
C#裡的manage變數或函式一定要
using XXX;
//---------------------------------------------------------------------------
CLR裡的
manage變數或函式一定要
using namespace XXX;
而unmanage則不一定要用
using namespace XXX;
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
根據ha arch.(hahaha的架構)
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
C++ Builder
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
lib :
統一用namespace hahahalib
sublib :
統一用namespace hahaha
exe & dll :
統一用namespace hahaha
全域變數用 :
統一用namespace ha
//---------------------------------------------------------------------------
使用上不採用
using namespace XXX;
因為C++函式太多了(包括第三方)
為了避免出現使用上命名衝突,則不using namespace XXX;
順便當作區隔
//---------------------------------------------------------------------------
原則上用namespace隔開就比較不容易出現命名衝突
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
C#
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
lib :
統一用namespace hahahalib
sublib :
統一用namespace hahaha
dll :
統一用namespace hahaha
exe : hahaha_net
clr : 
manage統一用namespace hahaha_clr
unmanage統一用namespace hahaha
net : 
manage統一用namespace hahaha_net
//---------------------------------------------------------------------------
使用上unmanage不採用
using namespace XXX;
因為C++函式太多了(包括第三方)
為了避免出現使用上命名衝突,則不using namespace XXX;
順便當作區隔
//---------------------------------------------------------------------------
原則上用namespace隔開就比較不容易出現命名衝突
//---------------------------------------------------------------------------
使用上manage採用
net :
using XXX;
clr :
using namespace XXX;
//---------------------------------------------------------------------------
原則上class命名的好,就不會產生衝突了
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
結論
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
也就是unmanage的namespace
lib:
namespace XXXlib;
sublib & dll :
namespace XXX;也就是manage的namespace
clr :
namespace XXX_clr;
net :
namespace XXX_net
//---------------------------------------------------------------------------
使用上manage相關的
clr :
using namespace XXX_clr;
net :
using XXX_net;
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------

2018年9月1日 星期六

c# test 20180902

c# 架構完成
歡迎下載,非本人請勿直接用於商業或工業用途
hahaha版權所有,違者必究

不定期更新版本,不確定會更新到何時!!看hahaha高興

教學
請依序點選
hahaha\設定環境變數 批次檔所在目錄.bat
test\設定環境變數 批次檔所在目錄.bat
這樣用Visual Studio 2017才可以編譯

並依照
請手動加入PATH.txt

設定方式.png
這樣執行時才會去找編譯出來的DLL


開啟test\test\test\test\test.sln
即可進入專案

hahaha\C#架構圖.png

是相依架構圖,下層會往上相依
方案\重建方案,應該會成功
資料夾內有設計註解文字檔!!
有空我會錄使用影片教學(等我有工作再看看)

下載連結:

2018年8月30日 星期四

20180830 csharp_empty

c#空殼
歡迎下載,非本人請勿直接用於商業或工業用途
hahaha版權所有,違者必究

不定期更新版本,不確定會更新到何時!!看hahaha高興

教學
請依序點選
hahaha\設定環境變數 批次檔所在目錄.bat
test\設定環境變數 批次檔所在目錄.bat
這樣用Visual Studio 2017才可以編譯

並依照
請手動加入PATH.txt

設定方式.png
這樣執行時才會去找編譯出來的DLL


開啟csharp_empty\test\test\test\test.sln
即可進入專案

hahaha\C#架構圖.png

是相依架構圖,下層會往上相依

方案\重建方案,應該會成功

有空我會錄使用影片教學(等我有工作再看看)

下載連結:
https://drive.google.com/open?id=1Y_xmefwp5IwzbXKolLvkgfrsHMzstv4i

2018年8月29日 星期三

2018年8月28日 星期二

政治立場 : 台獨

//-------------------------------------------------------------
政治立場 : 台獨
//-------------------------------------------------------------

20180828 web hahaha

案子打包上傳

裡面包含2個資料夾
1. web
2. xampp

下載連結
https://drive.google.com/open?id=1IVY3nGYa59x13ALSOY3pXsb6-crI_5UY

安裝方式 :
將壓縮解到D:(我在那裏開發的)
也就是會變成
D:\web
D:\xampp

設定HINET固定IP(這要自己想辦法了)
啟用外部網路(WAN) - DMZ
開啟D:\xampp\xampp-control.exe
Apache - Start
MySQL - Start
FileZilla - Start

phpmyadmin
root
hahaha

如我的主機(找到工作前,中午12點後會開)
前台
http://114.32.144.211:8081
後台
http://114.32.144.211:8081/backend
admin
hahaha

http://114.32.144.211:8081/product
http://114.32.144.211:8081/product/aoi
http://114.32.144.211:8081/product/aoi/oring

http://114.32.144.211:8081/device
http://114.32.144.211:8081/device/aoi
http://114.32.144.211:8081/device/aoi/full/model/HA100

後台在ip加backend/
詳情請查route

基本上
product是大型產品線
device是小型設備
雖然兩個長的一樣,但是就架構規劃拆成兩類

hahaha版權所有,請勿用於商業或工業用途
僅供參考

哈哥沒錢了,尋求AOI接案機會
聯絡方式
hahaha0417@hotmail.com
0916353255


2018年8月25日 星期六

20180826 web hahaha

案子打包上傳

裡面包含2個資料夾
1. web
2. xampp

下載連結
https://drive.google.com/open?id=1wG3Xfvewrg3dQPNifAZeeS0Yo_8l8DmM

安裝方式 :
將壓縮解到D:(我在那裏開發的)
也就是會變成
D:\web
D:\xampp

設定HINET固定IP(這要自己想辦法了)
啟用外部網路(WAN) - DMZ
開啟D:\xampp\xampp-control.exe
Apache - Start
MySQL - Start
FileZilla - Start

phpmyadmin
root
hahaha

如我的主機(找到工作前,中午12點後會開)
前台
http://114.32.144.211:8081
後台
http://114.32.144.211:8081/backend
admin
hahaha

http://114.32.144.211:8081/product
http://114.32.144.211:8081/product/aoi
http://114.32.144.211:8081/product/aoi/oring


hahaha版權所有,請勿用於商業或工業用途
僅供參考

哈哥沒錢了,尋求AOI接案機會
聯絡方式
hahaha0417@hotmail.com
0916353255