teleren/devto huggingface dataset:
A Map of circom
Tags: blockchain, zkp, circom, smartcontracts
Published: 2022-12-30 03:13:44

## What, Tool Chains and Workflow

![What, Tool Chains and Workflow](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h1lmx80iq6ow4ayxtz15.png)

## Key Language Conceptions

### Template and Component

![Template and Component](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ml0m6x581wfnvlfitmhs.png)

### Signal and Variable

![Signal and Variable](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gt6mlrzhsm8t468xz0xt.png)

### Others

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

> Note
> 
> If you want to create a circom powered verification api, you can also check this: https://github.com/DTeam-Top/zkp-api-starter
How to use Jest for JavaScript code testing
Tags: javascript, beginners, testing, webdev
Published: 2022-12-30 03:10:01

Testing is an essential part of the software development process. It helps ensure that the code you write is reliable, maintainable, and bug-free. One popular JavaScript testing library is Jest, which is a comprehensive test runner and assertion library that makes it easy to write and run tests.

In this article, we'll cover the basics of testing with Jest. We'll start by looking at why testing is important, then move on to installing and configuring Jest. Finally, we'll look at some examples of how to write and run tests using Jest.

## Why Test?

There are many reasons why testing is important in software development. Some of the main benefits of testing include:

- **Finding bugs early**: By writing tests for your code, you can catch bugs early on in the development process, before they have a chance to cause serious problems.

- **Ensuring code quality**: Tests can help ensure that your code is of high quality, by checking that it does what it's supposed to do and that it behaves as expected.

- **Facilitating refactoring**: Tests can make it easier to refactor your code, by providing confidence that the changes you make won't break existing functionality.

- **Documenting your code**: Tests can serve as documentation for your code, by providing examples of how it should be used and what it should do.

## Installing and Configuring Jest
To get started with Jest, you'll need to install it as a dev dependency in your project. You can do this by running the following command in your terminal:

```bash
npm install --save-dev jest
```
Once Jest is installed, you'll need to configure it to run your tests. You can do this by creating a jest.config.js file in the root of your project, and adding the following code:

```js
module.exports = {
  testMatch: ['**/*.test.js'],
};
```
This configuration tells Jest to look for files with a .test.js extension and treat them as test files.

## Writing and Running Tests
Now that Jest is installed and configured, you're ready to start writing and running tests. Jest tests are written using the describe and test functions.

Here's an example of a simple test that checks that the add function returns the correct result:

```js
function add(a, b) {
  return a + b;
}

test('adds 1 + 2 to equal 3', () => {
  expect(add(1, 2)).toBe(3);
});

```
To run this test, you can use the jest command in your terminal:

```bash
jest
```
Jest will automatically find and run all of the test files in your project, and report the results.

