หัวข้อที่แล้วเราได้รู้จักกับ *ngFor, Interpolation {{ }} และ Property Binding [ ] ไปแล้ว
ในส่วนที่เราจะมาทำความรู้จักกับอีก 2 ตัวคือ *ngIf และ Event Binding ( ) กัน
พาทนี้ยังอยู่กับ https://angular.io/start ครับ โดยจากภาพแล้วเราจะทำการแสดง Description ออกมา
ส่วน Product ไหนไม่มี Description เราก็จะไม่แสดง
วันพฤหัสบดีที่ 2 มกราคม พ.ศ. 2563
วันอังคารที่ 31 ธันวาคม พ.ศ. 2562
Angular 8 - ข้อมูล Static กับ Component และ การแสดงผล
การเก็บข้อมูล Static เป็น Hard Code และการเอาออกมาแสดงที่ Component
เรายังทำตาม Tutorial Your First App ส่วนนี้จะเป็นเกี่ยวกับข้อมูลที่เก็บไว้ใน App ของเราโดยเป็นแบบ Static
เว็บหน้า Your First App https://angular.io/start
ในไฟล์ Component เวลาที่เราประกาศตัวแปรในการเก็บข้อมูลเราสามารถตั้งชื่อขึ้นมาได้เลยในไฟล์ "product-list.component.ts"
โดยสร้างตัวแปร "title" เก็บคำว่า "Product List" ก็เพิ่มลงไปใน Code เป็น title='Product List'; ตามตัวอย่าง
เมื่อต้องการเรียกออกมาแสดงโดยเรียกใน Template ให้ใช้ {{ }} ในการเรียก เป็น {{title}} ก็จะดึงค่ามาแสดง
เรายังทำตาม Tutorial Your First App ส่วนนี้จะเป็นเกี่ยวกับข้อมูลที่เก็บไว้ใน App ของเราโดยเป็นแบบ Static
เว็บหน้า Your First App https://angular.io/start
ในไฟล์ Component เวลาที่เราประกาศตัวแปรในการเก็บข้อมูลเราสามารถตั้งชื่อขึ้นมาได้เลยในไฟล์ "product-list.component.ts"
โดยสร้างตัวแปร "title" เก็บคำว่า "Product List" ก็เพิ่มลงไปใน Code เป็น title='Product List'; ตามตัวอย่าง
เมื่อต้องการเรียกออกมาแสดงโดยเรียกใน Template ให้ใช้ {{ }} ในการเรียก เป็น {{title}} ก็จะดึงค่ามาแสดง
import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-product-list', templateUrl: './product-list.component.html', styleUrls: ['./product-list.component.css'] }) export class ProductListComponent implements OnInit { title = 'Product List'; constructor() { } ngOnInit() { } }
<h1>{{title}}</h1>
วันเสาร์ที่ 28 ธันวาคม พ.ศ. 2562
Angular 8 - Tutorial Your First App กับการสร้าง Component
ตัวอย่าง App แรกของ Tutorial อ่านได้จาก https://angular.io/start
เราจะเริ่มสร้าง Component โดยใช้ Tutorial Your First App เป็น Guide
โดยขั้นแรกเราจะทำ Title แล้วก็ปุ่ม Cart พร้อมกับ Product 1 บรรทัดตามรูป
เริ่มโดยใช้คำสั่ง ng generate component [component-name]
เราจะเริ่มสร้าง Component โดยใช้ Tutorial Your First App เป็น Guide
โดยขั้นแรกเราจะทำ Title แล้วก็ปุ่ม Cart พร้อมกับ Product 1 บรรทัดตามรูป
เริ่มโดยใช้คำสั่ง ng generate component [component-name]
ng generate component top-bar ng generate component product-list
วันพฤหัสบดีที่ 26 ธันวาคม พ.ศ. 2562
Angular 8 - ติดตั้ง Node.js และ Angular กับพื้นฐานโครงสร้าง
การใช้ Angular 8 ต้องติดตั้ง Node.js Version 10 อ้างอิงตาม https://angular.io/guide/setup-local
ติดตั้ง Node.js ไปโหลดตามนี่เลย https://nodejs.org/en/
หลังจากติดตั้ง Node.js เรียบร้อยแล้วให้ทำการติดตั้ง Angular
เมื่อทำการติดตั้งเรียบร้อยแล้วเราจะสามารถใช้คำสั่ง ng ในการสร้าง Project Angular ได้
คำสั่ง ng new สำหรับสร้าง Project และ ng serv เพื่อใช้รัน Angular
เมื่อ Run Server เสร็จแล้วเปิด Browser ไปที่ http://localhost:4200 จะเจอหน้า Welcome แนะนำการเขียนเบื้องต้น
ติดตั้ง Node.js ไปโหลดตามนี่เลย https://nodejs.org/en/
หลังจากติดตั้ง Node.js เรียบร้อยแล้วให้ทำการติดตั้ง Angular
# npm install -g # In global mode (ie, with -g or --global appended to the command), # it installs the current package context (ie, the current working directory) as a global package. npm install -g @angular/cli
เมื่อทำการติดตั้งเรียบร้อยแล้วเราจะสามารถใช้คำสั่ง ng ในการสร้าง Project Angular ได้
คำสั่ง ng new สำหรับสร้าง Project และ ng serv เพื่อใช้รัน Angular
# new (n) Creates a new workspace and an initial Angular app. ng new my-app # serve (s) Builds and serves your app, rebuilding on file changes. cd my-app ng serve --open
เมื่อ Run Server เสร็จแล้วเปิด Browser ไปที่ http://localhost:4200 จะเจอหน้า Welcome แนะนำการเขียนเบื้องต้น
วันอาทิตย์ที่ 22 ธันวาคม พ.ศ. 2562
Laravel 5.8 - ระบบ Authentication
สร้าง Project ผ่าน PHP Composer ส่วนนี้ผมใช้ชื่อว่า laravel_authen
เสร็จแล้วเข้าไปดูที่ Folder /database/migrations เราจะเห็นไฟล์ที่ มีชื่อท้ายว่า create_users_table.php และ create_password_reset_table.php จะเป็นไฟล์สำหรับใช้สร้าง User Table และ Password Reset Table ให้เราทำการเชื่อต่อ Project ของเราเข้ากับ Database ก่อน โดยไปที่ไฟล์ /config/database.php และไฟล์ .env แล้วทำการแก้ไขค่าการเชื่อมต่อกับ Database
เมื่อทำการ Config ค่าการเชื่อมต่อกับ Database เรียบร้อยแล้ว ทำการสร้างตารางโดยสั่ง Migrate ผ่าน Artisan เมื่อสร้างเรียบร้อยแล้วให้เข้าไปตรวจสอบที่ Database ของเรา จะเห็นว่ามีตารางเพิ่มมา 2 - 3 ตารางคือ migrations, password_resets และ users
composer create-project --prefer-dist laravel/laravel . "5.8.*"
เสร็จแล้วเข้าไปดูที่ Folder /database/migrations เราจะเห็นไฟล์ที่ มีชื่อท้ายว่า create_users_table.php และ create_password_reset_table.php จะเป็นไฟล์สำหรับใช้สร้าง User Table และ Password Reset Table ให้เราทำการเชื่อต่อ Project ของเราเข้ากับ Database ก่อน โดยไปที่ไฟล์ /config/database.php และไฟล์ .env แล้วทำการแก้ไขค่าการเชื่อมต่อกับ Database
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_db DB_USERNAME=root DB_PASSWORD=
'mysql' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'laravel_Db'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], ],
เมื่อทำการ Config ค่าการเชื่อมต่อกับ Database เรียบร้อยแล้ว ทำการสร้างตารางโดยสั่ง Migrate ผ่าน Artisan เมื่อสร้างเรียบร้อยแล้วให้เข้าไปตรวจสอบที่ Database ของเรา จะเห็นว่ามีตารางเพิ่มมา 2 - 3 ตารางคือ migrations, password_resets และ users
php artisan migrate
วันศุกร์ที่ 20 ธันวาคม พ.ศ. 2562
Laravel 5.8 - การเชื่อมต่อกับฐานข้อมูล MySQL
โครงสร้างใน Folder Project
- app : เก็บ Model และ Controller- config : เก็บค่า Config ต่าง ๆ
- database : เก็บ Migration และ Seeding สำหรับสร้าง Table
- public : เก็บ CSS, JS ไฟล์ต่างๆ ที่ให้เข้าถึงได้ และ .htaccess ด้วย
- resource : เก็บส่วนการแสดงผล View
- routes : เก็บไฟล์ที่ใช้กำหนด Url
- storage : เก็บข้อมูล Caches, Session, ไฟล์ Blade Engine ที่ Complied
- tests : เก็บ Automated Test
- *.env : เก็บ Config Laravel กับ ฐานข้อมูล
การ Config ไฟล์
อ่านเพิ่มเติมได้ที่ https://laravel.com/docs/5.8/databaseไฟล์ที่เราต่อกับฐานข้อมูลจะใช้มี 2 จุด
1. project/config/database.php
2. .env
แก้ไขในส่วนของ Host, Port, DBName, Username และ Password ให้ถูกต้อง
'mysql' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'laravel_db'), 'username' => env('DB_USERNAME', 'laravel'), 'password' => env('DB_PASSWORD', 'laravel'), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], ],
แก้ไขให้ถูกต้องเหมือนกัน
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_db DB_USERNAME=root DB_PASSWORD=
วันพุธที่ 18 ธันวาคม พ.ศ. 2562
Laravel 5.8 - การติดตั้ง Laravel และ MVC
ข้อมูลจาก บทเรียนจาก Kong Ruksiam
ก่อนอื่นให้ทำการติดตั้ง XAMPP
และ Composer
เมื่อทำการติดตั้งเสร็จแล้วตรวจสอบผ่าน Command โดยคำสั่ง
ก่อนอื่นให้ทำการติดตั้ง XAMPP
และ Composer
เมื่อทำการติดตั้งเสร็จแล้วตรวจสอบผ่าน Command โดยคำสั่ง
# แสดง Version ของ PHP php -version PHP 7.3.12 (cli) (built: Nov 19 2019 13:58:02) ( ZTS MSVC15 (Visual C++ 2017) x64 ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.12, Copyright (c) 1998-2018 Zend Technologies # แสดง Version ของ Composer composer --version Composer version 1.9.1 2019-11-01 17:20:17
วันจันทร์ที่ 16 ธันวาคม พ.ศ. 2562
(Shortcut) Update NPM and Node.JS
คำสั่งที่ใช้ในการ Update npm
คำสั่งที่ใช้ในการ Update node.js
# แสดง Version ของ npm npm -v # Upgrade npm เป็น Version ล่าสุด npm install -g npm@latest
คำสั่งที่ใช้ในการ Update node.js
# แสดง Version ของ node.js node -v # Upgrade node.js เป็น Version ล่าสุด npm install -g node
วันพฤหัสบดีที่ 28 พฤศจิกายน พ.ศ. 2562
การล้างข้อมูลในฐานข้อมูลและโหลด Config ใหม่ให้ DSpace CRIS
การล้างข้อมูลนั้นเราทำหลายครั้งก่อนที่เราจะใช้งาน DSpace CRIS จริงๆ เพราะว่าต้องทดลองใช้งานหลาย ๆ อย่าง จึงทำให้ฐานข้อมูลมีข้อมูลที่เราไม่ใช้จำนวนมาก
การ Load Registry ครั้งแรกเมื่อทำการ Load แล้วให้เราทำการ Restart Server ก่อน 1 ครั้งสำหรับ Registry Schema ใหม่
sudo su - postgres psql dspace -c "DROP EXTENSION pgcrypto;" exit; sudo /data/dspace/bin/dspace database info sudo /data/dspace/bin/dspace clean sudo su - postgres psql dspace -c "CREATE EXTENSION pgcrypto;" exit;
# - load-cris-configuration: Load CRIS configuration from an XLS file # - export-cris-configuration: Export CRIS configuration from an XLS file sudo /data/dspace/bin/dspace load-cris-configuration -f /data/upload/configuration.xls
การ Load Registry ครั้งแรกเมื่อทำการ Load แล้วให้เราทำการ Restart Server ก่อน 1 ครั้งสำหรับ Registry Schema ใหม่
sudo /data/dspace/bin/dspace registry-loader -metadata /data/upload/patent-types.xml
วันอาทิตย์ที่ 24 พฤศจิกายน พ.ศ. 2562
DSpace CRIS แก้ DC Type ที่เป็น All Theses ขึ้น ???
ข้อมูลจาก: DSpace Tech Support
เมื่อทำการทดสอบใช้งาน DSpace CRIS หลังจากติดตั้งไปสักพัก เมื่อทำการเพิ่ม Item แล้วเลือก DC Type เป็น Theses เราจะพบว่าหน้าแรกที่ใช้สรุปว่ามี Item ประเภทไหนบ้าง เราจะเจอความผิดพลาดที่ว่า All Theses หาข้อความไม่เจอ
เมื่อทำการทดสอบใช้งาน DSpace CRIS หลังจากติดตั้งไปสักพัก เมื่อทำการเพิ่ม Item แล้วเลือก DC Type เป็น Theses เราจะพบว่าหน้าแรกที่ใช้สรุปว่ามี Item ประเภทไหนบ้าง เราจะเจอความผิดพลาดที่ว่า All Theses หาข้อความไม่เจอ
วันศุกร์ที่ 22 พฤศจิกายน พ.ศ. 2562
PHP ปรับค่า File Upload และค่า Timeout
ข้อมูลจาก: Sitepoint |
A2Hosting |
Strackoverflow |
Mediatemplate
แก้ไขไฟล์ "php.ini" ใน "etc/php/5.6/apache2/php.ini" เสร็จแล้วให้ Restart Apache2
แก้ไขไฟล์ "php.ini" ใน "etc/php/5.6/apache2/php.ini" เสร็จแล้วให้ Restart Apache2
# รองรับการอัพโหลดไฟล์ที่ 300MB upload_max_filesize = 300M # รองรับการส่งไฟล์ผ่าน POST ที่ 300MB post_max_size = 300M # เพิ่มเวลาในการ Execution และ Input เป็น 600 วินาที max_execution_time = 600 max_input_time = 600 # เพิ่มหน่วยความจำให้ PHP memory_limit = 512M
วันเสาร์ที่ 16 พฤศจิกายน พ.ศ. 2562
[Linux Container] - เปิดใช้ SSH ใน Linux Container
# Install OpenSSH Server apt install openssh-server # adduseradduser sarankon # usermod -aG usermod -aG sudo sarnakon
แก้ไข Config File ที่ "/etc/ssh/ssh_config" โดยเปิด PasswordAuthentication yes
Host * # ForwardAgent no # ForwardX11 no # ForwardX11Trusted yes PasswordAuthentication yes # HostbasedAuthentication no # GSSAPIAuthentication no # GSSAPIDelegateCredentials no # GSSAPIKeyExchange no # GSSAPITrustDNS no # BatchMode no # CheckHostIP yes # AddressFamily any # ConnectTimeout 0
แก้ไข Config File ที่ "/etc/ssh/sshd_config" โดยเปิด PasswordAuthentication yes
# To disable tunneled clear text passwords, change to no here! PasswordAuthentication yes
systemctl restart ssh
สมัครสมาชิก:
บทความ (Atom)