teleren/devto huggingface dataset:
Angular Strictモードまとめ
Tags: angular, typescript
Published: 2020-06-26 16:03:19

<span>Photo by <a href="https://unsplash.com/@glenncarstenspeters?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Glenn Carstens-Peters</a> on <a href="https://unsplash.com/s/photos/check?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span>

Angular v10 で `--strict` オプション有効時の設定がより厳格になりました。
https://angular.io/guide/strict-mode

```bash
ng new my-app --strict
```

## TypeScript コンパイラ設定

### strict: true

全てのstrictオプションが有効になります。

- `--noImplicitAny`
- `--noImplicitThis`
- `--alwaysStrict`
- `--strictBindCallApply`
- `--strictNullChecks`
- `--strictFunctionTypes`
- `--strictPropertyInitialization`

### forceConsistentCasingInFileNames: true
ファイル名の大文字・小文字が区別されます。

### noImplicitReturns: true
関数の戻り値の型の省略が禁止されます。

```ts
// ❌ NG
ngOnInit() {
  // Do somthing
}

// ✅ OK
ngOnInit(): void {
  // Do somthing
}
```

### noFallthroughCasesInSwitch: true
switch文のフォールスルーが禁止されます。

```ts
// ❌ NG
switch (value) {
  case 1:
  case 2:
    break
}

// ✅ OK
switch (value) {
  case 1:
    break;
  case 2:
    break
}
```

## Angular コンパイラ設定
テンプレートの型チェックもより厳格になります。

```json
"angularCompilerOptions": {
  "strictInjectionParameters": true,
  "strictTemplates": true
}
```

## angular.json

### Budgets
Bundle budgetとComponent budgetが75%程度削減されます。

- 非strict
```json
"budgets": [
  {
    "type": "initial",
    "maximumWarning": "2mb",
    "maximumError": "5mb"
  },
  {
    "type": "anyComponentStyle",
    "maximumWarning": "6kb",
    "maximumError": "10kb"
  }
]
```

- strict 有効
```json
"budgets": [
  {
    "type": "initial",
    "maximumWarning": "500kb",
    "maximumError": "1mb"
  },
  {
    "type": "anyComponentStyle",
    "maximumWarning": "2kb",
    "maximumError": "4kb"
  }
]
```

## tslint.json
### "no-any": true
`any` の使用が禁止されます。

## その他
### "sideEffects": false
`src/app` に `package.json` が追加されます。

```json
{
  "name": "my-app",
  "private": true,
  "sideEffects": false
}
```