There are many other features and assertions available in Jest, such as support for asynchronous code, snapshot testing, and mocking. You can find more information about these features in the [Jest documentation](https://jestjs.io/docs/en/getting-started).

## Conclusion
In this article, we've covered the basics of testing with Jest. We've looked at why testing is important, how to install and configure Jest, and how to write and run tests. By using Jest and other testing tools, you can ensure that your code is reliable, maintainable, and bug

Happy testing☺️
O que é e para o que serve Firebase?
Published: 2022-12-30 02:53:31

Firebase é uma plataforma de back-end ligado fortemente ao desenvolvimento de aplicativos mobile. Sendo utilizada por milhares de desenvolvedores de dispositivos moveis em todo o mundo.

O Firebase pode ser classificado como um BaaS que é uma plataforma de back-end "As A Service" que é um serviço de computação em nuvem que serve como middleware fornecendo aos desenvolvedores uma forma de conectar suas aplicações mobile e web além de serviços na nuvem a partir de API's e SDK's.

O BaaS possibilita aos desenvolvedores web e mobile a abstrair completamente a infraestrutura do lado do servidor, aonde podem montar os blocos de construção e apenas ao escrever o código que os conecta.

Além de banco de dados, o Firebase possui dentro de sua plataforma mais de 20 produtos.

Com alguns destes produtos podemos:

- Personalizar o conteúdo para usuário.

- Enviar mensagens se baseando pelo fuso horário.

- Fazer todo o trabalho de autenticação de usuários utilizando o Firebase Authentication.

- Fazer com o que nossa aplicação seja visualizada e utilizada aplicando a ferramenta compartilhar ou o Dynamic Links.

- Enviar notificações a várias plataformas com o Cloud Messaging.

- Criar análises de resultados com o Analytics.

Em termos de linguagens de programação fremaworks de tecnologias e possível utilizar muitas em conjunto com Firebase como:

- Swift 
- Objective-C
- Java
- Python
- NodeJS
- Unity
- C++
- React
- Angular
- Ember
- Backbone

_Alguns aplicativos que usam Firebase são:_

- Alibaba
- Duolingo
- The New York Times
- Trivago
ดู The Glory EP.1 ดูซีรีย์เกาหลีฟรีเต็มตอน THAI!
Published: 2022-12-30 02:15:30

ดูซีรี่ย์ The Glory Season 1 EP.1-8 ดูซีรีย์ไทยเต็ม ดูซีรีย์ฟรี HD-THAI, เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม THAI, ดู The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม THAI Sub, ดูซีรีส์ The Glory Season 1 เดอะ ซีรีส์ EP1-8 ย้อนหลัง, ดู-ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย, ดูเดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย, เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ซับไทย ตอนเต็ม,

**▶ ดูที่นี่ ➾➣ [The Glory ซับ ไทย EP 1-8 FULL'HD](https://play.onlinecinema.stream/th/tv/136283-1-1/episode-1)**

The Glory Season 1 นำเสนอเรื่องราวของ ยุนฮยอนอู (รับบทโดย ซงจุงกิ) ที่ทำงานรับใช้ตระกูลแชบอลอย่างจงรักภักดีมายาวนาน แต่แล้วเขากลับถูกฆ่าตายอย่างไม่ใยดี ก่อนที่จะมีชีวิตใหม่อีกครั้งในร่างของ จินโดจุน หลายชายคนเล็กของตระกูลที่ทรยศเขา สามารถรับชมซับไทยซีรีส์ The Glory Season 1 ได้ที่ Viu

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

The Glory Season 1 กำลังเดินทางเข้าใกล้ปลายทางเรื่องมากขึ้นทุกที แต่การดำเนินเรื่องราวยังคงเข้มข้น จนล่าสุดสามารถทำเรตติ้งสร้างสถิติใหม่ของตัวเองได้อีกครั้ง และยังสามารถขึ้นมาอยู่บนตาราง TOP3 ซีรีส์ที่ทำเรตติ้งสูงสุดตลอดกาลช่องเคเบิลเป็นที่เรียบร้อย

The Glory Season 1 นำเสนอเรื่องราวของ ยุนฮยอนอู (รับบทโดย ซงจุงกิ) ที่ทำงานรับใช้ตระกูลแชบอลอย่างจงรักภักดีมายาวนาน แต่แล้วเขากลับถูกฆ่าตายอย่างไม่ใยดี ก่อนที่จะมีชีวิตใหม่อีกครั้งในร่างของ จินโดจุน หลายชายคนเล็กของตระกูลที่ทรยศเขา สามารถรับชมซับไทยซีรีส์ The Glory Season 1 ได้ที่ Viu

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

▷ดูซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

ดูเดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

รีเพลย์ The Glory Season 1 ep 1-8 ตอนเต็ม HD ฟรี ดู ออนไลน์

ดู The Glory Season 1 EP 1-8 ดูออนไลน์ ซับไทย

▷ดูซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

ดู-ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง - ตอนเต็ม

เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

ดู The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

ดูซีรีส์ The Glory Season 1 เดอะ ซีรีส์ EP1-8 ย้อนหลัง

ดู-ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย

ดูเดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย

เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ซับไทย ตอนเต็ม

รีเพลย์ The Glory Season 1 ep 1-8 ตอนเต็ม HD ซับไทย ฟรี ดู ออนไลน์

ดู The Glory Season 1 EP 1-8 ดูออนไลน์ ซับไทย

▷ดูซีรีส์ The Glory Season 1 EP 1-8 ซับไทย ย้อนหลัง ตอนเต็ม

ดู-ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง - ตอนเต็ม ซับไทย

รีเพลย์ The Glory Season 1 EP 1-8 ย้อนหลัง ซับไทย ตอนเต็ม

ดู The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย

ดูซีรีส์ The Glory Season 1 เดอะ ซีรีส์ EP1-8 ย้อนหลัง ซับไทย
27 道阿里巴巴 Java 面试题，你会几道？
Tags: alibaba, 面试题, java
Published: 2022-12-30 02:14:10

**在china,做技术的有一种资历，叫做通过了阿里的面试。**

这些阿里Java相关问题，都是之前通过不断优秀人才的铺垫总结的，我们先尝试了解再去阿里面试吧，
**希望对大家帮助，祝面试成功，有个更好的职业规划。**

## 一 面试常见问题

1、微信红包怎么实现
2、海量数据分析
3、测试职位问的线程安全和非线程安全
4、HTTP2.0、thrift
5、面试电话沟通可能先让自我介绍
6、分布式事务一致性
7、nio的底层实现
8、jvm基础是必问的，jvm GC原理，JVM怎么回收内存
9、Java是什么
10、API接口与SDI接口的区别（API是提供给别人的接口）
11、dubbo如何一条链接并发多个调用。Dubbo的原理，序列化相关问题
12、用过哪些中间件
13、做过工作流引擎没有
14、以前的工作经历，自己觉得出彩的地方（钉钉）
15、线程池的一些原理，锁的机制升降级（天猫、蚂蚁）
16、从系统层面考虑，分布式从哪些纬度考虑（天猫）
17、Hadoop底层怎么实现（天猫）
18、threadLocal，线程池，hashMap/hashTable/coccurentHashMap等（天猫）
19、秒杀系统的设计（天猫）
20、虚拟机，IO相关知识点（天猫）
21、Linux的命令（天猫）
22、一个整形数组，给定一个数，在数组中找出两个数的和等于这个数，并打印出来，我写的时间复杂度高，要求O(n)。（天猫）
23、n个整数，找出连续的m个数加和是最大。（天猫）
24、更重视开源技术（蚂蚁金服上海）
25、数据库锁隐原理（蚂蚁金服网商）
26、1000个线程同时运行，怎么防止不卡（航旅）
27、场景，同时给10万个人发工资，怎么样设计并发方案，能确保在1分钟内全部发完打个比方会提出类似的场景（信息平台）

## 二 HR面试时的核心问题

1、你为什么离职？
2、你怎么看待自己的职涯？（包括工作和家庭的分配，怎么平衡家庭和工作的关系、加班、选择一家公司时的考量、location等）
3、薪资期望（不要直接说数，绝不能表现出没到多少钱或者什么层级我就不去，这是味道问题不是能力问题）


**三 注意事项**

1、阿里比绝大部分公司更看重情怀和梦想
阿里的八字箴言：乐观、聪明、皮实、自省

2、大部分HR都是懂业务的，会结合对候选人的判断和业务的把控进行筛选，不要忽略这一点哦

本套试题仅供大家参考，没有标准答案，关于java，应该是应用领域和就业领域最多的语言了吧！也期待和大家能一起交流学习
ดู-ซีรีส์ The Glory ซับ ไทย EP.1-8 ดูซีรี่ย์ ตอน เต็ม Thai
Published: 2022-12-30 02:11:20

ดูซีรี่ย์ The Glory Season 1 EP.1-8 ดูซีรีย์ไทยเต็ม ดูซีรีย์ฟรี HD-THAI, เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม THAI, ดู The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม THAI Sub, ดูซีรีส์ The Glory Season 1 เดอะ ซีรีส์ EP1-8 ย้อนหลัง, ดู-ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย, ดูเดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย, เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ซับไทย ตอนเต็ม,

**▶ ดูที่นี่ ➾➣ [The Glory ซับ ไทย EP 1-8 FULL'HD](https://play.onlinecinema.stream/th/tv/136283-1-1/episode-1)**

The Glory Season 1 นำเสนอเรื่องราวของ ยุนฮยอนอู (รับบทโดย ซงจุงกิ) ที่ทำงานรับใช้ตระกูลแชบอลอย่างจงรักภักดีมายาวนาน แต่แล้วเขากลับถูกฆ่าตายอย่างไม่ใยดี ก่อนที่จะมีชีวิตใหม่อีกครั้งในร่างของ จินโดจุน หลายชายคนเล็กของตระกูลที่ทรยศเขา สามารถรับชมซับไทยซีรีส์ The Glory Season 1 ได้ที่ Viu

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

The Glory Season 1 กำลังเดินทางเข้าใกล้ปลายทางเรื่องมากขึ้นทุกที แต่การดำเนินเรื่องราวยังคงเข้มข้น จนล่าสุดสามารถทำเรตติ้งสร้างสถิติใหม่ของตัวเองได้อีกครั้ง และยังสามารถขึ้นมาอยู่บนตาราง TOP3 ซีรีส์ที่ทำเรตติ้งสูงสุดตลอดกาลช่องเคเบิลเป็นที่เรียบร้อย

The Glory Season 1 นำเสนอเรื่องราวของ ยุนฮยอนอู (รับบทโดย ซงจุงกิ) ที่ทำงานรับใช้ตระกูลแชบอลอย่างจงรักภักดีมายาวนาน แต่แล้วเขากลับถูกฆ่าตายอย่างไม่ใยดี ก่อนที่จะมีชีวิตใหม่อีกครั้งในร่างของ จินโดจุน หลายชายคนเล็กของตระกูลที่ทรยศเขา สามารถรับชมซับไทยซีรีส์ The Glory Season 1 ได้ที่ Viu

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

▷ดูซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

ดูเดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

รีเพลย์ The Glory Season 1 ep 1-8 ตอนเต็ม HD ฟรี ดู ออนไลน์

ดู The Glory Season 1 EP 1-8 ดูออนไลน์ ซับไทย

▷ดูซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

ดู-ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง - ตอนเต็ม

เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

ดู The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

ดูซีรีส์ The Glory Season 1 เดอะ ซีรีส์ EP1-8 ย้อนหลัง

ดู-ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย

ดูเดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย

เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ซับไทย ตอนเต็ม

รีเพลย์ The Glory Season 1 ep 1-8 ตอนเต็ม HD ซับไทย ฟรี ดู ออนไลน์

ดู The Glory Season 1 EP 1-8 ดูออนไลน์ ซับไทย

▷ดูซีรีส์ The Glory Season 1 EP 1-8 ซับไทย ย้อนหลัง ตอนเต็ม

ดู-ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง - ตอนเต็ม ซับไทย

รีเพลย์ The Glory Season 1 EP 1-8 ย้อนหลัง ซับไทย ตอนเต็ม

ดู The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย

ดูซีรีส์ The Glory Season 1 เดอะ ซีรีส์ EP1-8 ย้อนหลัง ซับไทย
高频面试题：谈谈你对MySQL索引的了解，读完让你少走90%的弯路哦
Tags: mysql, 索引, 数据库
Published: 2022-12-30 02:06:58

## **一. MySQL索引分类**

**我们先来看看MySQL中都有哪些索引。**

**普通索引index：**允许出现相同的索引内容create index name on 表名(列名)

**唯一索引unique：**不可以出现相同的值，可以有NULL值create unique age 表名(列名)

**联合索引：**实质上是将多个字段建到一个索引里，列值的组合必须唯一create index name on 表名(列名,列名)

**全文索引：**可以针对值中的某个单词，但效率不高alter table 表名 engine = MyISAM;--全文索引需求在数据库MyISAM引擎 alter table 表名 add fulltext index 索引名(列名);

## 二. 索引的原理

**索引的原理，其实就是通过不断地缩小想要获取数据的范围，来筛选出最终想要的结果，同时把随机的事件变成顺序的事件！**也就是说，有了这种索引机制，我们可以总是用同一种查找方式来锁定数据。

本质上来说，索引就是让我们快速检索数据而设置的一种把数据排好序的数据结构，他需要额外的空间保存并进行维护。索引底层的数据结构分别有二分查找法、Hash和B+树。

## 三. B+树

**InnoDB引擎使用B+树作为索引结构。**

**特点:**

B+ 树的特点是能够保持数据稳定有序；

插入与修改拥有较稳定的时间复杂度；

B+ 树中的元素自底向上插入；

叶子节点间通过指针链接，可以通过遍历叶子节点获取所有数据。

**性质:**

IO次数取决于b+数的高度h，假设当前数据表的数据为N，每个磁盘块数据项的数量是m，则有h=㏒(m+1)N；

m = 磁盘块的大小 / 数据项的大小，磁盘块的大小也就是一个数据页的大小，是固定的；

索引的最左匹配特性(即从左往右匹配)，比如(name,age,sex)的时候，b+树是按照从左到右的顺序来建立搜索树的。假如当(张三,20,F)这样的数据来检索的时候，b+树会优先比较name，来确定下一步的搜索方向。如果name相同，再依次比较age和sex，最后得到检索的数据。但当(20,F)这样没有name的数据进来的时候，b+树就不知道下一步该查哪个节点了。因为建立搜索树的时候，name是第一个比较因子，必须要先根据name来搜索，才能知道下一步去哪里查询。

## 四. 索引的使用

我们在使用时，还要知道到底该什么时候使用索引，有以下几种情况：

主键自动建立唯一索引；

经常作为查询条件，在WHERE或者ORDER BY 语句中出现的列，应该建立索引；

作为排序的列要建立索引；

外键关系建立索引；

高并发条件下倾向联合索引；

用于聚合函数的列可以建立索引，如max、count的字段就需要建立索引。

另外我们还要注意，某些操作不当可能会导致索引失效，比如：

使用!=或<>操作符时，会全表扫描而不使用索引(ps:如果是主键还是会走索引)；

where子句中，对字段进行 null 判断会全表扫描；

where 子句中，使用 or 来连接条件查询会全表扫描；

like查询会全表扫描；

in 和 not in 会全表扫描；

where子句中，对字段进行函数操作，如where datediff(now(),bornDate)=0会导致索引失效。

**现在你对索引是不是有了基本地了解了呢？当然，受限于篇幅，本文只是简单让大家认识一下索引。其实关于索引的内容还有很多，欢迎大家学习哦。**
ดูซีรีส์ The Glory EP 1-8 ซับไทย ตอนเต็ม เดอะ ซีรีส์ Thai Sub!
Published: 2022-12-30 02:06:18

ดูซีรี่ย์ The Glory Season 1 EP.1-8 ดูซีรีย์ไทยเต็ม ดูซีรีย์ฟรี HD-THAI, เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม THAI, ดู The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม THAI Sub, ดูซีรีส์ The Glory Season 1 เดอะ ซีรีส์ EP1-8 ย้อนหลัง, ดู-ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย, ดูเดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย, เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ซับไทย ตอนเต็ม,

**▶ ดูที่นี่ ➾➣ [The Glory ซับ ไทย EP 1-8 FULL'HD](https://play.onlinecinema.stream/th/tv/136283-1-1/episode-1)**

The Glory Season 1 นำเสนอเรื่องราวของ ยุนฮยอนอู (รับบทโดย ซงจุงกิ) ที่ทำงานรับใช้ตระกูลแชบอลอย่างจงรักภักดีมายาวนาน แต่แล้วเขากลับถูกฆ่าตายอย่างไม่ใยดี ก่อนที่จะมีชีวิตใหม่อีกครั้งในร่างของ จินโดจุน หลายชายคนเล็กของตระกูลที่ทรยศเขา สามารถรับชมซับไทยซีรีส์ The Glory Season 1 ได้ที่ Viu

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

The Glory Season 1 กำลังเดินทางเข้าใกล้ปลายทางเรื่องมากขึ้นทุกที แต่การดำเนินเรื่องราวยังคงเข้มข้น จนล่าสุดสามารถทำเรตติ้งสร้างสถิติใหม่ของตัวเองได้อีกครั้ง และยังสามารถขึ้นมาอยู่บนตาราง TOP3 ซีรีส์ที่ทำเรตติ้งสูงสุดตลอดกาลช่องเคเบิลเป็นที่เรียบร้อย

The Glory Season 1 นำเสนอเรื่องราวของ ยุนฮยอนอู (รับบทโดย ซงจุงกิ) ที่ทำงานรับใช้ตระกูลแชบอลอย่างจงรักภักดีมายาวนาน แต่แล้วเขากลับถูกฆ่าตายอย่างไม่ใยดี ก่อนที่จะมีชีวิตใหม่อีกครั้งในร่างของ จินโดจุน หลายชายคนเล็กของตระกูลที่ทรยศเขา สามารถรับชมซับไทยซีรีส์ The Glory Season 1 ได้ที่ Viu

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

▷ดูซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

ดูเดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

รีเพลย์ The Glory Season 1 ep 1-8 ตอนเต็ม HD ฟรี ดู ออนไลน์

ดู The Glory Season 1 EP 1-8 ดูออนไลน์ ซับไทย

▷ดูซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

ดู-ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง - ตอนเต็ม

เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

ดู The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม

ดูซีรีส์ The Glory Season 1 เดอะ ซีรีส์ EP1-8 ย้อนหลัง

ดู-ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย

ดูเดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย

เดอะ ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง ซับไทย ตอนเต็ม

รีเพลย์ The Glory Season 1 ep 1-8 ตอนเต็ม HD ซับไทย ฟรี ดู ออนไลน์

ดู The Glory Season 1 EP 1-8 ดูออนไลน์ ซับไทย

▷ดูซีรีส์ The Glory Season 1 EP 1-8 ซับไทย ย้อนหลัง ตอนเต็ม

ดู-ซีรีส์ The Glory Season 1 EP 1-8 ย้อนหลัง - ตอนเต็ม ซับไทย

รีเพลย์ The Glory Season 1 EP 1-8 ย้อนหลัง ซับไทย ตอนเต็ม

ดู The Glory Season 1 EP 1-8 ย้อนหลัง ตอนเต็ม ซับไทย

ดูซีรีส์ The Glory Season 1 เดอะ ซีรีส์ EP1-8 ย้อนหลัง ซับไทย
Dynamic generation of task bar overlay icons in Electron
Tags: electron
Published: 2022-12-29 23:31:49

Electron exposes the [ability to show an overlay icon on the taskbar](https://www.electronjs.org/docs/latest/tutorial/windows-taskbar#icon-overlays-in-taskbar). It's incredibly flexible: allowing you to show any image you want there. But in my case, I just wanted a circle with a number in it to represent the number of unread items.

![Task bar overlay example](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a8cc2yifad7l8uyjmov0.png)

Pre-generating a bunch of images to bundle with the app didn't seem very appealing, so I settled on a dynamic generation approach:

1) Create an in-memory `<canvas>` element in the renderer code.
2) Draw the circle and the number in the center of it.
3) Call `canvas.toDataURL()` and pass this string to the main process via IPC.
4) Create a `NativeImage` from the data URI. 
5) Call `BrowserWindow.setOverlayIcon` and pass in the `NativeImage`.

