2020年4月13日

Laravel Mirgrate 建立資料庫 (Mac)

以前建立資料庫,很直覺的就是開啟phpMyAdmin,然後資料庫表格設定一下就好了。
沒想到這個年代(好啦,我很老了),都用終端機指令建資料庫。
話不多說了,來指令建立吧。

誒~還是要開phpMyAdmin建立一個資料庫

















第二步,建立資料表,在終端機使用指令
php artisan make:migration create_links_table --create=links

這個指令會在database/migrations/ 新增一個{{datetime}}_create_links_table.php檔案
打開這個檔案,新增幾個欄位




















第三步,終端機上Mirgrate 資料庫
php artisan migrate






這時候,你就可以看到php檔案中的欄位已經幫你在資料庫中建立好了


另外,因為資料庫是新建的,沒有資料在裡面,通常為了測試,都需要自己建立很多資料,這時,migration也幫你做好這一塊了,只要做以下幾個步驟 ,測試資料也會自動幫你新增到資料庫喔。

第一步,終端機指令建立factory file
php artisan make:model --factory Link

然後打開database/factories/LinkFactory.php
加入以下程式碼

$factory->define(App\Link::class, function (Faker $faker) { return [ 'title' => substr($faker->sentence(2), 0, -1), 'url' => $faker->url, 'description' => $faker->paragraph, ]; });

第二步,終端機指令建立seeder
php artisan make:seeder LinksTableSeeder

然後打開database/seeds/LinksTableSeeder.php
加入以下程式碼

public function run() { factory(App\Link::class, 5)->create(); }

第三步,啟動LinkTableSeeder
打開database/seeds/DatabaseSeeder.php
加入以下程式碼

public function run() { $this->call(LinksTableSeeder::class); }

