teleren/devto huggingface dataset:
1./ A deep dive into client and server component versus static and dynamic rendering in Next 13: Intro
Tags: nextjs
Published: 2023-07-02 12:00:00

With the stable release of the new `app router` in `Next` I decided it was high time I looked into `Next 13`.

Reading the migration guide was slightly confusing but I felt like I broadly understood the concepts. But my confusion grew.

When I tried to think through the combination of client and server components with static and dynamic rendering I completely lost track. Even worse, the more I read about it, the more lost I got. It reminded me of the confusion I felt before I understood the `useStaticProps` and `useServerSideProps` functions.

So I tried to reset and start over. I soon discovered that I had missed some nuances and misinterpreted certain concepts.

As I was reading, I decided to turn my research into a series of posts because not a lot has been written on this specific topic.

## Series breakdown

So, in this series I'm going to share the things I learned. I will make nuances more explicit and use in depth examples to explain things and hopefully save you from the confusion I felt.

In the first 2 chapters we take a more theoretic look at server and client components & static and dynamic rendering.

We then look back to the old `Next`. This helped me a lot. Placing the `new` concepts into a frame I already knew, clarified a lot of things for me.

These first parts will have prepared you for more practical `Next 13`. We finally start combining static and dynamic rendering with client and server components in easy to understand examples.

In part 5 we cover nesting and in the last part, we cover the `useSearchParams` hook, which is interesting and useful but a bit of a handful.

## Repo

