28 พฤษภาคม 2562

Replace new line with enter (\n) in Visual Studio Code (vscode)




To replace each new line with enter (\n) in Visual Studio Code (vscode)
  • do the steps from images below and click "Replace All" button






To replace each enter (\n) with a new line in Visual Studio Code (vscode)
  • do the steps from  images below and click "Replace All" button




26 พฤษภาคม 2562

ดูข้อมูลประกันสังคมของตัวเองผ่าน app SSO Connect หรือเว็บไซต์

SSO Connect คือ mobile app ที่ให้ข้อมูลประกันสังคมของเรา ไม่ว่าจะเป็น 
  • เงินสมทบชราภาพ
  • เงินสมทบผู้ประกันตน
  • โรงพยาบาลที่เราสมัคร
  • ประวัติการเบิกค่ารักษาต่างๆ 





หรือเราสามารถดูข้อมูลผ่านเว็บไซต์ https://www.sso.go.th/ ก็ได้เช่นกัน


23 พฤษภาคม 2562

configuring ssh config file to ssh to remote connect server using alias

Configuring ssh config file to ssh to connect server remotely using the alias is quite simple, just add ~/.ssh/config file like this


to ssh to the server, simply run ssh xxx

15 พฤษภาคม 2562

11 พฤษภาคม 2562

(SCBPOPA, SCBRMPOP) Fidelity Funds - Global Demographics Fund A-Acc-USD








----------------------------------------------------------------------------------------------------






informatin from scbam: https://www.scbam.com/medias/campaign/2019/scbpop/popa.html

how to grant AWS Lambda to log data on AWS CloudWatch

Goto IAM => Roles and select the roles you created for Lambda.

Make sure to add a new policy by clicking "Attach Policy"

Then, filter for "Lambda" and choose the "AWSLambdaBasicExecutionRole" which will give Lambda the base permissions it requires for writing logs to CloudWatch.


From https://www.udemy.com/aws-serverless-a-complete-introduction/

ไปเที่ยว ซื้อของ อย่าลืมขอบิลกับ 6 มาตรการลดหย่อนภาษีใหม่


แม่ตาเดียว

แม่ขายของที่ตลาด ผมหลบเลี่ยงที่จะเดินไปแถวนั้น

วันหนึ่งวันกีฬาสี แม่มาหาผมที่โรงเรียน ผมวิ่งหลบหนีแม่ เพราะเพื่อนล้อเลียนว่า “ไอ้ลูกแม่ตาเดียว” ผมเกลียดคำนี้

คืนหนึ่งผมลงมาทานน้ำ เห็นแม่ร้องไห้ ผมหลบเลี่ยงที่จะเห็นน้ำตาแม่ ผมเกลียดที่จะอยู่กับแม่ตาเดียว ผมอยากรวยจึงเรียนหนัก ผมเริ่มมีครอบครัวที่มั่งคงและมีลูกน่ารัก แต่..ผมลืมและทิ้งแม่ตาเดียว

วันหนึ่งมีผู้หญิงน่าเกลียดมาที่บ้านผม ลูกๆ พากันรังเกียจ ผมได้ตวาดแม่ว่า…
“มาทำให้ลูกผมตกใจทำไม?” เพราะผมบอกลูกเมียว่าแม่ตายไปแล้ว

วันหนี่งผมไปงานเลี้ยงรุ่นใกล้บ้านเดิม จึงแวะไปที่อยู่เก่าเพื่อเอาของบางอย่าง
ที่นั่น ที่แม่ได้ตายไป ผมยืนมอง แต่ไม่มีน้ำตาของผมแม้แต่น้อย

มีกระดาษข้างรูปวางไว้ เขียนว่า….

แม่จะไม่ไปหาลูกอีก
เพราะทำให้ลูกลำบากใจ
ลูกรู้ไหมตอนลูกเป็นเด็กเล็ก
ลูกคลอดออกมาด้วยตาข้างเดียว

แ ล ะ นั่ น คื อ… ด ว ง ต า ข อ ง แ ม่ ใ น ลู ก

แม่ดีใจที่เห็นลูกได้เห็นโลกที่สวยงาม

แ ล ะ มี ชี วิ ต ที่ ดี แ ล ะ มี ค ว า ม สุ ข ”

น้ำตาผมหลั่งออกมาโดยไม่รู้ตัว แ ม่…. ไ ม่ ไ ด้ พิ ก า ร

ค น ที่ พิ ก า ร คือ ตั ว ผ ม

