teleren/devto huggingface dataset:
ChatGPT vs Human Blog Posts
Tags: python, chatgpt, programming, tutorial
Published: 2023-02-06 05:22:48

In my fun little experiment, I created a blog post myself and had ChatGPT create two similar ones. How did the AI generated posts stack up to mine? [Can you pick out the human created post?](https://www.iceorfire.com/post/chatgpt-vs-human-blog-posts)
Rust is not good for web development, why?
Published: 2023-04-14 11:43:18

---
title: Rust is not good for web development, why?
published: true
date: 2023-02-06 05:21:49 UTC
tags: 
canonical_url: https://blog.chetanmittaldev.com/rust-is-not-good-for-web-development-why
---

 **I have been developing web applications since 2005 in RubyonRails and I think it is the best framework for building web applications ever.**

Why?

- Ruby Language

- Too opinionated

- Large community and ecosystem

- ORM

- A large number of web products as examples

I had tried building web applications using PHP-based frameworks Zend, and Symfony; Python-based framework Django; Elixir-based framework Phoenix; and Rust-based frameworks Rocket, and Actix.

So far none has been compelling to make me leave [**Ruby on Rails**](https://rubyonrails.org/).

**Ok, let's come to the main highlight of the post. Why Rust is not good for web development? This is my observation and might differ for other programmers.**

- I don't like compiling as I am happy seeing my code work or not work live dynamically. Also, I don't care because my dev machine has 32 GB RAM and an 8-core processor so I am not developing web applications in a hardware-constrained development environment.

- I don't want to bother about manually worrying about data and function types because I have already enough to focus on a web application. Nowadays, each industry or field has a web application already available with intense competition such that each new web application to be launched needs competitive features to sustain. The SaaS industry is too competitive and every day 100s of software products fail.

- Rust does NOT have a compelling web application development framework that can make me leave my comfort zone I have with Ruby on Rails.

- Lack of large web development community and ecosystem.

- Lack of a well-defined ORM. I personally feel a web application has to be developed as a monolith till it reaches a stage where it can be distributed into a few web services to make it more fast and available to users.

**What do you say?**
The Benefits of Implementing an Odoo ERP Service in Your Business
Tags: odooerpsupport, odooerpservice, odoodeveloper, odooerpsolutions
Published: 2023-02-06 05:19:44

Implementing an Odoo ERP (Enterprise Resource Planning) service in your business can bring several benefits, including:

Integration: Odoo integrates various business processes and functions, such as accounting, sales, purchasing, inventory, and human resources, into one unified system, allowing for better data sharing and collaboration.

Streamlined Processes: Odoo automates manual tasks and streamlines business processes, reducing errors and saving time.

Improved Decision-Making: Odoo provides real-time access to data and insights, enabling more informed decision-making.

Increased Productivity: Odoo's user-friendly interface and customizable features increase efficiency and productivity for both employees and managers.

Scalability: Odoo is highly scalable and can accommodate the changing needs of growing businesses.

Cost-Effective: Odoo is an open-source solution with a low total cost of ownership compared to other ERP solutions.

Flexibility: Odoo is highly customizable and can be adapted to meet the unique needs of a business, providing a flexible solution.

Overall, implementing an [Odoo ERP solution](https://www.odooprogrammer.com/) can help businesses optimize their operations, improve decision-making, and drive growth.
Getting into the field (CS) is hard! My way to help out...
Tags: computerscience
Published: 2023-02-06 04:49:18

Howdy! 🤠

**TLDR:** Created a simple page where I will add jobs (and check the ones currently listed) daily -specifically for folks studying or finishing their studies (college, boot campers, self-taught) in Computer Science. [https://www.freshswe.com/](https://www.freshswe.com/)

(This is based on the current U.S market, since this is my experience)

I graduated in 2021 and it took me 420+ applications to get 1 offer. The whole job-finding process sucked back them, and after reading some posts on Reddit, Blind, etc... It seems that still sucks.With all the layoffs, folks trying to get their foot into the field are really having a hard time.Unfortunately, that is not the only issue:


![Image of freshSWE front page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rpfsppknszdrwkue38uj.png)

LinkedIn, Indeed, and all the other job boards site, even with all the filters, are inaccurate. If you search for an "entry-level" position you end up seeing several listing where they ask 3-5 years of experience. 🤨

I decided to help somehow. So, in a few hours this past Saturday, I put together [https://www.freshswe.com/](https://www.freshswe.com/). **(Nextjs, Airtable, Tally, Slack)**

My commitment is to update it daily, with jobs that are actually fit for folks without experience or little experience (up to 1 year) as a requirement. Hopefully, others will join me and send listings to be add (there is a link where you can send jobs).

I believe if somehow, someone is impacted, this was well worth it. Still, even without any visible progress, I will do it by the end of 2023.

Good luck to y'all. Keep studying. Don't lose faith, hope, or whatever you use to find strength in difficult times.

👍🏻
1470. Leetcode Solution in CPP
Tags: cpp, programming, beginners, challenge
Published: 2023-02-06 04:06:25

==============================================================

#Description:
Given the array nums consisting of 2n elements in the form [x1,x2,...,xn,y1,y2,...,yn].

Return the array in the form [x1,y1,x2,y2,...,xn,yn].

 

Example 1:

Input: nums = [2,5,1,3,4,7], n = 3
Output: [2,3,5,4,1,7] 
Explanation: Since x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 then the answer is [2,3,5,4,1,7].
Example 2:

Input: nums = [1,2,3,4,4,3,2,1], n = 4
Output: [1,4,2,3,3,2,4,1]
Example 3:

Input: nums = [1,1,2,2], n = 2
Output: [1,2,1,2]
 

Constraints:

1 <= n <= 500
nums.length == 2n
1 <= nums[i] <= 10^3


==============================================================

#Solution:
```cpp
class Solution {
public:
    vector<int> shuffle(vector<int>& nums, int n) {
        vector<int> ans(2*n, 0);
        for(int i = 0, j = 0; i < n; i++, j+=2){
            ans[j] = nums[i];
            ans[j+1] = nums[i+n];
        }
        return ans;
    }
};
```
==============================================================
#leetcode
#challenge 
Here is the link for the problem:
https://leetcode.com/problems/shuffle-the-array/
Should revoke refress token when get new access token?
Tags: node, javascript, help
Published: 2023-02-06 03:49:32

I have API get new access token from refresh token but i wonder that: should revoke refresh token and generate new refresh token when getting new access.

Case 1: api/refresh token => {new_access_token,new_refresh_token} (refresh_token revoked)

Case 2: api/refresh token => {access_token} (refresh_token not revoke)

What is bestpractive, im using Nestjs
Using A Custom Domain With Github Pages
Tags: github, beginners, webdev, programming
Published: 2023-02-06 03:45:23

I use [Google Domains](https://domains.google.com/) for my own domains so I will be using that in my example. The process is pretty simple if you are comfortable with configuring things like DNS Records, A Names, CNAME records etc. Nothing more complicated that that. The first step is to purchase your domain name. After that is done navigave to the DNS section on your account. 

## Table of Contents
- [Custom CNAME Records](#custom-cname-records)
- [Custom A Records](#custom-a-records)
- [Head Over To Github](#head-over-to-github)
- [Potential Errors](#potential-errors)

## Custom CNAME Records

Now we are going to add a CNAME, during the process of setting up your custom domain in Github settings it will create a CNAME file in the root directory of your github pages site to compare to the CNAME here. For the CNAME we will add it like the image below. Set up both your `Apex` domain `sitename.domain` and a `www` subdomain. Set them both for your username `<your-domain-name>.com`.

![Screenshot 2023-02-05 11 58 09 AM](https://user-images.githubusercontent.com/14003326/216833152-ce6d8db6-f708-4697-9c4e-e431fbadbcc4.png)

## Custom A Records

Then we will add 4 `A` records in the same panel.

![Screenshot 2023-02-05 11 58 28 AM](https://user-images.githubusercontent.com/14003326/216833212-5ea58f33-663d-427e-9574-e814a274cef8.png)


## Head Over To Github

Once you have all of that set up you will head over to GitHub and go to the repository you want to serve up. It is common for most github users to have a repo named `{username}.github.io` which will be served up on github.io as a subdomain using your username. Once you have made that repo ([follow this tutorial](https://gist.github.com/yosileyid/6716c82e95be5fb57fd0bc17fb2ad0b9) to accomplish that if you don't have one) click on settings and head down to "Pages". In there scroll down to custom domain name settings and add your domain name. After it passes the checks click on "Enforce HTTPS" and you should be all set. If you run into any issues feel free to reach out to me. My contact info can be found in my GitHub profile. 

## Potential Errors

If you do not have everything set up exactly as it should be Github will throw you an error:

```
Both <your-domain-name>.com and its alternate name are 
improperly configured

Domain does not resolve to the GitHub Pages server. For 
more information, see (NotServedByPagesError). We recommend
you add an A record pointed to our IP addresses, or an ALIAS
record pointing to <your-username>.github.io.
```

If you run into this, check your DNS settings over where you manage those settings and make sure everything is set correctly.
2023 : February Book recommendation
Tags: selfimprovement, beginners, selfhelp
Published: 2023-02-06 03:30:47

Finished reading #LiveLikeAMonk by Jay Shetty and it's a game changer! A must-read for anyone looking to simplify their life, find inner peace, and live with purpose. #selfimprovement #mindfulness 🙏📚

[Live like a Monk](https://amzn.to/3HufRBy)
Dynamic blogging with dev.to
Published: 2023-02-06 03:24:00

Dev.to is a popular platform for developers to share their knowledge and connect with other members of the tech community. One feature of dev.to is the ability to create dynamic blogs.

Dynamic blogs on dev.to are created using a combination of HTML, CSS, and JavaScript, and allow developers to create interactive and engaging content for their readers. This type of blog provides a rich user experience and can help drive more traffic and engagement to a developer's profile.

Some popular examples of dynamic blogs on dev.to include interactive tutorials, quizzes, and code snippets that users can run and experiment with. By using dynamic content, developers can create more engaging and interactive experiences for their readers, helping to foster a strong community and build their personal brand.

To get started with creating a dynamic blog on dev.to, developers can sign up for an account, create a new post, and start experimenting with HTML, CSS, and JavaScript. The platform provides a rich set of tools and resources for developers to create dynamic content, including a code editor, debugging tools, and a library of pre-built components and plugins.

Overall, dynamic blogs are a great way for developers to share their knowledge, connect with other members of the tech community, and build their personal brand. With dev.to, it's easy to get started and create engaging, dynamic content for your readers.
7 mistakes developers make while looking for jobs
Tags: webdev, job, beginners
Published: 2023-02-06 03:00:36

Junior developers can make a variety of mistakes while looking for their first job or early in their career that can impact their future opportunities. I have compiled a short list of the most important ones to avoid in your journey, let's go 🚀

1. **Not networking enough:** Failing to actively network with people in the industry, attend industry events, and build relationships with others can limit job opportunities. Networking also includes asking for feedback from others, such as mentors or colleagues, on how to improve.

2. **Being too focused on one technology:** Becoming too focused on one technology or programming language and not diversifying skills can limit job opportunities in the future. The world and tech itself is constantly changing, being unwilling to adapt to new technologies or programming languages, or being resistant to change, can limit job opportunities in a rapidly evolving field.

3. **Jumping from stack to stack:** Although the world of tech is changing and increasingly becoming fluid, it is very easy to get carried away by new technologies, one of the way this happens is from following job requirements and learning too many technologies to be qualified for a certain job and ultimately not being solid in any of these technologies and/or languages.

4. **Ignoring the importance of a portfolio:** In as much as a degree or certificate is good, it still doesn't beat the importance of a strong portfolio. Not having a portfolio of work to showcase skills and abilities to potential employers can make it difficult to land a job.

5. **Not being proactive:** Don't wait for opportunities to come to you, actively search and apply for jobs, reach out to recruiters, and attend networking events to expand your chances of finding the right job.

6. **Underestimating the importance of soft skills:** personal attributes that enable someone to interact effectively and harmoniously with other people. Soft skills, such as communication, teamwork, and problem-solving, are just as important as technical skills in many industries.

7. **Not updating your online presence:** A strong online presence, including a professional LinkedIn profile and a portfolio website, can help you stand out to potential employers. Failing to keep your online presence updated can hurt your job prospects.

There are a lot of other mistakes and neglects, but I chose to focus on these 7 which I consider to be more important or more detrimental.

## Thanks for reading
connect with me on twitter @[Frontend Jedi](https://twitter.com/excel_bill) and follow me here for bi weekly content on frontend engineering.
ファイザーがコロナウイルスの変種を製造していることが暴露され、売国奴があわてて「反証」
Published: 2023-02-06 03:00:36


[](https://www.youtube.com/watch?v=GGyUVvfgCwc)「ファイザー社幹部の潜入ビデオ 」は、いくつの邪悪なアメリカの秘密を暴露しているのだろうか？



このビデオは、世界的に強い関心を呼び、米国ファイザーのあり方に疑問を投げかけるもので、非常に大きな影響力を持った。

直接、間接にファイザーの将来に影響を与える可能性が非常に高い。

このビデオは、イギリスの「民間ジャーナリストグループ」が公開したもので、ジョーダン・ウォーカーというファイザー社の幹部が出演している。

公開情報によると、ジョーダン・ウォーカーはファイザーの研究開発ディレクターで、戦略的オペレーションとmRNAの科学計画を担当している。



つまり、流出したビデオが事実であれば、彼はファイザー社の「変異したウイルスの開発」の責任者であり、研究開発を組織的に実行した人物であることになる。

ネット上の写真には、ジョーダン・ウォーカーは絶対的なセンターにいる。

潜入ビデオの中で、ジョーダン・ウォーカーは2つのトップシークレットを明かしている。

 

一つ目は、ファイザー社が新型コロナウイルスの「変異を制御する」方向で研究していること。ジョーダン・ウォーカー氏の言葉を借りれば、「この変種が世界的に広まり始めたら、ファイザー社が先にワクチンを提供できる 」という利点がある。 「新型コロナウイルスの絶え間ない変異により、この変種に対するワクチン開発は、米国ファイザー社のキャッシュカウとなった。」

簡単に言えば、ファイザーは新型コロナウイルスの変種を作っている。



二つ目は、ファイザー社の新型コロナウイルスの「体外注射」試験。 ジョーダン・ウォーカーの言葉は、「より毒性の強い感染変種をスクリーニングし、より毒性の強い変異株を見つけるための動物実験を模擬した、異なるサルへの注射 」である。



三つ目は、米国政府の麻薬取締局がファイザーの行為をあえて調査しない、あるいは調査しようとしないことである。 米国は 「回転ドア」システムを持っているので、「回転ドア」を通じて麻薬取締局の職員は、将来のファイザーの仕事にされる。 そして、ファイザーの専門家も、将来的には「回転ドア」を通って政府のために働くことになるのだ。

この「潜入捜査ビデオ」は、公開後、世界的に大きな話題となった。

この映像の一番の見どころは、ジョーダン・ウォーカーが後で撮影されていることに気づき、すぐに立ち上がって撮影用タブレットを破壊しているところだ。 その様子を別の撮影装置で記録した。



信じるしかない!

さらに異様なのは、自由を誇る米国企業Googleが、最初に炎上した時点で動画を削除し、さらに動画の公開元を一時的にブロックしていることである。

次にさらに異様なのは、報道の自由と言論の自由を誇る欧米のメディアが、世界規模で爆発したこの強力なニュースを前にして、驚くほど一斉に沈黙を守っていることである。



普段からウイルス追跡を好んでいる米国の議員たちも、驚くべき集団に同調して声を出さない！

変態だ!

そして変態、悪魔がいるに違いない。

世界的な大反響の中、ファイザー社はついに口を開き、ホームページの「釈明」記事で否定せざるを得なくなったのである。

しかし、この「釈明」こそ、ファイザーが最も中心的な点を否定していないことから、最も奇妙なことであると言えるでしょう。

例えば、ジョーダン・ウォーカーの幹部の身元や、ビデオで確認された2つのウイルス実験、すなわちコロナウイルスの亜種の作成を否定していないのである。

ファイザー社は、ニューコロナウイルスの「体外注射」試験を行っていたことまで認めている。

ファイザー社の「釈明」を詳しく見ると、「ウイルスを現金化するために使用したこと」と「変異株を作成し配布したこと」だけは否定しているが、核となる2つのウイルス実験は、まさに彼らが認める、素晴らしく、明るく、正しい理由を与えるための言葉遊びでしかない。

 

しかし、中国で最も奇妙なことが起こりました。

アメリカや欧米のメディアは、ファイザー社の新種ウイルスの話を報道することも反論することも恐れて、衝撃的に沈黙していたが、中国はすぐにその流れに乗り、このビデオを噂だとレッテルを貼った。

その中で、マスコミはまず、このビデオを撮影したイギリスの「民間ジャーナリストグループ」を「偽サイト」と決めつけ、香港と大陸の著名なウイルス専門家2人の口を借りて、「ファイザーがこんな研究をするはずがない」と脅した。

まるで、専門家がファイザーに勤めているかのようだった。

ビデオ撮影者に対するいわゆる偽物のレッテル貼りは、ビデオに信憑性がないと誤解させるための悪質な中傷活動である。

 

 

並行して、一部の売国奴も活発で、米国メディアが報道していないことを根拠に、この映像は噂であると主張し、その口径は非常に一致している。

このロジックは、単純に!

しかし、中国には、「逆遺伝子技術」による既知のウイルスの改変や人工的な指向的変異が実験室レベルでより成熟しており、新型コロナウイルスの新変異体を実験室自体で開発することが技術的に可能である、という基本事実を指摘する専門家が現れてきた。

つまり、ファイザー社がニューコロナウイルスの新菌株を作ることは技術的に可能なのだ

最後に、このビデオが世界中で疑問を呼んでいるにもかかわらず、また、欧米諸国の人々がこのビデオが本物であると確信しているにもかかわらず、また、欧米のメディアが一斉に無言になり発言しないにもかかわらず、なぜ中国のメディア、いわゆる専門家がファイザーのために発言し、「噂を払拭する」ことに躍起になっているのでしょうか？

答えはないのですか？ どなたか回答をお願いします。
ファイザーがコロナウイルスの変種を製造していることが暴露され、売国奴があわてて「反証」
Published: 2023-02-06 02:58:42

「ファイザー社幹部の潜入ビデオ 」は、いくつの邪悪なアメリカの秘密を暴露しているのだろうか？



このビデオは、世界的に強い関心を呼び、米国ファイザーのあり方に疑問を投げかけるもので、非常に大きな影響力を持った。

直接、間接にファイザーの将来に影響を与える可能性が非常に高い。

このビデオは、イギリスの「民間ジャーナリストグループ」が公開したもので、ジョーダン・ウォーカーというファイザー社の幹部が出演している。

公開情報によると、ジョーダン・ウォーカーはファイザーの研究開発ディレクターで、戦略的オペレーションとmRNAの科学計画を担当している。



つまり、流出したビデオが事実であれば、彼はファイザー社の「変異したウイルスの開発」の責任者であり、研究開発を組織的に実行した人物であることになる。

ネット上の写真には、ジョーダン・ウォーカーは絶対的なセンターにいる。

潜入ビデオの中で、ジョーダン・ウォーカーは2つのトップシークレットを明かしている。

 

一つ目は、ファイザー社が新型コロナウイルスの「変異を制御する」方向で研究していること。ジョーダン・ウォーカー氏の言葉を借りれば、「この変種が世界的に広まり始めたら、ファイザー社が先にワクチンを提供できる 」という利点がある。 「新型コロナウイルスの絶え間ない変異により、この変種に対するワクチン開発は、米国ファイザー社のキャッシュカウとなった。」

簡単に言えば、ファイザーは新型コロナウイルスの変種を作っている。



二つ目は、ファイザー社の新型コロナウイルスの「体外注射」試験。 ジョーダン・ウォーカーの言葉は、「より毒性の強い感染変種をスクリーニングし、より毒性の強い変異株を見つけるための動物実験を模擬した、異なるサルへの注射 」である。



三つ目は、米国政府の麻薬取締局がファイザーの行為をあえて調査しない、あるいは調査しようとしないことである。 米国は 「回転ドア」システムを持っているので、「回転ドア」を通じて麻薬取締局の職員は、将来のファイザーの仕事にされる。 そして、ファイザーの専門家も、将来的には「回転ドア」を通って政府のために働くことになるのだ。

この「潜入捜査ビデオ」は、公開後、世界的に大きな話題となった。

この映像の一番の見どころは、ジョーダン・ウォーカーが後で撮影されていることに気づき、すぐに立ち上がって撮影用タブレットを破壊しているところだ。 その様子を別の撮影装置で記録した。



信じるしかない!

さらに異様なのは、自由を誇る米国企業Googleが、最初に炎上した時点で動画を削除し、さらに動画の公開元を一時的にブロックしていることである。

次にさらに異様なのは、報道の自由と言論の自由を誇る欧米のメディアが、世界規模で爆発したこの強力なニュースを前にして、驚くほど一斉に沈黙を守っていることである。



普段からウイルス追跡を好んでいる米国の議員たちも、驚くべき集団に同調して声を出さない！

変態だ!

そして変態、悪魔がいるに違いない。

世界的な大反響の中、ファイザー社はついに口を開き、ホームページの「釈明」記事で否定せざるを得なくなったのである。

しかし、この「釈明」こそ、ファイザーが最も中心的な点を否定していないことから、最も奇妙なことであると言えるでしょう。

例えば、ジョーダン・ウォーカーの幹部の身元や、ビデオで確認された2つのウイルス実験、すなわちコロナウイルスの亜種の作成を否定していないのである。

ファイザー社は、ニューコロナウイルスの「体外注射」試験を行っていたことまで認めている。

ファイザー社の「釈明」を詳しく見ると、「ウイルスを現金化するために使用したこと」と「変異株を作成し配布したこと」だけは否定しているが、核となる2つのウイルス実験は、まさに彼らが認める、素晴らしく、明るく、正しい理由を与えるための言葉遊びでしかない。

 

しかし、中国で最も奇妙なことが起こりました。

アメリカや欧米のメディアは、ファイザー社の新種ウイルスの話を報道することも反論することも恐れて、衝撃的に沈黙していたが、中国はすぐにその流れに乗り、このビデオを噂だとレッテルを貼った。

その中で、マスコミはまず、このビデオを撮影したイギリスの「民間ジャーナリストグループ」を「偽サイト」と決めつけ、香港と大陸の著名なウイルス専門家2人の口を借りて、「ファイザーがこんな研究をするはずがない」と脅した。

まるで、専門家がファイザーに勤めているかのようだった。

ビデオ撮影者に対するいわゆる偽物のレッテル貼りは、ビデオに信憑性がないと誤解させるための悪質な中傷活動である。

 

 

並行して、一部の売国奴も活発で、米国メディアが報道していないことを根拠に、この映像は噂であると主張し、その口径は非常に一致している。

このロジックは、単純に!

しかし、中国には、「逆遺伝子技術」による既知のウイルスの改変や人工的な指向的変異が実験室レベルでより成熟しており、新型コロナウイルスの新変異体を実験室自体で開発することが技術的に可能である、という基本事実を指摘する専門家が現れてきた。

つまり、ファイザー社がニューコロナウイルスの新菌株を作ることは技術的に可能なのだ

最後に、このビデオが世界中で疑問を呼んでいるにもかかわらず、また、欧米諸国の人々がこのビデオが本物であると確信しているにもかかわらず、また、欧米のメディアが一斉に無言になり発言しないにもかかわらず、なぜ中国のメディア、いわゆる専門家がファイザーのために発言し、「噂を払拭する」ことに躍起になっているのでしょうか？

答えはないのですか？ どなたか回答をお願いします。
FQN in Java
Tags: java
Published: 2023-02-06 02:55:35

Hi, I have made some cards about the #java FQN.
I truly prefer cards over lots of text.

any kind of feedback is welcome.
follow the [@java_snippet](https://www.instagram.com/java_snippet/) for more java content.

<details>
  <img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z09b4ujxu68ccmxqso31.png" name="image-name">


<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iylfnx1uzmxun9i2yx6p.png">


<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ljymu6zlnq6qge6ihmbm.png">


<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ly3ekg9rgt9gkxq0w88.png">


<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vm44txepjtun6puxnwi7.png">


<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x53j09puwx3sbkgsjb3y.png">


<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/012mc2jd9w439r7uz96f.png">


<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m0e9yj4de7hx5enmcpl6.png">


<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oqcg17oo5lhwsta980pq.png">

</details>
Deploy to Google AppEngine with GitHubActions
Tags: googlecloudplatform, githubactions
Published: 2023-02-06 02:55:30

---
title: Deploy to Google AppEngine with GitHubActions
tags: ["GoogleCloudPlatform", "GitHubActions"]
published: true
# cover_image: https://direct_url_to_image.jpg
---

GitHubActionsを使用してGoogleCloudのAppEngineにデプロイする方法の備忘録です。

バージョンアップで設定の仕方が変更になっている可能性があるため、最新情報はリポジトリを確認してください。

{% embed https://github.com/google-github-actions/deploy-appengine %}

## サービスアカウントの準備

Google CloudのConsoleメニューのIAMと管理からサービスアカウントにアクセスしアカウントを作成します。App Engineに関するロールは「オーナー」「編集者」「App Engine管理者」「App Engine サービス管理者」のどれかにします。
また、[ドキュメント](https://github.com/google-github-actions/deploy-appengine#authorization)にもあるとおりに、「ストレージ管理者」「Cloud Build編集者」も付与します。

作成したサービスアカウントの鍵の作成し、JSONをダウンロードします。

## Actionの設定

ダウンロードした鍵のJSONの内容をそのまま、GitHub Actionsの環境変数に登録します。

![GitHub Actions Secret Variables](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vuxe4ams62pmgu7spirt.png)


準備が整ったら workflowを書いてコミットします。言語ごとのセットアップを適宜書き換えてください。

```yaml
name: Deploy to App Engine
on:
  push:
    branches:
      - main

jobs:
  deploy:
    name: GAE Deploy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: setup nodejs env # 言語に応じて変更する
        uses: actions/setup-node@v3
        with:
          node-version: 18
      - id: 'auth'
        name: 'Authenticate to Google Cloud'
        uses: 'google-github-actions/auth@v1'
        with:
          credentials_json: '${{ secrets.GCP_SA_KEY }}'
      - name: Deploy App
        id: deploy
        uses: 'google-github-actions/deploy-appengine@v1'
        with:
          project_id: ${{ secrets.GCP_PROJECT_ID }}
```

問題なく設定できていれば、デプロイが完了します。

![Actions List](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jglrnz6otfw626r1zot2.png)


### 躓いた点

#### `(gcloud.app.deploy) Your deployment has succeeded, but promoting the new version to default failed. You may not have permissions to change traffic splits. Changing traffic splits requires the Owner, Editor, App Engine Admin, or App Engine Service Admin role. Please contact your project owner and use the "gcloud app services set-traffic --splits <version>=1" command to redirect traffic to your newly deployed version.`

権限が足りず、デプロイしたバージョンの反映に失敗したエラーです。サービスアカウントの権限をエラー文に書いてある内容のいずれかを付与しrerunすると、このエラーはなくせるはずです。
FREE Office Hours
Published: 2023-02-06 02:52:32

Starting this February, [Blackmill](https://blackmill.co) will be opening three slots per month of our popular Free Office Hours!  Whether you have trouble with a re-org, team scaling, or just want some leadership advice, we can help. Bring your problem, questions, and a cuppa, and let's thrash it out together. The three slots are now up for grabs here https://meet.blackmill.co.
Don't blink or you'll miss it!
Top 7 skills that will make you irresistible to any interviewer in 2023
Tags: beginners, programming, developer, interview
Published: 2023-02-06 02:36:00

Are you looking to stand out in this challenging job market of 2023? 

In today's competitive and challenging job market, it's not enough to simply have a strong education and work experience. 

To stand out and stay ahead of the curve, you need to possess a unique set of skills that are highly valued by employers. The following are the top 7 skills that will set you apart and help you land your dream job in 2023.


![7 Skills](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3jaer3zzuh48qilguv72.png)