All of the examples I use in this series are available on [github](https://github.com/peterlidee/dive-in-next-13-tests).

<br />

Let's dive in. [Part 2: Client and server components.](https://dev.to/peterlidee/client-and-server-components-in-next-13-3939)
Top Skills to Become a Full-stack Java Developer
Tags: webdev, java, developer, techtalks
Published: 2023-07-02 11:54:12

**Top Skills to Become a Full-stack Java Developer 👇**

Learn for free from youtube , Like and share it with your friends , incase if I'm missing anything then please comment !

 1- **Languages** - Java, JavaScript, HTML/CSS, SQL

📌 Java - https://lnkd.in/dAU-BWwh
📌 JavaScript - https://lnkd.in/dMNn742p
📌 HTML/CSS - https://lnkd.in/dzJu2dDi
📌 SQL - https://lnkd.in/dsZXFHa7

2- **Front-end frameworks**: Angular/React/ Vue.js

📌 Angular - https://lnkd.in/dS7ZyqvJ
📌 React - https://lnkd.in/dRnbUQCT
📌 Vue.js - https://lnkd.in/dSD5hRBt

3- **Back-end frameworks**: Spring/ Hibernate/ Node.js

📌 Spring - https://lnkd.in/dM7BRdtN
📌 Hibernate - https://lnkd.in/d4NxhrtJ
📌 Node.js - https://lnkd.in/di9RZCv3

4- **Databases**: MySQL/ MongoDB/ Oracle

📌 MySQL - https://lnkd.in/dDwfjnX6
📌 MongoDB - https://lnkd.in/dq2BhSEh
📌 Oracle - https://lnkd.in/dq3jvixt

5- **Web technologies**: REST APIs, AJAX, JSON

📌 REST APIs - https://lnkd.in/dQP_fFXN
📌 AJAX - https://lnkd.in/d8_F3FE2
📌 JSON - https://lnkd.in/dWWiN5A2

6- **DevOps**: Docker, Kubernetes, Jenkins

📌 Docker - https://lnkd.in/dS_ZuEB7
📌 Kubernetes - https://lnkd.in/dNZh7pmT
📌 Jenkins - https://lnkd.in/daqhg9iQ

7- **Other skills**: Git, Agile methodology, Testing frameworks

📌Git and GitHub - https://lnkd.in/dF4CReyf
📌 Agile methodology- https://lnkd.in/dsxbZ-XB
📌 Some popular testing frameworks for Java full-stack include JUnit, TestNG, Selenium, etc.

In this repository, you will find a list of free courses with certificates for the skills mentioned above. - https://lnkd.in/dqi9tfiG

Follow for more resources - https://www.linkedin.com/company/lets-code-forever/

Contact me here - [Linkedin](https://www.linkedin.com/in/avinash-singh-071b79175/)
MySql: Compact sensor data to minute averages
Tags: mysql, home, sensor
Published: 2023-07-02 11:27:26

Our home battery measures different sensor data, such as:
* Current energy consumption in watts
* Current energy production (by photovoltaic) in watts
* Amount of watts that was fed into the grid

I collect this data every second via a python script and insert it into a mysql table. Because that data sums up over the years (Multiple Gigabytes!), i wanted to compress the data to minute averages for the old data.


## Table schema

Sensor Table:
```sql
create table status_sensor
(
    # timestamp with second precision
    measured_at timestamp   not null,
    # e.g. PRODUCTION for PV-Energy produced in that second
    type        varchar(30) not null,
    # numeric value in watts
    measurement int         not null,
    primary key (measured_at, type)
);
```

Table for compressed data:
```sql
create table status_compressed
(
    # timestamp with minute precision
    measured_at timestamp   not null,
    # e.g. PRODUCTION for PV-Energy produced in that second
    type        varchar(30) not null,
    # Average watt value in that minute
    measurement int         not null,
    primary key (measured_at, type)
);
```

## Compact Algorithm

Compact can be performed directly via sql. No programming necessary.

### High-Level Steps:

1. Get entries grouped by `type` and `measured_at` minute from the table `status_sensor` for a specific year.
2. Insert them to the `status_compressed` table
3. Delete the sensor entries from `status_sensor` for that specific year

### SQLs:

1+2:
```sql
INSERT INTO status_compressed (measured_at, type, measurement)
SELECT SUBSTRING_INDEX(entry, '/', 1)  AS date,
       SUBSTRING_INDEX(entry, '/', -1) AS type,
       average
FROM (SELECT CONCAT(DATE_FORMAT(measured_at, '%Y-%m-%d %H:%i'), '/', type) entry, avg(measurement) average
      FROM status_sensor
      WHERE measured_at LIKE '2020%'
      GROUP BY CONCAT(DATE_FORMAT(measured_at, '%Y-%m-%d %H:%i'), '/', type)) sub

```

3:
```sql
DELETE FROM status_sensor WHERE measured_at LIKE '2020%';
```
Media Queries in CSS
Tags: webdev, tutorial, css, programming
Published: 2023-07-02 11:02:20

A responsive website is a website that adapts according to its target device. For example a responsive website would adapt its layout to suit a laptop, a phone and a tablet. A phone has a smaller display, so a responsive website might make the font-size a bit bigger in smaller screens. 

But how do you do that? You can use media queries in your CSS to explicitly tell your website to change according to the screen size.

# Table of contents

- [Targeting smaller screens with media queries](#targeting-smaller-screens-with-media-queries)
- [Targeting larger screens with media queries](#targeting-larger-screens-with-media-queries)
- [Targeting a screen range using media queries](#targeting-a-screen-range-using-media-queries)
- [See media queries in action](#see-media-queries-in-action)

## Targeting smaller screens with media queries 

Let's discuss an example of defining media queries.

```css
@media (max-width:600px) {

/*
CSS for screens equal to or below 600px
*/

}
```

In the code above, `600px` is the breaking point. This means that you are targeting screen sizes equal to or below `600px`.

In the code below, any screen equal to or below 600px would have its background set to red.

```css
@media (max-width:600px) {
  
  body{
    background-color: red;
  }

}
```

## Targeting larger screens with media queries 

In the below, example `900px` is the breaking point. It is targeting screens whose width is at least `900px`.

```css
@media (min-width:900px) {

/*
CSS for screens equal to or above 900px
*/

}
```

In the below example, any screen greater than `900px` would have its background set to green.

```css
@media (min-width:900px) {

  body{
    background-color: green;
  }

}

```

## Targeting a screen range using media queries

The below code targets any screen greater than `600px` and smaller than `900px`.

```css
@media (min-width:600px) and (max-width:900px){

  body{
    background-color: burlywood;
  }

}
```

## See media queries in action

Go to [this link](zairahira.github.io/media-queries/) to see media queries in action! Adjust the screen size and see how media queries are being applied!

To review the code, go to [this ](https://github.com/zairahira/media-queries)GitHub repo.


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

**Wrapping up!**


I hope you found this tutorial helpful. Thank you for reading till the end.

I would love to connect with you on any of these  [platforms](https://zaira_.bio.link/).

[![Image description](https://res.cloudinary.com/practicaldev/image/fetch/s--lTK5eo7c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cfwvazd9y2xuvmdl1746.png)](https://bmc.link/zairah)
Expanding ESXi virtual disk and resizing debian partition
Published: 2023-07-02 11:00:11

## Objective:

1) ต้องการขยาย virtual disk ให้ debian vm เนื่องจาก disk space มีไม่พอ

---


## วิธีเพิ่มขนาดให้ Virtual disk:

1) Shutdown vm ที่ต้องการขยายขนาด
2) ลบ Snapshot ออกให้หมด (ต้องไม่มี snapshot เหลืออยู่เลย)
3) SSH Remote เข้าไปที่ ESXi
4) Backup vm ที่ต้องการทำไว้ (เผื่อพัง)

```
cd /vmfs/volumes/[VM-DIRECTORY]

mkdir backup

cp [VM-NAME]/* backup/
```

5) เพิ่มขนาดให้ Virtual disk

```
vmkfstools -x [newsize เช่น 10g] [virtual disk].vmdk
```

6) Start VM

---

## วิธีแก้ไข Partition และเปลี่ยนขนาด:

1) Login เข้า root
2) Disable swap

```
swapoff /dev/sda5
```

3) แก้ไขไฟล์ /etc/fstab