ช า ย หั ว ใ จ พิ ก า ร ใ น ค ว า ม เ ป็ น ลู ก ข อ ง แ ม่

ลูกผมไม่มีโอกาสได้ยินกระทั่งเสียงแม่ตาเดียวของผม

นี่คือเรื่องเล่าขานที่มีชื่อเสียงเรื่องหนึ่งในเกาหลี.

รักของแม่ คือ รักแท้ที่ไม่อาจคำนวณได้

รักของแม่ให้อย่างไม่มีเงื่อนไข และเสียสละให้ผู้อื่นได้เหมือนแม่ผม

ขอให้ลูกทุกคนบนโลกนี้ จงดูแลแม่ขณะที่แม่ยังมีลมหายใจอยู่

อย่าใจบอดหลงผิดเหมือนผมเลย!!



from fwd email

09 พฤษภาคม 2562

(SCBDIGI) Pictet-Digital portfolio as at September 30, 2018

Sort by country

-->
Name Country Percent
BAIDU 'A' ADR -SPONS.-
Cayman Islands
2.45
CTRIP.COM INTERNATIONAL ADR -SPONS.- Cayman Islands 0.98
NETEASE ADR -SPONS.- Cayman Islands 3.87
SINA Cayman Islands 1.2
TENCENT HOLDINGS Cayman Islands 3.28
ALIBABA GROUP HOLDING ADR -SPONS.- China 3.18
VIPSHOP HOLDINGS ADR -SPONS.- China 0.83
CRITEO ADR -SPONS.- France 0.89
ILIAD France 0.51
CHINA MOBILE Hong Kong 1.86
BHARTI AIRTEL -DEMAT.- India 0.51
TELEKOMUNIKASI INDONESIA 'B' Indonesia 0.62
PADDY POWER BETFAIR Ireland 0.41
NINTENDO Japan 2.19
NIPPON TELEGRAPH & TELEPHONE Japan 0.91
NTT DOCOMO Japan 0.6
RAKUTEN Japan 1.51
SOFTBANK GROUP Japan 0.37
YAHOO JAPAN Japan 0.52
WOLTERS KLUWER Netherlands 1.09
NASPERS 'N' South Africa 2.48
NAVER South Korea 2.39
SAMSUNG ELECTRONICS South Korea 3.5
BT GROUP United Kingdom 1.16
VODAFONE GROUP United Kingdom 1.74
ALPHABET 'A' United States 3.49
AMAZON.COM United States 3.33
APPLE United States 3.68
AT&T United States 2.79
BOOKING HOLDINGS United States 2.63
COMCAST 'A' United States 3.53
EBAY United States 2.8
ELECTRONIC ARTS United States 1.68
EVOLENT HEALTH 'A' United States 0.63
EXPEDIA United States 2.28
FACEBOOK 'A' United States 3.29
GROUPON United States 0.82
IAC/INTERACTIVECORP United States 1.94
IMPERVA United States 0.69
INTUIT United States 3.24
MEDIDATA SOLUTIONS United States 1.08
MERCADOLIBRE United States 1.31
MICROSOFT
United States 3.64
NETFLIX United States 1.09
PAYPAL HOLDINGS United States 3.48
SALESFORCE.COM United States 3.77
TRIPADVISOR United States 0.52
TWITTER United States 1.86
ULTIMATE SOFTWARE GROUP United States 0.93
VERIZON COMMUNICATIONS United States 2.02
YELP United States 0.45
ZENDESK United States 0.74
ZYNGA A United States 0.79



Sort by percent

