teleren/devto huggingface dataset:
Top 5 เว็บไซต์ในการเริ่มต้นเรียนภาษา Python ปี 2023
Tags: python, programming
Published: 2023-05-01 11:24:24

Python เป็นภาษาที่ทำได้ตั้งแต่สากกระเบือยันเรือรบ 
อ่านเพิ่มเติม: [Python ทำอะไรได้บ้าง](https://devhub.in.th/blog/what-is-python-programming-used-for) บทความนี้ผมขอนำเสนอ Top 5 เว็บไซต์ที่ดีที่สุดในการเริ่มต้นเรียนไพธอนสำหรับผู้เริ่มต้น (ย้ำเลยครับว่า "ผู้เริ่มต้น") ไปดูกันว่ามีเว็บไหนบ้าง สามารถบุ๊คมาร์กเก็บไว้เว็บไซต์ไว้เรียนได้เลยครับ


## 5. Devhub.in.th
Devhub.in.th (DH) ถือว่าเป็นเว็บไซต์ของคนไทยเว็บเดียวในลิสต์ top 5 นี้ ที่ได้จัดทำบทเรียน Python อย่างเป็นขั้นเป็นตอน เพื่อให้ผู้เริ่มต้นสามารถเรียนอย่างเข้าใจได้ไม่ยากในรูปแบบของภาษาไทย โดยเนื้อหาก็ครบครัน ตั้งแต่ทำความรู้จักว่าความเป็นมาของ Python เป็นยังไง ภาพรวมของภาษา การติดตั้งโปรแกรมเพื่อเริ่มต้นเขียน ตัวแปร ฟังก์ชัน การวนซ้ำ ตัวดำเนินการ การเขียนโปรแกรมเชิงวัตถุ ไปจนถึงการจัดการกับ modulel & packages และ virtual environment ฯลฯ เรียกได้ว่าสำหรับมือใหม่แล้ว เว็บนี้มีให้ครบครับ
เว็บไซต์: [devhub.in.th/learn/python](https://devhub.in.th/learn/python)

![start_learning_python_devhub_in_th](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/st8rc8jm98tps96m388a.png)



## 4. Educative
Educative เป็นอีกเว็บที่เราสามารถลงทะเบียนเพื่อเริ่มเรียน Python ได้ฟรี ๆ แถมยังเป็นของดีมีคุณภาพ โดยรูปแบบการเรียนก็เป็น interactive learning คือนอกจากได้อ่านความรู้และลงมือเขียนโค้ดไปพร้อม ๆ กัน
เว็บไซต์: [educative.io/courses/learn-python-3-from-scratch](https://www.educative.io/courses/learn-python-3-from-scratch)

![educative_io_web_for_learning_python](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gqx8cdc7qo8qh9cfgxzy.png)



## 3. Programize
Programize คืออีกหนึ่งเว็บที่จัดทำเนื้อหาหรือหลักสูตร Programming ต่าง ๆ ไว้ได้อย่างดีเยี่ยมเลยครับ UX/UI ของเว็บก็ใช้ง่าย สบายตา โดยเนื้อหาของ Python ก็ทำไว้ได้อย่างครบครัน ผู้เริ่มต้นก็เรียนได้เข้าใจง่ายแน่นอนครับ
เว็บไซต์: [programize.com/python-programming/](https://www.programiz.com/python-programming)


![programize_dot_com_learn_python](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4zyo2cz2vn5fslr3cusz.png)



## 2. Codecademy
Codecademy ถือว่าเป็นเว็บไซต์ที่ขึ้นชื่อพอสมควร แต่ในเว็บนี้เราต้องลงทะเบียนก่อนนะครับ ซึ่งผมก็ได้ลงทะเบียน (Sign-up) ผ่านบัญชี Gmail ได้เลยสะดวกดี โดยเนื้อหานั้นเป็นแบบ hands-on learning จัดทำไว้ได้อย่างสุดยอด ละเอียดยิบและคุณภาพมาก ๆ เลยครับ
เว็บไซต์: [codecademy.com/learn/learn-python](https://www.codecademy.com/learn/learn-python)


![codecademy_learn_python_online](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0x030q0v9vuud19ckyk3.png)


## 1. W3Schools
แต่ก็คงจะไม่มีเว็บไหนที่ใช้งานง่ายและเหมาะสำหรับผู้เริ่มต้นที่สุด ซึ่งก็เว็บ W3School นั่นเองครับ ต้องยอมรับว่าอันดับ 1 ไม่เกินจริงเลยครับ ใช้งานง่ายและเข้าใจง่ายรู้ใจผู้เริ่มต้นจริง ๆ ครับ และ W3School ยังเป็นหนึ่งในเว็บไซต์ด้านโปรแกรมมิ่งที่มีผู้เข้าชมเว็บสูงที่สุดในโลกเว็บหนึ่งกันเลยทีเดียว
เว็บไซต์: [w3school.com/python/](https://www.w3schools.com/python/default.asp)


![python_for_beginners_w3schools](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fz1wv31bs5xeqd21zcu5.png)

เป็นอย่างไรบ้างครับกับ Top 5 เว็บไซต์ในการเริ่มต้นเรียนภาษาไพธอน หวังว่าจะเป็นไกด์ไลน์ให้เพื่อน ๆ ได้เป็นอย่างดีนะครับ
Dynamically Load a Component in Angular on Demand basis (Runtime)
Tags: angular, angulardynamiccomponentloading, typescript, webdev
Published: 2023-05-01 11:20:04

- In Angular, we can load components dynamically on Demand basis or runtime. this will improve application performance. Instead of loading all components upfront, we can load only the required components when needed.

- One common way to dynamically load components is by using the ComponentFactoryResolver service. This service allows us to create a factory for a component, which can then be used to instantiate the component dynamically at runtime.

- To implement dynamic component loading, we can first create a host element in the template where the component will be rendered. Then, we can use the ComponentFactoryResolver service to create a factory for the desired component. 
We can use the factory to create an instance of the component and attach it to the host element.

- This approach helps to reduce the initial bundle size by loading only the required components at runtime. It can also improve the user experience by reducing the initial load time of the application.

- In some cases you may want to create components dynamically at runtime, rather than including them in your template statically. For example, if you're creating a modal dialog that needs to be displayed on demand, you might want to create the dialog component programmatically instead of including it in the template directly.

**let's get into action**......

1. In Our Home Component first, create the host element in the template.

```
<div #container></div>
<button (click)="loadComponent()">Load Component</button>
```

2. Then, in the component class, inject the ComponentFactoryResolver service and create a reference to the host element:

```
import { Component, ComponentFactoryResolver, ViewChild, ViewContainerRef } from '@angular/core';
import { PopupComponent } from './popup.component';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})
export class HomeComponent {
  @ViewChild('container', { read: ViewContainerRef }) container: ViewContainerRef;

  constructor(private resolver: ComponentFactoryResolver) { }

  loadComponent() {
    // Create a factory for the PopupComponent
    const factory = this.resolver.resolveComponentFactory(PopupComponent);

    // Create an instance of the PopupComponent
    const componentRef = this.container.createComponent(factory);
  }
}

```

3. then create PopupComponent

```
import { Component } from '@angular/core';

@Component({
  selector: 'app-popup',
  template: '<div>Popup Component</div>',
})
export class PopupComponent {}

```
 When the "Load Component" button is clicked, the loadComponent() method is called. This method uses the ComponentFactoryResolver service to create a factory for the PopupComponent. It then uses the factory to create an instance of the component and attach it to the host element (container). This will render the PopupComponent in the DOM.

finally the Popup component is loaded after click event in Home component.

I hope you find this post helpful. Thanks for reading.
How to setup Redis on linux machine
Tags: linux, archlinux, redis, programming
Published: 2023-05-01 11:19:08

Redis, the open-source in-memory data structure store, has become popular among developers for its exceptional performance and versatility.

## What makes Redis useful
Redis offers a wide range of features like caching, real-time analytics, queuing, etc. That makes it an ideal choice for different types of applications. Its in-memory architecture allows it to deliver data at lightning-fast speeds. Its support for various data structures like strings, lists, sets, and hashes, makes it a powerful tool for building complex applications. Redis is also easy to use, deploy, and scale, making it a developer's favorite. In this article, we'll explore Redis and how to set it up on a Linux machine.

## How to setup Redis on Linux
**NOTE:** It's not always applicable but you may need to run an update on your machine to proceed.

## Step 1 - Installing Redis using the Terminal

**For Arch**
```sh
sudo pacman -S redis
```
**For Ubuntu**
```sh
sudo apt install redis
```
**For CentOS**
```sh
sudo yum install redis
```
**For Fedora**
```sh
sudo dnf -y install redis
```

## Step 2 - Check the Redis Version
Once the installation is complete, you can check if the installation was successful using this command below:

```sh
redis-cli --version
```

## Step 3 - Start the Redis Service

```sh
sudo systemctl start redis
```

## Step 4 - Enable the Redis Service
To automatically start Redis on boot run the command below

```sh
sudo systemctl enable redis
```

## Step 4 - Verify your installation

```sh
sudo systemctl status redis
```

You should now see something similar to the image below. In the output, locate the **Active: active (running)** line.

**NOTE:** If what you saw is Active: inactive, then it means that you must have missed **Step 3**.

![Redis terminal status image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/69dcd9rika5go5esmklj.png)

You can also verify your installation using this Ping command.

```sh
redis-cli ping
```
The expected return should be **PONG**.

## Your Redis Config

Wondering how you can connect to your Redis server? Well, you can just copy the address below and set it as your Redis address and you are good to go.

**NOTE:** Redis runs on port **6379**

```sh
127.0.0.1:6379
```

I hope you found this helpful. Happy coding ;)
Reading Notes #553
Tags: devjournal, readingnotes
Published: 2023-05-06 12:17:17

---
title: Reading Notes #553
published: true
date: 2023-05-01 11:13:00 UTC
tags: devjournal,readingnotes
canonical_url: https://www.frankysnotes.com/2023/05/reading-notes-553.html
---

[![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRnunKYXi2awUVsKddITrU_qcr-PornnuCmEoY9lenflOXAQZ4mwPsuJ4wO5AkGWpW7tcEB8uRAK1Hi3ACPvHm9QEY4Q65bz-14HGKrKaJ1Uc4M_xIsfnkzFggkdpR3R_hobzETfFt9ybi-6QhEV9iCxIGiqAwQ6I3NfwLJr7oYQIDAcPCcx20QHcm/s320/unknown_002.png)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRnunKYXi2awUVsKddITrU_qcr-PornnuCmEoY9lenflOXAQZ4mwPsuJ4wO5AkGWpW7tcEB8uRAK1Hi3ACPvHm9QEY4Q65bz-14HGKrKaJ1Uc4M_xIsfnkzFggkdpR3R_hobzETfFt9ybi-6QhEV9iCxIGiqAwQ6I3NfwLJr7oYQIDAcPCcx20QHcm/s1302/unknown_002.png)
  
It is time to share new reading notes. It is a habit I started a long time ago where I share a list of all the articles, blog posts, and books that catch my interest during the week. 

  

If you think you may have interesting content, share it!

  

## Programming

- **[Smoother rebases with auto-squashing Git commits](https://dev.to/andrewlocknet/smoother-rebases-with-auto-squashing-git-commits-j7l-temp-slug-876821)** (Andrew Lock) - Git is a very powerful tool, it worth make do the thing the way you like them.

- **[Accelerate API Development in Visual Studio with .http/.rest Files!](https://dirkstrauss.com/accelerate-api-development/)** (Dirk Strauss) - Nice integration to Visual Studio.That way we can have less software up and running while coding.

- **[Let's Learn .NET Virtual Events - All Around the World - .NET Blog](https://dev.to/dotnetblogger/lets-learn-net-virtual-events-all-around-the-world-28il-temp-slug-4254822)** (Matt Soucoup) - Super cool events to get started with Azure using .NET and the best of it in many different timezones or languages!!

## Low-Code

- **[Low-code signals 2023](https://cloudblogs.microsoft.com/powerplatform/2023/04/13/low-code-signals-2023/)** (Richard Riley) - Interesting post that shares numbers related to the growth of low-code practice.

- **[Power Apps PDF Function: Create, View & Download PDFs](https://www.matthewdevaney.com/power-apps-pdf-function-create-view-download-pdfs/)** (Matthew Devaney) - A nice cool app with a lot of features!

## Miscellaneous

- **[I'm a former Microsoft VP of HR. Here are the real reasons why layoffs are happening and how much longer they'll last.](https://www.businessinsider.com/layoffs-microsoft-vp-real-reason-happening-how-much-longer-2023-4)** (Chris Williams ) - Interesting post that explains what this layoff season is really about.

  

~frank
Episode 23/17: Twitter Space on the Future of Angular, Tiny Conf
Tags: webdev, javascript, programming, angular
Published: 2023-05-01 11:08:49

We had a Twitter Space discussing several concerns with the latest additions in Angular. The Angular Tiny Conf with 25 talks took also place.

{% embed https://youtu.be/wlwYot2KS24 %}

## Future of Angular

Daniel Glejzner hosted a Twitter space where his guests discussed the future of Angular.

The discussion quickly turned into an exchange of concerns like the future role of RxJs and whether the migration to Signals might cause issues. Especially, when the component tree is a mix of the old and new styles. Another concern was that with all these new features, Angular might lose its opinionated character.

Alex Rickabaugh and Mark Thompson from the Angular team were also guests in that discussion. Alex pointed out that change needs to happen but also noted that maybe a clearer communication on what should be preferred is important to the community.

Alex also clarified the rumour that we might get functional components. There are currently no plans for that. At the moment, it is all about adding reactivity in the form of Signals.

https://twitter.com/i/spaces/1lPKqBkRwbbGb

## RxJs and Signals Interoperability

There was also an interview with Ben Lesh, the maintainer of RxJs. At the Angular Plus Show, he discussed the differences between RxJs and Signals.

{% embed https://www.spreaker.com/user/ng-conf/s5e9-rxjs-and-signals-interoperability-i %}

## Angular Tiny Conf

We also had the Angular Tiny Conf, an Angular conference, with a huge range of different topics.

The live stream is available on YouTube.

It was a marathon and lasted almost 12 hours, had about 25 talks, with each one taking around 20 minutes.

{% embed https://www.youtube.com/watch?v=fs26vhD330U %}

## Content about Performance

We also got new content about performance optimisation. First, Michael Hladky published an article that can serve as a template for performance audits.

{% embed https://push-based.io/article/observable-hq-performance-audit %}

Second, Enea Jahollari published an article about lazy-loading services where he built upon the work of Younes Jaadi.

{% embed https://dev.to/this-is-angular/lazy-loading-services-in-angular-what-yes-we-can-2gah %}

Lazy-Loading in general was also the topic at the latest Angular Master Podcat with Voytech Masek.

{% embed https://www.youtube.com/watch?v=0GrXnpyoVrc %}


## New Releases 

Other than that, Cypress, a testing framework, was updated to 12.11. It added support for component testing in Angular 16.

{% embed https://docs.cypress.io/guides/references/changelog %}

Another testing framework, namely Playwright, had a minor version update to 1.33. The locator, which is the selector, supports no an or condition.

{% embed https://github.com/microsoft/playwright %}

Nx, an alternative to the Angular CLI, was released with a new major 16. And no, it doesn't contain Angular 16 yet.

{% embed https://github.com/nrwl/nx %}
Infrastructure Security using Azure Devops
Tags: azure, devops, security, community
Published: 2023-05-01 10:39:07

Greetings to my fellow Technology Advocates and Specialists.

In this Session, I demonstrated __Infrastructure Security using Azure Devops.__

Additionally, I successfully executed __3 Live Demos, covering 3 different areas of Cloud Infrastructure Security.__

| __VENUE OF THE EVENT:-__ |
| --------- |
| The Garage space in Ireland at One Microsoft Court, Microsoft’s new Engineering Hub in Dublin. |
| ![image](https://user-images.githubusercontent.com/29681063/234447415-2e7932ab-2c99-46e4-beb1-0f0776ce4c59.png) |
| ![image](https://user-images.githubusercontent.com/29681063/234533878-defd59eb-360d-4334-97c0-9c6cfc6af936.png) |

| __VIRTUAL SESSION:-__ |
| --------- |
| I __RECORDED__ my Presentation for __MICROSOFT IRELAND EVENT -  AZURE AND SECURITY__ |
| Duration of My Demo = __1 Hour 18 Mins 28 Secs__ |
| {% youtube uekcRlcC1Pw %} |

| __PRESENTATION OBJECTIVES:-__ |
| --------- |

| __#__ | __TOPICS__ |
| --------- | --------- |
| 1. | Immutable laws of Security. |
| 2. | Identity Access Management (IAM). |
| 3. | Identity Access Management (IAM) with Devops. |
| 4. | Subscription, Resource Group, and Role Based Access Control (RBAC) |
| 5. | Role Based Access Controls with Devops. |
| 6. | Measures to Protect Azure Services and Azure Devops. |
| 7. | Microsoft Defender for Cloud. |
| 8. | Microsoft Defender for Devops. |
| 9. | 3 Live demos covering 3 different areas of Cloud Infrastructure Security |
| 10. | Questions. |

| __CODE REPOSITORY:-__ |
| --------- |
| {% github arindam0310018/28-April-2023-DevOps__Microsoft-Ireland-Presentation-Azure-Infrastructure-Security %} |

| __DEMO TOPICS:-__ |
| --------- |

| __#__ | __CATEGORY__ | __REPOSITORY__ |
| --------- | --------- | --------- |
| 1. | Entitlement Management, Catalog and Access Package | https://github.com/arindam0310018/24-Feb-2023-Microsoft-Graph-Powershell_Create-Catalog-AccessPackage-Roles-Policies |
| 2. | Rotate Storage Account Keys | https://github.com/arindam0310018/29-Aug-2022-DevOps__Rotate-Storage-Account-Keys |
| 3. | Scan Docker Images in Azure Container Registry using Aquasec Trivy and Azure Devops | https://github.com/arindam0310018/04-Apr-2022-DevOps__Scan-Images-In-ACR-Using-Trivy |


__Hope You Enjoyed the Session!!!__

__Stay Safe | Keep Learning | Spread Knowledge__
Mutable Object References
Tags: javascript, webdev, tutorial, beginners
Published: 2023-05-01 11:00:00

Mutable values are values that can be changed without an entirely new value. In JavaScript objects and arrays are mutable by default.
As already said in a previous post about Immutable Primitive Values, there is a fundamental difference in JavaScript between primitive values (undefined, null, booleans, numbers, and strings) and objects (including arrays and functions).

First, objects are mutable:

```js
let obj = { x: 1 }
o.x = 2              // obj = { x: 2 }
o.y = 3              // obj = { x: 2, y: 3 }
```

Second, objects are not compared by  value, two objects are not equal even if they have the exact same values, this is true for arrays too:

```js
let o = { x: 1 }, p = { x: 1 }
o === p                         // false
let a = [], b = []
a === b                         // false
```

JavaScript objects and arrays are compared by *reference*, two objects values are the same if and only if they *refer* to the same underlying object:

```js
let a = []
let b = a     // b refers to a
b[0] = 1
a[0]          // 1 - changes are also visible in the array a
a === b       // true
```

Thanks for Reading!
what i've learnt so far using Reactjs
Tags: webdev, javascript, react, beginners
Published: 2023-05-01 10:59:29

I've been around webdev for a while now and I've learnt to approach each day as a newbie. First day using react and i was so astonished at how wonderful it was, from being stuck at the React default src web page to creating components and importing them into your App.js folder. it's marvelous I tell you!!! well I'm still learning; I haven't completed a website yet but I'm working on it plus this is my first post and I'm super excited!! P.S tell me what you think, thank you!!!
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ex5wq7nytme2pohuu9yt.png)
Streamline Your Business Operations with Epiphany Inc - Your Trusted NetSuite Consultants
Published: 2023-05-01 10:57:24

Looking to simplify and streamline your business operations? Look no further than Epiphany Inc, your go-to **[NetSuite consultants](https://epiphanyinc.net/consulting/ )**. Our team of experts has years of experience working with the NetSuite platform, and we're ready to help you get the most out of this powerful business management solution.

Whether you're just getting started with NetSuite or you're looking to optimize your existing setup, our team can help. We offer a range of consulting services, including implementation, customization, integration, and training, all tailored to meet the unique needs of your business.

With our help, you'll be able to streamline your workflows, automate your processes, and gain valuable insights into your business operations. Plus, our ongoing support and maintenance services ensure that your NetSuite solution stays up-to-date and running smoothly.

Don't settle for less when it comes to managing your business. Choose Epiphany Inc for expert NetSuite consulting services that can help take your operations to the next level. Contact us today to learn more!
OCI - Monitoring Tables for Oracle Golden Gate Service ( works for On Prem Golden Gate as well )
Published: 2023-05-01 10:55:03



[](
      <style>
        .libutton {
          display: flex;
          flex-direction: column;
          justify-content: center;
          padding: 7px;
          text-align: center;
          outline: none;
          text-decoration: none !important;
          color: #ffffff !important;
          width: 200px;
          height: 32px;
          border-radius: 16px;
          background-color: #0A66C2;
          font-family: "SF Pro Text", Helvetica, sans-serif;
        { Abhilash Kumar Bhattaram : </style> <a class="libutton" href="https://www.linkedin.com/comm/mynetwork/discovery-see-all?usecase=PEOPLE_FOLLOWS&followMember=abhilash-kumar-85b92918" target="_blank">Follow on LinkedIn</a>) }

For a Oracle Golden Gate Engineers Admins , I see bit too focussed on the internals of Extracts and Replicats, it's good to work with Sys Admins and MOS to tune it better.

But for many of my business use cases people are just interested in a handfull of tables on how they are replicating , 
i.e. I get to handle questions below 

- Are my data in partitions being replicated ? 
- I did a large insert do you see it ?
- A had to archive large data set to anorther table , did that complete ?

These questions are more important to them , I cannot go about answering internals of Golden Gate to people who are not interested in them.

Explaining the End users of apps like BI , Tableau , they have no understanding of the replications and rightly so , all they need to know is " DO I HAVE MY DATA " ?

To help my users I have come up with a small script , basically the least looked upon sys table called "dba_tab_modifications"
Packers and Movers Trivandrum
Tags: houseshiftingtrivandru, inhousepackersandmovers, chennai, kera
Published: 2023-05-01 10:38:06

Inhouse Packers & Movers is one of the best recognized moving company in India with branches in Trivandrum. Whether you’re moving within chennai or another city, we can help you with best experienced staff, safe and reliable moving support, and dedicated customer support.

## [Inhouse Packers and Movers](https://inhousepackers.com/trivandrum/)