```
nano /etc/fstab
```

4) Comment บรรทัดที่เป็น swap partition ในไฟล์ (ใส่ # หน้าบรรทัด) ctrl+o ctrl+x

5) ดู Partition ปัจจุบัน

```
fdisk /dev/sda
```

> เลือก P จะเห็น Partition ทั้งหมด ในทีนี้คือ
> - sda1 (bootable) id 83
> - sda2 extended id 5
> - sda5 swap id 82

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

6) ลบทุก Partition

> เลือก d และ partition ที่จะลบ

7) สร้าง Partition ใหม่

> เลือก n
> โดยสร้างใหม่ดังนี้
> - partition 1: primary, start 2024 (หรือค่า default), size ตามต้องการ
> - partition 2: extended, start ต่อจาก primary (ใช้ค่า default)
> - partition 5: logical ใช้ค่า default ทั้งหมด

8) ตั้ง Partition 1 เป็น bootable partition

> เลือก a
> เลือก 1 (partition 1)

9) ตั้ง Partition 5 เป็น Swap partition

> เลือก t (change partition type)
> เลือก 5 (partition 5)
> เลือก 82 (swap partition type)

10) บันทึกการเปลี่ยนแปลง Partition table และออกจากการแก้ไข Partition

> เลือก w

11) Resize data partition

```
resize2fs /dev/sda1
```

12) ทำ Swap และแสดงข้อมูล UUID ของ swap

```
mkswap /dev/sda5

blkid /dev/sda5
```

จะได้ UUID แสดงผลออกมา มี type เป็น swap


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

13) แก้ไข UUID ของ swap ในไฟล์ต่างๆ

```
nano /etc/fstab
```

uncomment บรรทัด swap ที่เราเคยทำไว้ตั้งแต่ข้อ 4) แล้วแก้ไขค่า UUID โดยใส่ UUID ที่ได้จากข้อ 12) และ save ไฟล์

```
nano /etc/initramfs-tools/conf.d/resume
```