-->
Name Country Percent
NETEASE ADR -SPONS.- Cayman Islands 3.87
SALESFORCE.COM United States 3.77
APPLE United States 3.68
MICROSOFT
United States 3.64
COMCAST 'A' United States 3.53
SAMSUNG ELECTRONICS South Korea 3.5
ALPHABET 'A' United States 3.49
PAYPAL HOLDINGS United States 3.48
AMAZON.COM United States 3.33
FACEBOOK 'A' United States 3.29
TENCENT HOLDINGS Cayman Islands 3.28
INTUIT United States 3.24
ALIBABA GROUP HOLDING ADR -SPONS.- China 3.18
EBAY United States 2.8
AT&T United States 2.79
BOOKING HOLDINGS United States 2.63
NASPERS 'N' South Africa 2.48
BAIDU 'A' ADR -SPONS.-
Cayman Islands
2.45
NAVER South Korea 2.39
EXPEDIA United States 2.28
NINTENDO Japan 2.19
VERIZON COMMUNICATIONS United States 2.02
IAC/INTERACTIVECORP United States 1.94
CHINA MOBILE Hong Kong 1.86
TWITTER United States 1.86
VODAFONE GROUP United Kingdom 1.74
ELECTRONIC ARTS United States 1.68
RAKUTEN Japan 1.51
MERCADOLIBRE United States 1.31
SINA Cayman Islands 1.2
BT GROUP United Kingdom 1.16
WOLTERS KLUWER Netherlands 1.09
NETFLIX United States 1.09
MEDIDATA SOLUTIONS United States 1.08
CTRIP.COM INTERNATIONAL ADR -SPONS.- Cayman Islands 0.98
ULTIMATE SOFTWARE GROUP United States 0.93
NIPPON TELEGRAPH & TELEPHONE Japan 0.91
CRITEO ADR -SPONS.- France 0.89
VIPSHOP HOLDINGS ADR -SPONS.- China 0.83
GROUPON United States 0.82
ZYNGA A United States 0.79
ZENDESK United States 0.74
IMPERVA United States 0.69
EVOLENT HEALTH 'A' United States 0.63
TELEKOMUNIKASI INDONESIA 'B' Indonesia 0.62
NTT DOCOMO Japan 0.6
YAHOO JAPAN Japan 0.52
TRIPADVISOR United States 0.52
ILIAD France 0.51
BHARTI AIRTEL -DEMAT.- India 0.51
YELP United States 0.45
PADDY POWER BETFAIR Ireland 0.41
SOFTBANK GROUP Japan 0.37


from http://www.morningstar.co.uk/uk/funds/snapshot/snapshot.aspx?id=F0GBR04BCL

01 พฤษภาคม 2562

Architecture micro services APIs back-end for web application

ผมได้มีโอกาส research หาข้อมูลการออกแบบ Architecture ของ micro services APIs back-end for web application โดยเน้นที่ Securityเป็นหลัก เลยอยากเอามาแชร์ในบลอกนี้

(Architecture อาจจะค่อนข้างซับซ้อน และยุ่งยากนิดหน่อย ในการพัฒนาครับ)


จากรูปด้านบน เราจะแบ่ง user token ของเป็น 2 zone คือ byReference token และ byValue token

โดย concept หลักๆ คือ byReference token จะเป็นแค่ค่า unique ที่ไม่มีเนื้อหาของ accessToken ส่วน byValue token จะเก็บ accessToken

ตัว APIs gateway จะทำหน้าที่ mapping byReference token และ byValue token

user services จะเป็นตัว authenticate user และสร้าง access token ดังนั้น user services จะเก็บ private key

services อื่นๆ จะทำหน้าที่ verify access token ดังนั้นต้องเก็บ public key







จากรูปด้านบน จะเป็นตัวอย่าง flow ของการ login เข้าสู่ระบบ ซึ่งจะมีขั้นตอนดังนี้

1. กรอก username, password

2. nginx forward request to APIs gateway

3. APIs gateway forward request to user services

4. user services authenticate username, password กับ database

5. user services สร้าง access token

6. user services return access token / userId to APIs gateway

7. APIs gateway ตรวจสอบว่ามี token ใน redis ของ user แล้วหรือยัง (กรณี login มาจากหลายๆ session) ถ้ามี ให้ลบทิ้ง (เตะ session เก่าๆ)

8. APIs gateway สร้าง byReference token และ byValue token 

9. APIs gateway set cookie header of client โดยตามหลัก security จะต้องทำการ set properties ดังต่อไปนี้
- secure cookie: true => cookie จะทำงานบน https เท่านั้น
- httponly: true => ไม่ให้ javascript เข้าถึง cookie ได้
- samesite cookie => ป้องกันการ hack จาก domain อื่นๆ

10. APIs gateway forward response to nginx








จากรูปด้านบน จะเป็นตัวอย่าง flow ของการ consume resource APIs  ซึ่งจะมีขั้นตอนดังนี้

1. client call resource APIs (e.g., ds)

2. APIs gateway get userId from byReference token

3. APIs gateway get access token from byValue token

4. APIs gateway forward request to resource APIs

5. resouce APIs validate access token using public key





จากรูปด้านบน จะเป็นตัวอย่าง flow ของการ logout ซึ่งจะมีขั้นตอนดังนี้

1. client call logout API

2. APIs gateway delete token from redis


บทความยอดนิยม (ล่าสุด)

บทความยอดนิยม (1 ปีย้อนหลัง)