We do the generation in the render process because it has access to Canvas APIs for free.

Here's the code to generate the Data URI:

```typescript
export function renderTaskBarOverlay(count: number): string {
  if (count > 99) {
    count = 99;
  }

  const canvas: HTMLCanvasElement = document.createElement('canvas');
  canvas.width = 32;
  canvas.height = 32;
  const ctx = canvas.getContext('2d');
  if (!ctx) {
    throw new Error('Could not get context');
  }

  const textY = count > 9 ? 24 : 25;
  const fontSize = count > 9 ? 20 : 24;

  ctx.beginPath();
  ctx.arc(16, 16, 16, 0, 2 * Math.PI, false);
  ctx.fillStyle = '#007A5D';
  ctx.fill();

  ctx.font = `${fontSize}px sans-serif`;
  ctx.textAlign = 'center';
  ctx.fillStyle = 'white';
  ctx.fillText(count.toString(), 16, textY);

  return canvas.toDataURL(); // Defaults to PNG
}
```

The Electron docs say that this is a 16x16 icon, but I think that must be device-independent pixels they are using because 32x32 looked a lot better on my 4k monitor.

Once it gets to the main process, you can handle it:

```typescript
export interface TaskBarOverlay {
  imageDataUri: string;
  description: string;
}

ipcMain.on('setOverlay', (event: Event, overlay: TaskBarOverlay | null) => {
  if (overlay) {
    const image = nativeImage.createFromDataURL(overlay.imageDataUri);
    mainWindow.setOverlayIcon(image, overlay.description);
  } else {
    mainWindow.setOverlayIcon(null, '');
  }
});

mainWindow.on('closed', () => {
  ipcMain.removeHandler('setOverlay');
});
```