แก้ไขค่า UUID โดยใส่ UUID ที่ได้จากข้อ 12. และ save ไฟล์

14) Update

```
update-initfamfs -u
```

15) Reboot

```
reboot
```

---

เสร็จเรียบร้อยแล้วครับ

แต่ถ้าจะลดขนาด Disk ต้องทำแก้ไข Partition ตามข้อ 1–4 และ ลบ Partition 5 และ 2 ก่อน จากนั้นไปปรับขนาด Virtual Disk ตามข้อ 1–6 แล้วกลับมาลบ Partition 1 และสร้างใหม่ตั้งแต่ข้อ 6 เป็นต้นไป (มั้งนะ ยังไม่ได้ลอง)

---

**References:**

- [Howto — Resize linux partition and move swap space — Random notes of a SysAdmin (ronnyvdb.net)](https://blog.ronnyvdb.net/2019/06/21/howto-resize-linux-partition-and-move-swap-space/)
- [VMware Knowledge Base](https://kb.vmware.com/s/article/1002019)
- [partitioning — How to extend the primary partition for Ubuntu Server running in VMWare Player — Super User](https://superuser.com/questions/795699/how-to-extend-the-primary-partition-for-ubuntu-server-running-in-vmware-player)
Master the Art of Competitive Intelligence with Job Posting Data
Tags: datascience
Published: 2023-07-19 07:16:27

---
title: Master the Art of Competitive Intelligence with Job Posting Data
published: true
date: 2023-07-02 10:58:43 UTC
tags: DataScience
canonical_url: https://jobdatafeeds.com/blog/post/master-the-art-of-competitive-intelligence-with-job-posting-data
---

Unlock valuable market insights and stay ahead of the competition by leveraging job posting data. Discover emerging trends, analyze hiring practices, and enhance your competitive intelligence capabilities.

More at: https://jobdatafeeds.com/blog/post/master-the-art-of-competitive-intelligence-with-job-posting-data
My Internship Journey as Frontend Web Development Intern with Interns.PK
Published: 2023-07-02 10:57:18

I am excited to share my experience with **Interns PK** as a front-end developer for 4-weeks. Mostly worked on front-end technologies like **HTML5, CSS3, Bootstrap, JavaScript, JQuery, PHP,** and **WordPress**.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2wgyldlrxa03dx6q95ua.jpg)

There were **350+ tasks** and **4+ projects** to be completed in this internship. I have successfully completed all the tasks, and projects in the Frontend Web Development Internship at Interns Pakistan. In this 1-month internship program, I gain so much knowledge about web development and built some real-world projects as well.

**The main technologies taught in this internship are:**
- HTML5
- CSS3 / Responsive Web Design
- Bootstrap
- JavaScript / ES6 / JQuery
- PHP
- WordPress



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

At [interns.pk](interns.pk), there is everything simpler and easy. They guide us all the way in our journey. So, I highly recommend everyone to participate in the Interns.pk internship program to get amazing experience in the field of web development.

One of my WordPress project videos is here: [Video Link](https://youtu.be/8zNt49bg8rA)

At the end of this internship, I got a certificate of completion.

![Certificate](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x9oso24z4gvfyn4naoui.jpg)

Thanks to Interns Pakistan and founder of Interns PK @ShahzaibKhan for this opportunity. Here is my LinkedIn Profile where I regularly shared my own experiences and tips and tricks about internships, tech, computers, developers, etc.
[LinkedIn Profile](https://www.linkedin.com/in/abdulrehman0/)

Thank you for reading. I hope it helps you.


#Tags:
Internships
Experience
Front End Development
Web Development
Remote Working
Deploying a Static Front-End to AWS
Tags: aws, s3, fronted, javascript
Published: 2023-07-02 10:54:24

Deploying a Vue static front-end to AWS is a straightforward process that allows you to showcase your VueJS application to anyone on the web. In this blog post, we will guide you through the step-by-step process of deploying your VueJS bundle to an AWS S3 bucket and configuring static hosting settings. Let's get started!

##### Step 1: Creating an S3 Bucket
To begin, navigate to your AWS console and access the S3 service. Once there, click on 'Create Bucket' to initiate the bucket creation process. Choose a unique name for your bucket, ensuring it is relevant to your project.

##### Step 2: Configuring Bucket Access
To enable public access and allow anyone on the web to view your site, it is necessary to unblock all public access to the bucket. This ensures that the necessary permissions are set correctly. Create the new bucket after configuring the access settings.

##### Step 3: Uploading Bundled Files
Select your newly created bucket and click on the 'Upload' button. This action will open a file upload dialog. Proceed to drag and drop all the bundled files from the 'dist' directory that was generated by VueJS during the build process. Confirm the upload of all the files.

##### Step 4: Enabling Static Hosting
In the bucket's properties, scroll down until you find the static hosting settings. Edit the settings and enable hosting for your Vue static front-end. Additionally, set the index document to 'index.html', which serves as the entry point for your application.

##### Step 5: Configuring Bucket Permissions
Navigate to the bucket's permissions (not properties) and edit the bucket policy to include the provided JSON code. This policy grants the necessary permissions for public read access to objects within the bucket. Make sure to replace 'Bucket-Name' in the code with the actual name of your bucket.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::Bucket-Name/*"
            ]
        }
    ]
}
```

##### Step 6: Testing the Deployment
After completing all the previous steps, you will find an endpoint URL for your deployed Vue static front-end. To access it, go to your bucket properties and scroll down until you see the endpoint. Click on it to test your deployment and ensure that everything is working correctly.

Deploying a Vue static front-end to AWS using an S3 bucket is a convenient way to make your application accessible to users on the web. By following the steps outlined in this blog post, you can easily configure the necessary settings and policies to ensure your VueJS application is deployed and hosted properly. Enjoy showcasing your Vue project to the world!
Journey and Experience with Bytewise Limited as a Frontend Fellow
Published: 2023-07-02 10:35:57

✨ My journey with **Bytewise Limited** as a fellow in Frontend Web Development.

An amazing experience with [Bytewise Limited](https://www.bytewiseltd.com/) during 3 months fellowship program. I learned a lot and enjoyed the learning experience with the lead Muhammad Zubair and other fellows. In the period of 3 months of my fellowship, I learned web development, not only fundamentals but learned and implemented advanced topics practically as well. ✨ 

🎯 **The technologies I have covered in the Bytewise Limited fellowship are:**
_
- HTML5
- CSS3
- Tailwind
- Bootstrap
- Git and GitHub
- JavaScript
- React
_

📃 **The projects I have made during my fellowship are:**
_
- Online CV/Resume using HTML.
- Blog Page HTML and CSS.
- Profile Page using Tailwind CSS.
- Landing Page using HTML and CSS.
- Website Project using CSS Bootstrap.
- CSS Animation Page using HTML and CSS.
- Typing Speed Check using HTML, CSS, and JS.
- Live Date and Time using HTML, CSS, and JS.
- React Movie App.
- and others.
_

Not only that, I learned communication, question-asking, and problem-solving skills during the fellowship. I put my all coding material on GitHub with the repository name "Bytewise_Fellowship". I also added my files, images and code, and other material on Google Drive. I regularly uploaded my journey on my Twitter profile and LinkedIn as a post.

👨‍💻 **Here are some of the profiles I created during my fellowship journey:**
LinkedIn: [Linkedin](https://www.linkedin.com/in/abdulrehman0/)
GitHub: [GitHub](https://github.com/abdulrehmanghub)
Twitter: [Twitter](https://twitter.com/devabdulrehman)
Medium: [Medium](https://medium.com/@abdulrehman0)
Devto: [Devto](https://dev.to/abdulrehman0)


🎓 **About Frontend Development Lead:**
I would like to thanks to everyone throughout my fellowship journey from my lead to my fellows. Our Team lead is Muhammad Zubair, a true inspiration and humbled, talented leader who helped us everywhere we stuck throughout our journey during this fellowship. The tasks were given in a manner that everyone could attempt and complete easily. The group discussion and helping each other was an unforgettable experience for me.



🎁 **Feedback to Bytewise Limited and Founder:**
In the last, I would like to thanks the founder of Bytewise Limited, @usmankhan for providing such an amazing opportunity to us. 🎉 
Bytewise Limited fellowship program really helps students in advancing their careers in technical fields. As Bytewise Limited provides fellowship in almost all the fields related to technology, so I will definitely recommend Bytewise Limited to everyone. 🎇 






**Tags:**
#bytewise #fellowship #bytewisefellowship #opportunity #frontend #javascript #html #css #webdevelopment #react #coding #github #project #google #communication #learning #linkedin #experience #team #animation #leader #resume #projects #cv #like #inspiration #technology #students #careers #development
最新谷歌Google voice注册攻略 没有美国手机号也能注册成功
Published: 2023-07-02 10:23:09

去年初我花20元在某宝买了一个Google vocie虚拟号码玩了一下，主要是海淘购物用的，买了一个谷歌TV后，就按网上保号教程订阅了营销短信，前几天想用来注册ChatGPT拿来用（虚拟号不能注册），没想到谷歌更改了保号规则，要3个月内主动打电话或者发短信才行，我号没了？？？
图片

现在某宝不能购买了，没办法，又找不到靠谱购买渠道，并且谷歌邮箱也不是自己的，那么只能自己注册了，折腾起来~
Google Voice 是什么？

    简单来讲 Google Voice （也叫 GV 或谷歌语音）相当于一个电话总管，它基于 VoIP 技术（一种语音通话技术）为用户创造的一个虚拟美国号码，来管理用户的所有固定电话、电移动话、语音邮件、短信等。现代社会，很多人为把工作和生活分开，可能会有多个手机、电话，储存的信息也各不相同，使用时会很麻烦，这一点相信大家深有体会。而这个电话总管可以把来电转到任何一个您连接的号码上，而任何来电、短信也可以连接到该虚拟号码。当然，注册 Google Voice 账号的好处不止如此：

Google Voice有啥好处，什么样的人需要？

    无需充值就可以拨打美国、加拿大的电话，免费发短信到美国、加拿大以及免费接收短信

    注册验证美区各大社交平台:Twitter/Telegram

    保护隐私、注册国内的一些平台，避免被短信轰炸

    海淘人士购物使用、外贸人士使用

    使用PayPal国际版等

    可以绑定微信，开通 WeChat Out 功能（此功能只会在绑定了美国等地的手机号的微信中出现）

从网上找来的用处，作为上网冲浪利器，建议人手必备一个啊。
Google Voice 注册准备工作

注册谷歌voice前看来很多功率，都说现在谷歌政策收紧，比较难注册，需要准备如下东西：

    1 个 Google 账号

    1 个美国 IP（最好是美国原生 IP ）

    1 个美国实体电话卡（此号码还没有接码注册过 Google Voice）

    注册过程最好尽可能模拟美国环境下操作，包括系统时间，浏览器语言，DNS 等。

谷歌voice注册的过程

全局美区IP代理，打开浏览器，开启无痕模式，我懒得模拟美区环境，用最简单的试试。

登录Google voice官网：https://voice.google.com
图片
选择WEB版本，然后登录谷歌账号。。
图片
然后选择一个喜欢的号码
图片
这一步是最关键的，如果你有美区实体号码直接输入，等待即可！我这边没有，使用了上次注册ChatGPT账号的一个接码平台，没想到可以用。。。


不会用接码平台的，可以看我上篇文章：[https://gvnumber.com/create-google-voice-account/](https://gvnumber.com/create-google-voice-account/)


输入收到的验证码，验证即可。

几秒钟后，出现这个界面，注册成功！

我在网上看也有人，好多次收不到验证码的，这就不太清楚了，注册难度也跟谷歌账号的新旧程度、IP问题等有关系，下次我新申请一个看能不能注册成，相互保号用！
最新Google Voice注册指南
Published: 2023-07-02 10:20:44

去年初，购买了一个Google Voice虚拟号码，主要是为了海淘购物使用。

后来，我购买了一台谷歌电视，并按照网络上的教程订阅了营销短信，以便使用Google Voice。

然而，前几天当我想要将其用于注册ChatGPT时（因为虚拟号码无法进行注册），却发现谷歌更改了保号规则，要求在三个月内进行主动电话或短信交流，否则号码就会失效。


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/50wk9bd3r6w8t2l9lyw9.jpg)

现在某宝已经无法购买Google Voice虚拟号码了，之前没有找到可靠的购买GV渠道。

而且，我的谷歌邮箱也不是自己的，所以我只能选择自己注册一个Google Voice账号，这让我感到非常麻烦。

那么，Google Voice到底是什么呢？

简单来说，Google Voice（也称为GV或谷歌语音）是一个电话总管，基于VoIP技术（一种语音通话技术），为用户提供一个虚拟的美国号码，用于管理固定电话、移动电话、语音邮件、短信等各种通讯方式。在现代社会中，许多人为了区分工作和生活，可能会有多个电话号码，而每个号码储存的信息也各不相同，使用起来非常麻烦。Google Voice的电话总管功能可以将来电转接到您连接的任何号码，同时任何来电和短信都可以连接到该虚拟号码。当然，注册Google Voice账号的好处不仅仅是这些：

无需充值即可拨打美国和加拿大的电话，免费发送和接收短信。
可以用于验证注册美国社交平台，如Twitter和Telegram。
保护隐私，用于注册国内一些平台，避免被短信骚扰。
适用于海淘人士进行购物和外贸人士使用。
可以绑定微信，开通WeChat Out功能（此功能仅在绑定了美国等地手机号的微信中出现）。
根据网上找到的用途，Google Voice是一款非常实用的上网工具，建议每个人都应该拥有一个。

注册Google Voice之前需要做好以下准备工作：

一个Google账号。
一个美国IP地址
一张未被用于注册Google Voice的美国实体电话卡。
下操作，包括调整系统时间、浏览器语言、DNS等。

接下来是Google Voice的注册过程：

登录Google Voice官网：https://voice.google.com

选择网页版，并使用您的谷歌账号登录。


然后选择一个喜欢的号码。


这一步是最关键的。如果您拥有美国实体号码，直接输入即可，然后等待即可完成注册！但由于我没有实体号码，我使用了上次注册ChatGPT账号时使用的一个接码平台，没想到也可以使用。
如果您不了解接码平台，可以参考我之前的文章《[最新Google Voice号码注册/保号/换号/转移攻略](https://gvnumber.com/create-google-voice-account/)》

输入接收到的验证码，进行验证即可。

几秒钟后，出现注册成功的界面！
我在网上看到有些人多次尝试但无法收到验证码，对于这个问题我并不清楚。注册的难度可能与谷歌账号的新旧程度、IP问题等有关。下次我会尝试使用新的账号进行注册，看看能否成功，并且相互保号使用。

尽管Google Voice的注册变得更加困难，但通过准备必要的材料、模拟美国环境以及尝试各种方式，您仍然有机会成功注册一个Google Voice账号。希望这些步骤对您有所帮助，让您能够顺利享受Google Voice带来的便利和功能。
Creando ssh-keygen
Tags: git, spanish
Published: 2023-07-02 10:10:20



## Generar ssh
```
ssh-keygen -t rsa -b 4096 -C "email@example.com"
```

## Habilitar 
```
eval $(ssh-agent -s)
```

## Agregar ssh
```
ssh-add /home/pacmankabh/.ssh/id_rsa
```

## Agregar a github
Agregar el id_rsa.pub, es de modo público
```
cat /home/pacmankabh/.ssh/id_rsa.pub
```