※ webpackのTree Shakingの効率を高める効果があります。
[https://webpack.js.org/guides/tree-shaking](https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side-effect-free)

> <span>Photo by <a href="https://unsplash.com/@glenncarstenspeters?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Glenn Carstens-Peters</a> on <a href="/s/photos/blog?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span>
HTTPS on localhost using mkcert
Tags: todayilearned, https, localhost
Published: 2020-06-26 16:02:46


When working on a website or a service, the development environment should imitate as much as possible the production one. And since most production websites and services are served on HTTPS, the same should happen for the development versions as well. This is exactly what [mkcert] is trying to solve. 

[mkcert] is a tool that makes it easy to generate locally-trusted SSL certificates signed by a local CA (Certificate Authority).

On macOS, you can use Homebrew to install the tool: 
```bash
# Install on macOS
brew install mkcert
# Generate and install a local CA
mkcert -install
# Create a new certificate
mkcert -key-file key.pem -cert-file cert.pem localhost
```

Now you can use the SSL key and cert for your local server. For instance, if you have a Jekyll blog, you can use the following command to serve on HTTPS
```bash
jekyll server --ssl-cert ./cert.pem --ssl-key ./key.pem
```

Now, you can browse your local Jekyll site on [https://localhost:4000](https://localhost:4000)! :tada:

---
➡️ This post was originally published on my [blog](https://diamantidis.github.io).

[mkcert]: https://github.com/FiloSottile/mkcert

_Photo by [Tobias Giess](https://unsplash.com/@tobiasgiess?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText) on [Unsplash](https://unsplash.com/?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)_
🛑🛑 What is Behaviour Driven Development(BDD) with Example?
Tags: testing, tutorial, beginners, webdev
Published: 2020-06-26 15:46:18

✅ Join us - https://sendfox.com/thetestingacademy

In this video, We are going to learn What is Behaviour Driven Development(BDD) , Explained with Example.

🚀 Learn more about the BDD - https://scrolltest.com/automation/day20

w

🚀 What is BDD?
Behavioral Driven Development (BDD) is a software development approach that has evolved from TDD (Test Driven Development). 

In both development approaches, tests are written ahead of the code, but in BDD, tests are more user-focused and based on the system's behavior.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/pcs3uvijg4u0a6bo34pp.png)

--
Be sure to subscribe for more videos like this!

[![ TheTestingAcademy](https://dev-to-uploads.s3.amazonaws.com/i/r7vcy6wbvyjbk1y1uu0o.png
)](https://www.youtube.com/TheTestingAcademy?sub_confirmation=1 "TheTestingAcademy")
Essential Applications for daily PC users
Tags: application, user, codecasm
Published: 2020-06-26 15:36:55

## Hello guys,
today we will see what all applications are required or used on daily basis for the normal PC users.

### <center>:hotsprings: So, here we go... :hotsprings:</center>
#### [NOTE] : here we consider our user as Windows user.
:point_right: [WinRar 32 bit](https://www.rarlab.com/rar/wrar591b1.exe) / [WinRar 64 bit](https://www.rarlab.com/rar/winrar-x64-591b1.exe): for compressing and extracting the files
:point_right: [VLC Media Player](https://www.videolan.org/vlc/download-windows.html): Top rated openSource media player
:point_right: [MicroSoft Office](https://www.microsoft.com/en-in/software-download/office): any version which you may like will work with it. As it is a paid application, I suggest a good openSource alternative here - [LibreOffice](https://www.libreoffice.org/download/download)
:point_right: [Google Chrome](https://www.google.com/intl/en/chrome/?standalone=1) / [Mozilla FireFox](https://www.mozilla.org/en-US/firefox/windows/)
:point_right: [doPDF](https://www.dopdf.com/download.html): to convert your files into PDF. Actually this can be done from browser itself, by selecting option **save as** -> then select **.pdf**
:point_right: [IObit UnInstaller](https://download.cnet.com/IObit-Uninstaller/3000-2096_4-75161625.html?part=dl-&subj=dl&tag=button): to uninstall your stubborn applications which are not completely uninstalled or after removal keeps some setting/tracking file in your system
:point_right: [BitTorrent](https://www.bittorrent.com/downloads/complete/classic/): to download legal .torrent files
:point_right: [AnyDesk](https://anydesk.com/en/downloads/windows) / [TeamViewer](https://www.teamviewer.com/en/download/windows/): these applications help you share your remote desktop with the other user when needed

---
<center>For you with :heart: by [CodeCasm](https://www.codecasm.com)
</center>
#
---
How to run a long lasting query without interruption?
Tags: sql, postgres, help, database
Published: 2020-06-26 15:36:10

I have a query like this:

```insert into table1 (field1, field2) select (field1, field2) from  table2```
             
It's running on a huge table with millions of rows. It might take several hours or days but it wouldn't be a problem. The problem is right now  that my client (dbeaver) constantly dropping the connection and my query fails. How would you handle this problem? 
Thanks
Free VPN for 6 months
Tags: news, codenewbie
Published: 2020-06-26 15:27:58

Note: This is not a promotion!.

I thought it would be useful to share it these days.

6 months of free VPN from Seed4me.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/hmqc9xy5v3ltu95u0o6k.PNG)

To avail this offer

Use Promocode: STAYHOME @ [seed4.me](https://seed4.me/users/register)

or 

Register via : [seed4.me](https://seed4.me/users/register?gift=STAYHOME)

Cheers.
My coding playlist
Tags: music, productivity, spotify, playlists
Published: 2020-06-26 15:22:38

---
title: My coding playlist
published: true
description: A playlist of my best songs for getting in the zone. 
tags: music, productivity, spotify, playlists
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/l42a1shpo5vxmte5qo5e.png
---
Here's [my coding playlist on Spotify](https://open.spotify.com/playlist/1StbtqyXowBymfLyTwqori?si=Uprqnf0gRlaLZllIv7wiWg).

It's a compilation of songs I've been listening to over the last year.

I usually opt for songs with a steady beat and no lyrics, but there are some bangers in there (looking at you, Alesso). 

I'll occasionally listen to upbeat, high tempo music with lyrics because it improves my mood, which makes me more productive. 

My most productive artist is probably Brasstracks. I'm also a big fan of Vitamin String Quartet.

I'll be continuing to add more music, but I'm always looking for new songs and suggestions.

Share your playlists below in the comments!
Question: Rails 6 App with Devise/Omniauth on Heroku?
Tags: discuss, rails, heroku, devise
Published: 2020-06-26 15:15:47

So I've been stuck on this for some time now and was wondering if anyone here has any insight that can help me. For the most part the app works on the site, but there are two known issues I can't seem to resolve on my own:

1) Password recovery doesn't work, not actually sure if this is all on devise or if I needed an outside mail campaign to do this.
2) Can't login using the Github omniauth link. The primary issue was the page didn't exist and it took me down this rabbit hole where i hardly recognize or understand what my devise controllers and configuration or supposed to be doing anymore. 

Check out the project [here](https://heroqueststart.herokuapp.com/)

Forgive the ugliness of the site, swear I got some styling planned. I just can't focus on that stuff while I got technical issues like this.
Quick tip, make your life easier by using readme's in every project
Tags: productivity
Published: 2020-06-26 14:28:36

How often do you come back to an old project and find it takes you ages to figure out what you're doing? What do you need to install, how to run it? This is all wasted time. 

Public projects use readme.md’s. Just because you're a sole developer doesn’t mean you shouldn’t use one. For many of us, coming back to an old project is akin to picking up someone else's project. 

Recently I changed computers and needed to set-up a project again, but it had been some time since I used it. I couldn't remember what I needed to do to run it again.

It took me far longer than it needed to in order to get back to work.

Now I include a readme in every project I make. It doesn't take very long for me to write one and each time I fire up a project and find a README, I thank myself.

Of course, you need to remember to look at the readme.md but it's just about developing the habit to always look for it.

I'll put in any information I need to get started with the project and it will evolve each time to include steps I have missed.

I will also include links relevant to the project, like good tutorials relating to the framework used.

I will include gotchas, things that have tripped me up before so they can't get me again.

Essentially I will include anything that will make my life easier every time I install the project or come back to it after a gap.

Some ideas of things to include:

* Tutorial and documentation links
* Project set-up steps
* Build commands
* Snippets
* Testing information
* Project structure

Sometimes the readme gets a little verbose. In those instances, I will keep the readme to the most important things then start a wiki elsewhere. This is all normal things for open source but we forget to do it for corporate or personal projects but they are still incredibly invaluable.

I am all about making my programming life smooth and less frustrating. Using readme's in every project helps so much with that.
เราสามารถที่จะปรุงอาหารให้อร่อยเทียบเท่ากับ Chef มือหนึ่งของโลกได้อย่างไร ?
Published: 2020-06-26 15:06:41

---
title: "เราสามารถที่จะปรุงอาหารให้อร่อยเทียบเท่ากับ Chef มือหนึ่งของโลกได้อย่างไร ?"
published: true
description: 
tags: 
---


สวัสดีครับ ถ้าถามว่าอะไรคือเคล็ดลับสู่ความมั่งคั่งร่ำรวยทั้งภายนอกและภายใน ? หลายๆท่านก็คงอยากจะทราบว่าเคล็ดลับที่ว่านั้นคืออะไร วันนี้ผมมีบทความสั้นๆจากหนังสือหลายๆเล่มเกี่ยวกับความมั่งคั่งร่ำรวยมาแบ่งปันกันครับ

หากจะให้ย้อนไปตอบคำถามจากหัวเรื่องที่ว่า "...เราสามารถที่จะปรุงอาหารให้อร่อยเทียบเท่ากับ Chef มือหนึ่งของโลกได้อย่างไร...?" คำตอบที่ได้นั้นก็จะหลากหลายแตกต่างกันออกไปตามมุมมองและประสบการณ์ของแต่ละท่าน และมีอีกหนึ่งคำตอบที่จะแบ่งปันก็คือ *การไปเรียนรู้และขอสูตรการปรุงอาหารจาก*  Chef  *มือหนึ่งของโลกโดยตรงเลย* !

หากเรารู้สูตรสู่ความมั่งคั่งร่ำรวยและลงมือทำตามสูตรนั้นอย่างเป็นระบบ ก็มีความเป็นไปได้สูงที่จะนำเราไปสู่ความมั่งคั่งร่ำรวย แล้วอะไรล่ะคือสูตรสู่ความมั่งคั่งร่ำรวย คำตอบคือ การรู้ถึงแนวความคิด แนวความเชื่อ ระบบการลงมือทำอย่างเฉพาะเจาะจงตลอดจนถึงเทคนิคในการให้กำลังใจตัวเองของผู้ที่มีความมั่งคั่งร่ำรวย ซึ่งหากเรารู้สูตรหรือเคล็ดลับเหล่านี้ผลลัพธ์ของเราในกรอบเวลาอีก 5 ปี หรือ 10 ปี หรือ 15 ปี ข้างหน้าก็คือการผลักเราไปสู่กระแสแห่งความมั่งคั่งร่ำรวยอย่างอัตโนมัติ...

ขอบพระคุณทุกๆท่านที่ติดตามอ่านนะครับ แล้วเจอกันใหม่ในครั้งต่อไปน่ะครับ ขอบพระคุณครับ
Logic เพื่อพุ่งชนเป้าหมาย
Tags: logic, coaching, goal, brain
Published: 2020-06-26 15:05:14

   ไม่ว่าคุณจะเป็นพนักงานบริษัท,เจ้าของกิจการ,อาชีพอิสระ หรือ มีรายได้จากการทำงานใดๆก็ตาม หากคุณต้องการมีรายได้ให้มากกว่าเดิม หรือ บรรลุเป้าหมายที่วางไว้ แต่ยังทำไม่ได้สักที อาจด้วยความไม่รู้จะเริ่มต้นอย่างไร ไม่รู้ขั้นตอนกระบวนการว่าควรทำอะไรก่อนหรือหลัง หลายๆคนเป็นเช่นนี้ ทำไม?? ล่ะ ทำไม?? คำตอบแสนจะง่ายดายกว่าที่คุณคิดไว้ และนั่นคือ สมองของเรามี 2 ส่วนด้วยกัน คือ

1. สมองซีกซ้าย มีการทำงานด้าน ตรรกะ คำนวน เหตุผล ภาษา คิดวิเคราะห์ กลยุทธ์ 
2. สมองซีกขวา มีการทำงานด้าน อารมณ์ ความคิดสร้างสรรค์ จิตนาการ 

การที่จะบรรลุเป้าหมาย หรือการเพิ่มรายได้ให้มากขึ้นนั้น 80% เราต้องใช้สมองซีกซ้าย คือ ตรรกะ การคำนวนต่างๆ และ อีก 20% เราจึงใช้สมองซีกขวามาช่วยสนับสนุนกัน 
เมื่อรู้ดังนี้แล้ว แล้วยังไงต่อ???.............. 

ยกตัวอย่างเช่น คุณเป็นพนักงานบริษัท เงินเดือน 20,000 บาท มีเป้าหมายรายได้เพิ่มขึ้นเป็น 100,000 บาท ต่อเดือน 
เราจะมาเริ่มกระตุ้นสมองซีกซ้ายกันด้วย เคล็ดลับ 6 ขั้นตอน ดังนี้

1. ถามคำถามที่ถูกต้อง อะไรคือคำถามที่ถูกต้อง ก็คือ คำถามที่ถามแล้วจะทำให้คุณสามารถรู้ได้ว่าจะไปถึงเป้าหมายได้อย่างไร เช่น ทำอย่างไรเราจะมีรายได้เพิ่มขึ้นเป็น 1 แสนบาทต่อเดือนได้

2. ขั้นตอนที่จะทำให้ไปถึงเป้าหมาย เราอาจมองหาใครที่เค้าเคยทำมาก่อน ถามจากคนที่ประสบความสำเร็จมาแล้ว ว่า มีขั้นตอนอย่างไร หรือ วิธีไหน ที่สามารถเพิ่มรายได้หรือทำให้บรรลุเป้าหมายได้ และ สำคัญมากๆที่เราต้องทำตามขั้นตอนเหล่านั้น

3. ต้องรู้เสมอว่าจะไปต่ออย่างไร คือ เมื่อเราลงมือทำตามขั้นตอนต่างๆแล้ว ต้องถามตัวเองเพื่อเป็นการตอกย้ำว่าเรามาถูกทาง ด้วยคำถามนี้เสมอว่า "อะไรคือขั้นตอนต่อไป"

4. ตัวเลข ต้องทำการคำนวนตัวเลขอยู่เสมอว่า การที่จะให้ได้ถึง 1 แสนต่อเดือน ต้องทำได้วันละเท่าไร่ หรือ รายอาทิตย์  รู้ตัวเลขอยู่เสมอ

5. วางแผนอย่างมีประสิทธิภาพ ในระหว่างการลงมือทำนั้น ต้องมีการวางแผน คำนวนตัวเลขในแต่ละขั้นตอน เพื่อให้เราเห็นเป้าหมายที่ชัดเจน

ุ6. Solution ทางแก้ปัญหา แน่นอนว่าเราจะต้องพบเจอปัญหาอุปสรรคระหว่างการลงมือทำ ให้เราจดจ่อไปที่ทางแก้ปัญหานั้นๆ ไม่ใช่ตัวปัญหา กุญแจสำคัญคือ ต้องถามคำถามที่ถูกต้อง เช่น เราจะแก้ปัญหานี้ได้อย่างไร, อะไรที่จะช่วยให้สามารถแก้ปัญหานี้ได้

และนี่คือ  Logic เพื่อพุ่งชนเป้าหมาย เคล็ดลับ การกระตุ้นสมองซีกซ้าย 6 ขั้นตอน ที่เมื่อคุณได้นำไปใช้แล้วจะทำให้คุณพุ่งชนทุกเป้าหมายได้อย่างแน่นอน
Empower Your Employees to Work From Home
Tags: discuss, security
Published: 2020-06-26 14:55:49

Enable your employees to use personal devices for work without compromising security. Ensure employee productivity and business continuity in unpredictable times using Scalefusion.

Businesses across the globe are now creating infrastructure to make sure that employees can connect and work from anywhere. 
Extend your work from home policies by enabling employees to use their own devices for work.

- Turn any home laptop or desktop into a work PC with easy set up

- Equip BYO laptops and desktops with business apps

- Apply policies to protect corporate data from misuse and unauthorized access

- Power your team to collaborate with a secure team communication app

You can learn more about [Remote Working Software](https://scalefusion.com/mdm-for-work-from-home).
กลางดึกคืนหนึ่ง...กับเงินในกระเป๋า
Tags: moneyis
Published: 2020-06-26 14:52:23

---
title: กลางดึกคืนหนึ่ง...กับเงินในกระเป๋า
published: true
description: ความหมายของเงิน, "เงิน" คือ...?
tags: MoneyIs
---
กลางดึกคืนหนึ่ง...

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

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

การกลับมานอนรอบนี้ ผมพยายามนอนให้นิ่ง และหลับให้เร็วที่สุด โดยหวังว่าอาการปวดหัวและอาเจียนจะทุเลาลงเอง แต่เหตุการณ์ไม่เป็นเช่นนั้น 
ความปวดกลับทวีความรุ่นแรงขึ้น และกระสับกระส่ายมวนท้องมากขึ้น จนต้องลุกขึ้นไปอาเจียนอีกครั้ง คราวนี้มีทั้งน้ำและยาที่เพิ่งกินเข้าไป หลังจากอาเจียนอยู่พักใหญ่ก็กลับมานอนพักด้วยอาการหมดแรง อาการปวดยังทวีความรุ่นแรงขึ้นและกระสับกระส่ายมากขึ้น 

สุดท้ายรีบไปโรงพยาบาล

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

ทั้นใดนั้นมีบุรุษพยาบาลเข้ามาถามผมว่า ตอนนี้ห้องพักธรรมดาราคา 6050 บาท นะครับ คนไข้สะดวกไหม มีประกันรึเปล่าครับ ผมตอบแบบสลึมสลือไม่ลืมตาไปว่า มีประกันครับ พอจะจำได้ไหมครับว่าประกันให้ค่าห้องเท่าไร บุรุษพยาบาลถามต่อ 9000 บาท ครับ ถ้าอย่างนั้นเรามีห้องวีไอพีราคา 9050 บาท เอาห้องนี้แทนดีไหมครับ ปวดจะตายอยู่แล้วยังขายของ ถามอะไรเยอะแยะ เอาห้องอะไรก็ได้ ผมคิด จึงแค่พยักหน้าไป 

เตียงรถเข็นถูกเคลื่อนจากห้องฉุกเฉินไปตามทางเดิน ขึ้นลิฟท์เพื่อไปยังห้องพัก ผมรู้สึกผ่อนคลายมากขึ้น ทั้งที่ยังไม่ได้ฉีดยา เพราะวางใจว่าผมถึงมือหมอแล้ว

หลังจากเหตุการณ์นี้ผ่านไป ผมมาคิดว่า ถ้าวันนั้นเราไม่มีเงินค่ารักษาจะเป็นอย่างไร ทำให้ผมได้ตระหนักว่าเงินมีความสำคัญมาก ถ้าไม่มีเงิน ผมคงไม่ได้รับการดูแลที่ดีและรวดเร็วเช่นนี้ เงินสำหรับผมมันคือเกราะป้องกันภัยอันตราย ทำให้เราปลอดภัย 

สำหรับหลายคน เงินยังถูกให้ความหมายอีกหลายอย่าง หลักๆมีอยู่ 4 แบบ คือ เงินคือความมั่นคง เงินคืออำนาจ เงินคือการยอมรับทางสังคม เงินคือความชั่วร้าย

เงินคือความมั่นคง

เงินคืออำนาจ

เงินคือการยอมรับทางสังคม

เงินคือความชั่วร้าย

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

หรือได้มาแล้วตระหนี่ หรือหมดไปกับการเติมเต็มสิ่งที่ให้ความหมาย ซึ่งแม้จะหาเงินได้มากเท่าไรก็ไม่อาจเติมเต็มจิตใจเราได้ ก็คือตกเป็นทาสของเงินนั่นเอง

ก่อนจะไปกันต่อ ผมชวนให้คุณผู้อ่านหยุดคิดสักครู่หนึ่ง ว่า
เงินสำหรับผู้อ่านคืออะไรครับ แล้วมาต่อกันสัปดาห์หน้าครับ
Cov19 - COVID-19 CLI tracking tool
Tags: node, javascript, opensource
Published: 2020-06-26 14:49:57

Over the past week, I've been working on the open-source tool for Node.js to track COVID-19 statistics.

![Cov19](https://dev-to-uploads.s3.amazonaws.com/i/3b8ytlbll9hdwulzbmrk.gif)

If you think this tool is useful, vote on [Product Hunt](https://www.producthunt.com/posts/cov19)
or you can visit the project page on [GitHub](https://github.com/mixon00/cov19-cli)
Open source maintainers: How do you work with tech writers?
Tags: discuss, opensource, beginners, codenewbie
Published: 2020-06-26 14:46:28

I am considering mentoring tech writers to contribute docs to open source projects, but I want to make sure I don't create additional work for open source maintainers. Can you help me understand:

- If a tech writer wants to contribute docs your open source project, what would you want them to focus on? 
- How much effort would it take on your part to help them make effective contributions? 
- What would make you nervous about their contributions?
The difference between Ruby alias and alias_method
Tags: ruby, ticks
Published: 2020-06-26 14:37:09

---
title: The difference between Ruby alias and alias_method
published: true
description: 
tags: Ruby, Ticks
---
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/xw9mkm972psx5f61xugs.jpg)

In some open source **ruby** projects  you may see similar `alias` and `alias_method` methods. what are the specific use of these two methods? how are these two methods different? let's look at the following code:

```ruby
#alias
class User
  def full_name
    puts "Mixbo"
  end
  alias name full_name
end
User.new.name #=>Mixbo

#alias_method
class User
  def full_name
    puts "Mixbo"
  end
  alias_method :name, :full_name
end
User.new.name #=> Mixbo
```

The above examples all output the "Mixbo" string before renaming the `full_name` in the `User` class. from this example alone we can't see the difference between the two methods continue:

```ruby
#alias_method
class User
  def full_name
    puts "Super Mixbo"
  end
  def self.rename
    alias_method :name, :full_name #==> Note that alias_method is used here
  end
end

class Mixbo < User
  def full_name
    puts "Mixbooooo"
  end
  rename
end
Mixbo.new.full_name #=> "Mixbooooo"


#alias
class User
  def full_name
    puts "Super Mixbo"
  end
  def self.rename
    alias :name :full_name #==> Note that alias is used here
  end
end

class Mixbo < User
  def full_name
    puts "Mixbooooo"
  end
  rename
end
Mixbo.new.name #=> 'Super Mixbo'

```

From the above example we can see that when there is an inheritance relationship between classes. `alias` will not affect its subclasses. related `alias_method` will find the closest method of the same name in its subclass to operate (for example, `full_name` above)

### So `alias` and `alias_method`

  1. Can give an alias to a method

  2. `alias` is generally valid when the source code is interpreted by the compiler

  3. `alias_method` is generally valid when the code is running

Generally I use `alias_method` a little more.

Hope it can help you :)
Safari CSS hack
Tags: todayilearned, css, safari, webdev
Published: 2020-06-26 14:32:31

Browsers have their own way of interpreting code. There isn't any universal browser as such. Well, it depends on people's choice! 
A good web developer should always check the responsiveness and compatibility of her code on various devices and whether the website is working as expected. While developing website, I came across Safari behaving differently.

Well, on searching I did find that Safari does not support
```css
position: sticky;
```
but works with 
```css
position: -webkit-sticky;
```
since Webkit is the HTML/CSS rendering engine for Apple/Safari. 

Also Safari has some problem with
```css
overflow: hidden;
```
as well. When you search you'll find various people trying to provide solution for this.

Getting frustrated, I tried to find CSS hack for Safari and came across this on [stackoverflow](https://stackoverflow.com/questions/16348489/is-there-a-css-hack-for-safari-only-not-chrome).

```css
/* Only Safari 10.1+ */
@media not all and (min-resolution:.001dpcm)
{ @supports (-webkit-appearance:none) {

    .footer-text { 

        color:#0000FF; 
        background-color:#CCCCCC; 

    }
}}
```

I found this solution working for me. 

But this is **NOT** a _recommended_ solution. You should be able to write perfect code for all types of browsers and do extensive testing so that your website never breaks!