第四步,終端機指令新增測試資料到資料庫中
(注意,資料庫中最好不要有真實資料存在,不然會被清光光
php artisan migrate:fresh --seed

完成!

參考資料:https://laravel-news.com/your-first-laravel-application

MAMP phpMyAdmin access denide (mac)

為了讓laravel 可以 migrate 資料庫到mysql
在終端機下了php artisan migrate
結果報錯:





如字面上的意思,帳號或密碼錯誤
所以到larevel的.env檔以及config資料夾修改database.php資料庫設定













一直以為自己的mamp 資料庫沒有設定密碼,所以laravel資料庫連結密碼當然就一直空著
然後就登登登,一直錯下去
自以為聰明的想說,那我去改phpMyadmin的密碼好了
結果:哇~~成功了,可以migrate了






悲劇也隨之而來,phpMyadmin 連不上去








更改了/Applications/MAMP/bin/phpMyAdmin的config.inc.php
$cfg['Servers'][$i]['password']      = '你的密碼'; 
重啟server後仍然無法成功

只好又去終端機更改mysql帳密
指令:/Applications/MAMP/Library/bin/mysqladmin -u root -p password





先輸入剛剛白目改掉的密碼,再輸入新的密碼,然後再回到config.inc.php改成你的新密碼
登登登,成功,phpMyAdmin又可以用了














改完phpMyAdmin密碼後,仍然需要回到laravel修改.env及database.php的資料庫連結設定

完成!

2020年4月10日

重啟部落格

沉淺那麼長一段時間,物換星移,人事已非
6年之間很多技術已經更新
雖然換湯不換藥
基礎概念不變,但是屋子已經利用不同工法重蓋了多次
這期間
手機技術不斷更新
網路應用更加廣泛
由原本的PHP更換到了Python
windows換到了mac

很久沒寫文章,退步了
所以想利用這次Python學習喚醒自己的文青精神
希望持續的下去😣






2014年12月12日

chromecast使用心得

因為個人是google產品的愛好者
所以看到google的chromecast在台上市
撇掉買個3C產品會丟堵很久的個性
衝動之下就在PCHOME訂購了


chromecast使用了將近一個星期
發覺........科技真是太美好了.......(灑花....

不管Android手機,ipad mini,電腦
皆可藉由chromecast將影片及畫面轉到電視上
而且畫質真是HD呀....(不過這也要看影片供應方...但大致來說都很讚
我的眼睛終於不會這麼快瞎了...

我的手機是Sony Z:
經我測試,除了影劇APP無法直接cast之外
youtube、chrome瀏覽器中的影片皆可cast
還有台哥大的myvideo,其他如中華的影片、KKBOX或goole play電影也可
(以上後三項,我自己不是使用者,但官方說可以)

聽說SONY Z2以上可投影手機螢幕,本人沒有這麼好的手機,所以沒試過

ipad mini:
當然apple的產品cast的應用APP就沒android多
但我仍然覺得夠用了,因為主要用來cast youtube給小孩看

電腦:
只要透過chrome瀏覽器,影片幾乎都可cast,網站頁面也可直接投影到電視中
電腦硬碟內的影片則可透過Chrome的應用程式"videostream"即可cast

安裝方法,我想這類網站夠多了,不需再多一個
但chromecast的google說明網站我幾乎都瞄過了,似乎都很簡單
所以若對chromecast有問題,直接問使用過的人可能會比看說明快一點

還有關於chromecast關機或休眠這件事
研究了一下,結論是:
根本沒有關機的這個設計呀...
因為chromecast就是要給你一直插在電視上
但若你的chromecast的USB電源供應不是插在電視的USB上而是插在一般的插座上就無法關機
(不是每台電視都有USB插頭,所以一般應該都是插在一般的電源插座)

我也試過好幾天沒關機,chromecast微熱,使用仍然正常
為了關機,電源插頭拔來拔去,聽說這樣chromecast會壞掉(google論壇上使用者說的..

chromecast上有個小按鍵,只是給你回復原廠設定用,不是開關機鍵~~~~

心得結論是,非常推薦購買chromecast......若你不想再用小小螢幕看影片看到瞎的話...



2014年11月7日

線上課程使用感想--coursera

不管在美國還是大陸,最近線上課程網站很火紅
因為正好想要學習python程式語言
所以上網搜了一下看哪個網站可以開心免費學程式
每個網站的開課時間都不一樣,學習方式也不同

像codeacademy,隨時都可以學
因為他是使用文字敘述,然後直接操作習題,答對才可進入下一關。
有點像是在看書,順便直接操作練習。

而我選擇使用coursera,因為它是大學線上課程,學完還可拿到大學認證的證書(這要花錢)
不過我在意的不是大學證書,而是想看看外國大學的線上課程以及coursera這個網站好不好用

很幸運的,我想上的python課程剛好有開課,密西根大學的人人都懂得編程課(python)(免費)
上了一個月的python課程(還在繼續中...
感覺還不錯,越上越有興趣  (感想這麼簡單也不用寫文章了吧 >"<)

上課的第一要素,英文要好(廢話...

coursera的上課video介面讓我非常欣賞
因為不僅一邊可以看到教授講解,還可以一邊顯示類似寫黑板的講解塗鴉
這樣你可以馬上了解教授在講甚麼。就如同你真的在課堂上上課。

(我上過其他的線上課程,都只是類似遠距教學,擺個攝影機對著老師跟黑板這樣
如果畫質不清晰,上起來真的很不舒服。)

上完課後,可選擇做作業或考試,這兩個都是有日期限制,但是作業內容老師會先行講解。
考試都是選擇題,上課要認真聽,因為考題真的都是老師上課的內容
考試可以考一百遍,它會選裡面最好的成績來評分

在課程的安排上,其實排的也不錯,從硬體簡單教學到寫程式,真的是人人都會懂。
但對於已經有基礎的我就顯得有點浪費時間,因為一開始上覺得很無趣,所以都快轉
結果考試內容還真的有些不會,只好認命的重新看一遍

越上到後面其實就越期待趕快把後面的課上完
因為一個星期只有一個單元,沒耐心的話真的會上不下去
coursera會在每個新單元開始時就寄MAIL提醒你回來上課,我覺得這點也還不錯
因為現代人事情多,容易健忘。

對於coursera的操作介面,一開始沒用過可能很不習慣,不知道從何開始。
但其實只要看Video Lectures and Assigments 還有 Quizzes就可以了 (左邊Menu)
右邊Menu是提醒你作業Deadline跟正在上的課
如果想要證書之類的,我其實建議要做他的Extra Credit Assigments
不過我太懶了+沒耐心,所以只是做該做的事

每單元都會有個Bonus,就是請人來聊聊自己做的事,這個我覺得可以聽一下。

至於Disscussions Forum就看你自己要不要參與了,就是討論一些課程跟作業還有考試內容
如果真的不懂,可以在這裡發問,一定有人回

一般而言,上這門課其實很簡單,但對我來說可能稍嫌不足,因為我已寫程式很多年,
所以有些內容還真需要有耐心才能聽完,不過人總是要歸零才可以聽到不一樣的(深有所感)

我不確定coursera的其他線上課程教學內容或者教授是否也跟python的課程安排以及教授講解
一樣有趣,但在使用上coursera是個不錯的線上教學網站,如果有錢,可上有費用的課程外加認證證書,如果沒錢,可以上一下免費的課程。

有空就讓自己多學點知識吧!

2014年9月27日

windows2012 AD 網域時間校正

網域中的電腦群與AD主機時間不同步,所以先校正了AD的時間,再來同步網域電腦群

校正AD時間指令:
w32tm /config /manualpeerlist:"0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org" /syncfromflags:manual /reliable:yes /update

指令參考:如何調整 Windows 作業系統的時間正確性 ( 終極指令版 )

"0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org" <==是國際的time server,
所以如果是台灣的話,可以查一下國家時間與頻率標準實驗室的NTP伺服器位址

其實最好在AD主機中加入校時的job,每段時間跑一下校時程式,比較不會出現時間誤差

同步網域電腦群:
校正AD時間後,可在不同步的電腦中下指令 w32tm /resync (最好在校正AD時間後三分鐘再下指令,不然會一直出現錯誤)

理論上加入網域後的電腦自動會去同步AD的時間,不需要特別設定
但如果不放心,需要使用網域群組原則同步,則需設定==>
1. 電腦設定-->原則-->系統管理範本-->系統-->windows時間服務-->時間提供者-->設定Windows NTP使用端

2. 設定完後要下 gpupdate /force 指令

又或者在logon script加入以下指令
net time /domain:domain name /set /yes

2014年6月17日

jquery ajax基本使用範例程式

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
 $(document).ready(function(){
     $('#put').click(function(){ //button按下時觸發

          var cart = $('#cart').val(); //id name value
          var qty = $('#qty').val(); //id name value

          $.ajax({
             type: "POST",
             url: "update.php",
             data: {type:""+cart+"",product_qty:""+qty+""},
             success: function(data){
               //if sucess do something
               alert(data); //查看從update.php帶回的資料
             }
          });
     });
 });
<script>


簡化 $(document).ready(function(){ 寫法
$(document).ready(function(){
    //do something
});

$().ready(function(){
   //do something
});

$(function(){
   //do something

});