發表文章

目前顯示的是 10月, 2020的文章

如果想架個自有的私人的 git 伺服器

開發程式的過程就是一直摸索撞牆和一直撞牆和想辦法爬牆的過程,期待或許有一天可以不用撞牆,甚至直接能把穿牆的過程。現在這個過程中,免不了要包括架個自有的、私人的 git 伺服器,最好的狀況是這個牆不用自已撞,MMMMM,一直以來試圖繞過這牆,如果你看到這牆了,mmmm 我撞過了,正要爬過,好在,畢竟躲得夠久了,很多人爬過了,還早就知道這不是牆,是個好城堡。 git 的免費服務通常必需公開工作成果給大眾取用的,然而有些工作可以見光,見了光,別人就看見你                                               的工作成果,有些工作不能見光,才做到一半的工作見了光,就得換工作了。這次說的未必是不能見光,有時是不想見光,所以想要架個自有的、私人的 git 伺服器(own private git server)。 工作環境:   windows 8+   openssh server   gogs   git/git-bash   putty     sourcetree   MySQL或是SQLite   官網有說要架個私有 git 伺服器,最重要的就是在伺服器你要存檔的地方 $git --bare init ,然後就是透過開放網頁或是 ssh 來存專案的檔案,這樣當然就涉及網頁和 ssh 伺服器,如果你剛好又想不用 linux ,想在 windows 下完成這些工作,MMMMMMMM 話說 windows 10 之後,終於把 openssh server 放進應用程式裏面,讓你新增選用功能,然後再搞好 git server,之後再管理一下憑證、把使用者的權限開一下,接著搞清楚 git CLI 的指令,大概就可以了。 聽起來有點…………………麻煩是吧,做起來也……………………………………真的有點麻煩,再遇到一些沒碰過的問題就 …………………………………………………………………………………………………更麻煩。   還好有人生下來就是來解決問題的,通常被稱之為神,大部份的人,就只是人,好在,找到神就好了。 這次,找到了 gogs 除了預設可以透過 http 存取 git 伺服器,它還內建 ssh server,如果你剛好和某人一樣只有比 windows 10 還老的電腦可以用,雖然兩者涵蓋不太一樣,這又可省下不少事, git、MySQL

Windows 10 之前的作業系統安裝 openssh server

希望之後能發現更簡單的解法,先用這個了,Windows 10 可以在程式裏面新增這個服務,就不需要這個了。 工作環境:   Windows 8   openssh 8.1.0.0 p1 beta 參考這篇內容 或是中文附圖的 : 下載 OpenSSH server 解壓縮到 c:\Program Files\OpenSSH 的資料夾下 以管理者身份 以管理者身份 以管理者身份 開啟命令終端執行以下指令 powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 如果出現權限不足之類的紅字,表示沒有用管理員身份/權限執行 在 Powershell 下執行以下指令以註冊服務到作業系統 New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "C:\Program Files\OpenSSH\sshd.exe"  到防火牆下設定 OpenSSH 的權限,允許使用 port22 連入本機 到服務中將 OpenSSH 啟用 使用 putty 之類的程式試著連到本機 完成! 收工!

laravel 既有資料的 seed 產生器

laravel 的 migrate 工具可以讓我們產生相應的資料庫,讓使用者輸入資料到資料庫中。 有別於透過 sql 檔案來匯入資料庫中的資料,laravel 提供了 (db:)seed 讓我們把資料匯入資料庫中。 那要怎麼產生 seed 要用的內容呢? 這裏指的是要把預設的、指定的資料內容填入資料庫,而不是用 factory 來產生隨機資料的情境。 既然有 seed 指令就是可以手寫相關的檔案,就像是 https://laravel.tw/docs/5.2/seeding 提到的,建個 seed 檔案來填相應欄位的資料,再用 DatabaseSeeder.php 來呼叫所有的 seed 檔,或是透過指令 php artisan db:seed --class=UserTableSeeder 來執行指定的 seed 檔。 想當然爾「不想手動」,那就來找個工具。 工作環境:   laravel 7.*   iseed 2.6.4 https://github.com/orangehill/iseed   安裝 iseed: $composer require orangehill/iseed 產生 seed 檔/匯出資料庫中的資料: $php artisan iseed my_table,another_table,users database/seeds 下會生成相對應的 seed 檔案 匯入 users 資料庫中的資料: $php artisan db:seed --class=UserTableSeeder 或是匯入所有的資料: $php artisan db:seed 如果安裝時出現記憶體不足 Fatal error: Allowed memory size of ########## bytes exhausted 請見這裏

composer 安裝套件出現記憶體不足的情形排除

在很少見的情形下,用 composer 安裝套件時出現記憶體不足的狀況,安全性的考量在此先略過不談,單就處理安裝的角度來處理排除的工作。 症狀: Fatal error: Allowed memory size of ########## bytes exhausted 工作環境:   php 7.3   composer require iseed   確認記憶體設定值:     $php -r "echo ini_get('memory_limit').PHP_EOL;" 試著在這個工作階段略過記憶體設定值的限制:     $composer COMPOSER_MEMORY_LIMIT=-1 require orangehill/iseed    (我失敗了)     $php -d memory_limit=-1 composer.phar require orangehill/iseed    (我失敗了)     $php composer.phar COMPOSER_MEMORY_LIMIT=-1 require orangehill/iseed (我失敗了)     $COMPOSER_MEMORY_LIMIT=-1 composer require orangehill/iseed (我失敗了)          $set COMPOSER_MEMORY_LIMIT=-1     $composer require orangehill/iseed     終於成功!      收工!

phpMyAdmin除錯和一些操作的問題

工作環境: phpMyAdmin 4.9.1 出現: fix Field :group:OpenDocument/OpenOffice 試算表 has no type 解決方法: 參考文件:https://github.com/williamdes/phpmyadmintest/commit/47971806316304f650ca1b3742e2a53801d2a794 找這個檔案 libraries/classes/Config/Form.php 在 readTypes 下方新增一段     protected function cleanGroupPaths(array $form): array     {         foreach($form as &$name) {             if (mb_strpos((string) $name, ':group:') === 0) {                 $name = str_replace('/', '-', $name);             }         }         return $form;     }      以及下方的 readTypes 改成     public function loadForm($formName, array $form)     {         $this->name = $formName;         //加上這行         $form = $this->cleanGroupPaths($form);         $this->readFormPaths($form);         $this->readTypes();     } 收工!