And that's it. I was a bit surprised how little code was needed for this.
Hyper Fetch 3.0 is out! 🎉
Tags: opensource, react, typescript, javascript
Published: 2022-12-30 01:11:49

We have just released version 3.0 of Hyper Fetch, a framework for data exchange and state management, now also with support for Websockets, Server Sent Events and a new, great API! Check it out and leave us a star!

[Announcement](https://hyperfetch.bettertyped.com/blog/hyper-fetch-3-0)
[Github](https://github.com/BetterTyped/hyper-fetch)
Keyoxide
Published: 2022-12-30 00:50:21

---
title: Keyoxide
published: true
description: for verification, can ignore
tags: 
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2022-12-30 00:48 +0000
---

openpgp4fpr:CA7C68C1BADD4939133DABFFD70A6ED82A5D4658
A checklist for good re-usable functions and APIs
Tags: javascript, webdev, programming
Published: 2022-12-30 00:31:27

A checklist for evaluating whether you're creating good, usable abstractions in your programs.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/of1f7lpi2mjegjpkawna.png)


1. Does your API operate at a consistent level of abstraction - do you avoid having some methods that require users to pass you SQL statements and others that encapsulate this detail, for example?
2. Do your methods generally have two or fewer parameters (more parameters making it increasingly hard on users to intuitively understand the method)?
3. Do your methods have succinct but communicative names like "CreateEntry(Entry entryToCreate)" as opposed to the needlessly verbose ("CreateRecordThatIsGoingToGoInTheDatabase(Entry entry)")? On the opposite end of the spectrum, are your names hard to type and remember or weirdly succinct such as ("CE(Entry e)")?
4. Do your methods lie? Does "CreateEntry(Entry entryToCreate)" actually delete an entry, or perhaps less egregiously, create an entry sometimes, unless the entry has a certain flag set true, in which case it quietly fails?
5. Do you avoid forcing weird details on your clients, such as asking them to store boolean flags?
6. Do you avoid multiple return values (i.e. out/ref parameters?)
7. Do you somehow communicate what exceptions your methods might throw?
8. Do you limit the number of methods per class so that reading through the documentation or IDE assistance is not painful?
9. Do you avoid forcing your clients to violate the Law of Demeter? To get "D", do you force your clients to call getA().getB().getC().getD();?
10. Do you practice command query separation in your public API?
11. Do you limit or eliminate exposing public state, and especially flags?
12. Do you limit temporal couplings that force your clients to call your methods in a specific order?
13. Do you avoid deep inheritance hierarchies that make it unclear where the members of the public API actually come from?
14. Do your publicly exposed classes have a single, obvious responsibility - do you avoid exposing swiss-army-knife classes with a mish-mash of different functionalities?