技術者ブログ-Deno Deploy Classic 終了に伴うDiscord BOT移行

技術者ブログとして日ごろ取り組んでいる学習内容を紹介します。
以前作成したDiscordのBOTを置いていた場所が再構築されたことに伴い、新しいDenoに資産を移動させて欲しいというメールが届きました。
今回の資産移動により無料での24時間稼働が継続できたので、今回はそちらについてご紹介します。

Deno Deployとは

本題に入る前に、まずDeno Deployについて簡単に説明します。
Deno開発チームが提供するサーバーレスのエッジコンピューティングサービスです。
TypeScriptやJavaScriptで作成したアプリケーションを、サーバーの構築や運用を意識せずにインターネット上へ公開できるクラウドサービスです。手軽にWebアプリやAPI、Botなどをデプロイできることから、多くの開発者に利用されてきました。

Deno Deploy Classicからのメール内容

具体的にどんなメールが届いたかというと、以下のような内容でした。
・Deno Deploy Classicが2026/7/20で終了
・それ以降Classic上のアプリは停止
・自動移行はされない
・手動で新しいDeployへ移行する必要がある

作業前に確認すること

①Classicを使用しているか
メールが届いているので使用していることは当たり前ですが、念のためClassicを使用しているか確認します。
https://dash.deno.com
上記にプロジェクトがあれば移行対象です。

②GitHubにソースコードがあるか
確認事項
・GitHubリポジトリ
・mainブランチ
・最新コード

③環境変数を控える
Deno Deploy Classicの移動させるプロジェクトを開き、「setting(舞台設定)」→「Environment Variables(環境変数)」を確認します。
ここでDISCORD_TOKENなどでTOKENが設定されているはずです。このTOKENも自動移行されないので、このTOKENのメモを残してあるのであれば、そちらが移行時に必要になります。
もし制作時に登録してTOKENのメモを残していない場合はDiscord Developer Portalから新しいTOKENを再発行する必要があります。

画像はブラウザの日本語訳表示になっているため日本語が不自然になっていますが、設定していますね。
今回は制作時のメモにTOKENが控えてあったのでTOKEN再取得は割愛します。

余談ですが…現在のDiscordBotは動いていない状態です。
オフラインに居ます。

実際の移行手順

①新しいDeno Deployへログイン
https://console.deno.com/

②Organization作成
Organization name・Organization slugを入力して「Create Organization」を押下。
押下したら前のDeno Deployが開きましたが、その場合は新しいDeno Deploy画面を開いて作成したOrganizationが表示されているか確認。



③New app押下
Appsタブを押下し、Applicationsを開き、New appを押下します。

Create a new applicationsを開き、自分のGitHubを選んで、Botのリポジトリを選択する。
下にスクロールして、Deployment targetsを自分の選択。
今回は無料利用なのでManagedはFree Regionsを選択して、Create Appを押下。
※ここではGitHubにソースを上げていて、GitHubと新しいDenoDeploy連携をしている前提です。

ビルドが始まりますがKV Databaseの移行をしていないと失敗します。

プロジェクト内のDatabaseを押し、Databaseの画面を開いてKV Databaseの移行をする。
以下のページのDeno KVの+Attachを押下

provision new Deno KV押下でKV Databaseを作成する

作成したDatabaseが選択されていることを確認して「Attach Database」押下

Buildの画面に戻り「Retry Build」押下

④環境変数を設定する
新しいDeno DeployのOrganization内にあるSettingのEnvironment VariablesにDISCORD_TOKENを設定する

⑤Discordでオンラインになったか確認する
なりました。


これであとは動作確認をして、翌日も問題なく動いていれば完了です。
長くなりましたが、これで今回の技術者ブログを終わります。

次回の技術者ブログをお楽しみに。

技術者ブログ-Discord BOT作成(無料での24時間稼働まで)

技術者ブログとして日ごろ取り組んでいる学習内容を紹介します。
最近個人的にDiscordのBOTを作成し、無料での24時間稼働に成功したので今回はそちらについてご紹介します。

Discordとは

本題に入る前に、まずDiscordについて簡単に説明します。
Discordはアメリカで開発されたテキスト・ボイス・ビデオでコミュニケーションが取れるサービスです。
私は主に作業時の通話アプリとして利用しています。

Discordの主な機能は以下のとおりです。(本題に関係する部分のみ抜粋します)

◆サーバー
サーバーとはグループチャットのような機能です。複数のユーザーとテキストチャットや音声でやり取りができます。
サーバーには オープンサーバー(申請してDiscord内検索や掲示板サイトでサーバーを公開し、メンバー募集できる)と、プライベートサーバー(申請しない限り招待制で利用する)があります。

◆テキストチャンネル
サーバー内のグループチャット機能です。メンバー同士でテキストのやり取りができます。

◆ボイスチャンネル
サーバー内のグループ通話機能です。入室したメンバー同士で会話や画面共有ができます。

◆BOT
BOTを導入すると、サーバーの機能を拡張できます。公開されているBOTを招待すれば、音楽再生・テキスト読み上げ・タイマー・予定調整など、便利な機能を追加できます。
また、自作BOTを招待して動かすことも可能です。

BOT作成から稼働まで

今回作成したのは、プライベートサーバー向けの 「ボイスチャンネル入室通知BOT」 です。

◆きっかけ
Discordでは、ボイスチャンネルに入室してもサーバーメンバーに通知が行かない仕様のため、誰かが待機していても気付かずに一人で作業してしまうことがありました。
そこで「入室を通知してくれるBOTがあれば便利なのでは」と考え、作成することにしました。

◆実施内容
①BOTの機能を決めてコーディング
BOTを24時間無料で稼働させることができるサイトに合わせて、JavaScriptでmain.jsファイルを作成します。

機能としては以下を入れています。
・「作業中」ボイスチャンネル内の人数が0人から1人になった時のみ「通話募集(自動)」テキストチャンネルに通話募集のメッセージ送信
・1人から0人になったら「通話募集(自動)」に送信されていた通話募集メッセージを全削除
・1人から2人以降は「通話募集(自動)」に通話募集のメッセージを送信しない

以下は実際のコーディングの一部です。

②Discord Developer PortalにBOTアカウントを作成
Discord Developer Portalにアクセスし、New ApplicationからBOTアカウントを作成し、トークンを取得します。

BOTの権限設定で以下を有効にします。

BOTの権限を設定したら生成されたURLからBOTをサーバーに招待します。

③GitHubにリポジトリを作成し、ソースをアップロード
以前技術者ブログでも紹介したことがあり、社内勉強会でも触ったことのあるGitを使用しました。
GitHubにリポジトリ作成をしてソースをアップロードします。

④Deno.deployとGitHubを連携してログイン
Deno.deployの中でプロジェクトを作成し、GitHubで作成したリポジトリをインポートします。
②で取得したトークンをEnvironment variablesに設定します。

⑤ソースの最後の方にDeno.cronを記載し、24時間稼働させる
BOTが止まらないように2分ごとにDeno.deploy上で軽く動作させるための定期処理(Cronジョブ)をソースの最後の方に記載します。
これで24時間BOTが稼働してくれるようになります。

⑥Discordサーバーでテスト
実際にボイスチャンネルに入室して想定通りに動くか確認します。

ボイスチャンネルに0人の状態。テキストチャンネルにはメッセージがない状態です。
ボイスチャンネルに入室してボイスチャンネルの人数が0人から1人になるとテキストチャンネルに通話募集のメッセージが送信されます。
ボイスチャンネルから抜けて、ボイスチャンネル内の人数が1人から0人になるとテキストチャンネルのメッセージが自動で削除されます。

想定通りに動くことが確認できたので、翌朝BOTがオフラインになってないか確認したら完了です。

以上、長くなってしまいましたが、DiscordのBOT作成から無料での24時間稼働まででした。

次回の技術者ブログをお楽しみに。

レクリエーション「ババ抜き最弱王決定戦」

ご覧いただきありがとうございます。
今回の記事を担当します、チーム0のクロマです。

ダンデライオンズでは社員同士の親睦を深めるための「レクリエーション」を定期的に開催しており、今回はチーム0主催でババ抜きを行いました。
※飲み会時に行いたかったため、予約時にお店に確認をして、了承をいただきました。

ブログを読んでくださっている皆様も、人生で一度はババ抜きをしたことがあるのではないでしょうか?
日本人社員には馴染みのあるカードゲームですが、外国人社員にはあまり馴染みのないゲームでしたので、事前に外国人社員を集めて説明と実践(日本人社員も交えて実践)をしました。

そして今回は普通のババ抜きではなく、某番組のあの人気コーナーのように敗者トーナメントをしよう!とのことで、5つのチームに分かれて1回戦目を実施し、各チームの敗者のみを集めて2回戦目を実施しました。

1回戦目から各チーム盛り上がっておりましたが、2回戦目は各チームの勝者たちも見守りながらの白熱した戦いとなりました 笑

2回戦目でも負け抜いてしまった社員には、飲み会の締めの挨拶をしてもらいました。
ありがとう…!

ババ抜きが初めての社員も何人か居ましたが、終始楽しそうな声が聞こえるレクリエーションとなり、大変喜ばしかったです!

次回のレクリエーションもお楽しみに!

社員紹介

ご覧いただきありがとうございます。
今回で三度目の社員紹介記事を担当する「クロマ」です。
前回の記事はこちら

今回は私が入社したきっかけと、入社後について書かせていただきます。

入社したきっかけ

大学では歴史学を専攻していたため、就活の最初のころは周りを見ても、現実的に考えても、「事務職しかない」と思ってしまっており、事務職中心に就職活動をしていました。

しかし、就活中に文系の友人がIT企業に就職したと知って、ITの仕事に興味を持ち、IT企業の説明会にも積極的に参加するようになりました。
そんな中、大学の別キャンパスでダンデライオンズの企業説明会があり、会社HPを見て気になっていたので行きました。

説明会では、自分たちが作ったものの先に居る「ヒト」を重要視しているというお話がありました。
当時、オーガニック商品の専門店で接客のアルバイトをしており、アルバイトを通して「誰かの役に立てる仕事」に重要性を感じるようになっていました。そのため、ダンデライオンズの理念に強く共感し「是非ここで働かせていただきたい」と思い、応募を決意しました。その後、無事に内定をいただき今に至ります。

入社後について

現在4年目ですが、結論としてダンデライオンズは自分にとても合っている職場でした。

ITの知識がほぼゼロの状態で入社しましたが、新入社員研修で基礎から学び、お客様先でも先輩が真剣に向き合って教えてくれました。
今でも分からないことがあれば、技術面に限らず向き合って教えてくれる人が多く、安心して働けています。
また、社員の皆さんが優しく、職場は笑顔が絶えない雰囲気です。社員が仲が良いこともあり、飲み会も社内イベントも参加しやすいと思っています。
個人的な印象ですが、特にダンデライオンズの飲み会は、世間での会社の飲み会に対するイメージよりもかなりポジティブな場になっていると思います。次の日の予定等なければ毎回参加したい程にです。それくらい、話しやすく明るい職場だと感じています。

二次会の様子

まとめ

入社した頃は不安でいっぱいでしたが、ダンデライオンズは明るく優しくしっかりした方ばかりで、そんな方々に沢山支えられて今の私があると感じています。
私自身はまだまだ未熟で頼りないと感じることの方が多いですが、社員が優しく働きやすいこの職場環境を保ちつつ更により良くしていく一員として、周りに還元していけるよう今後も精進していきます。

今回は以上となります。
次回もお楽しみに。

技術者ブログ:CLIP STUDIO PAINTでアプリアイコン制作

技術者ブログとして日ごろ取り組んでいる学習内容をご紹介します。
インフラをテーマにしている第3ユニットです。

今回は、CLIP STUDIO PAINTという、イラストや漫画制作に特化したソフトウェアを使用し、アプリのアイコンを制作する方法について、ご紹介します。

CLIP STUDIO PAINTについて

CLIP STUDIO PAINTは有料のソフトウェアで、主に3種類あります。
・CLIP STUDIO PAINT EX:イラストやWebデザインだけでなく、漫画制作でも使用したい方向け
・CLIP STUDIO PAINT PRO:イラストやグラフィックアートだけでなく、Webデザインなどでも使用したい方向けで、尚且つ漫画制作は行わない方向け
・CLIP STUDIO PAINT DEBUT:イラストやグラフィックアート制作のみで使用したい方向け

更に詳しく知りたい方は以下をご参照ください
https://www.clipstudio.net/ja/lineup/

私が使用しているものが、CLIP STUDIO PAINT EXの為、今回はCLIP STUDIO PAINT EXに搭載されている機能前提でご紹介します。

アプリアイコン制作方法

今回制作したアイコンは以下です。

具体的な制作手順を紹介していきます。

1.新規キャンバスの立ち上げ
今回はアイコンを作成後、様々なサイズにリサイズして使用するとの事でしたので少し大きめで、比率が1:1となるように用意しました。

2.デザインをする
デザインを制作する上で、以下ツールを使用しました。

① 塗りつぶしツールで背景を塗りつぶす
個人的に土台の色+白色のロゴでデザインをしたいため、背景となる色を塗りつぶしツールでキャンバス全体に色を乗せます。

この塗りつぶしツールですが、キャンバスに何か描かれている場合は、「編集レイヤーのみ参照」や「他レイヤーを参照」などの指定をしないと思い通りに塗れないことがあります。
今回は何も描かれてないキャンバスだったため、この指定は必要なかったので割愛します。

② テキストツールでデザインの土台となる文字を用意
今回はCLIP STUDIO PAINTにデフォルトで用意されてるTA丸ゴシックGF03のフォントを使用しました。

また、外部サイトでダウンロードしたフォントも、[テキスト]の[ツールプロパティ]から[ファイルからフォントを追加]を押して、追加したいフォントファイルを選択するとCLIP STUDIO PAINT内で使用することができます。
※外部サイトからダウンロードする際は商用利用可能なフォントか確認してからダウンロードしてご利用ください。

➂ ②で用意したフォントを土台に手を加える
②で用意したフォントのレイヤーの不透明度を下げ、以下のように手を加えていきます。

④元にしたフォントレイヤーを非表示にする
デザインが完成したら元にしていたフォントを非表示にします。
レイヤー削除をしても良いのですが、デザイン変更・リテイクの際にあると便利なため、非表示にして残すと便利です。

3.保存
このまま保存をしてもCLIP STUDIO PAINT用のファイルとして保存されてしまう為、複製を保存(または別名で保存)で拡張子を変更し、画像として保存をします。

以上となります。

次回の技術者ブログをお楽しみに。

社員紹介(21-2)

ご閲覧いただきありがとうございます。
今回二度目の社員紹介記事を担当いたします。第3ユニット所属のクロマです。
前回の記事はコチラです。

現在の業務内容

前回の記事の時とは異なる案件に参画しております。
現在は車両認証システムの維持の仕事に携わらせていただいております。
業務内容は主に週次と月次に維持作業、飛んできたエラーメールの内容に関する調査・修正、ユーザ様のご要望に沿ったシステムの改修(javaやjspなどを触っております)を行っております。

最近ハマったこと

前回の記事では趣味について紹介致しました。
今回の記事では最近ハマったダイエットについてご紹介させていただこうと思います。
実は入社前の3月から開始していたことなのですが、1年と3か月ほどかけてダイエットをしておりました。

減量時の体重の記録

約15か月かけて約23㎏の減量に成功致しました。単純に23㎏と聞くとハードなダイエットに思えるかもしれませんが、実際は毎月1~2㎏痩せることを繰り返していたため、全くハードではありませんでした。

減量時に行っていた具体的な内容は以下になります。

  • 朝起きたら白湯+難消化性デキストリン(食物繊維サプリ)を飲む
  • 朝ご飯は酢大匙1入れた納豆ご飯(雑穀米)+半熟ゆで卵+バナナ
  • 夜は半熟ゆで卵とホットヨーグルトを取り入れた食事
  • おやつを食べたい時は300kcal以内を意識
  • 消費カロリーが多くなるお昼の時間は並みの量のご飯、朝晩は消費カロリーが減るため少なめの量のご飯
  • タンパク質を意識して食事を選ぶ(プロテインサプリは植物性のものを選んでおります)
  • 筋トレは宅トレ(ダイエットYouTuberさん方の宅トレ動画を見て行っています)
  • なるべく毎日歩く。週末は絶対1万歩以上。
  • 週1回はチートデイを作り、敢えてカロリーを多めに摂る!

「もともとハードな計画では継続ができない性格」「ハードなダイエット内容から起こる体調不良・肌荒れ回避」「伸びきった皮膚がたるむことの回避」これらを考慮し、上記の内容を実行してみたら綺麗に痩せていくことができました。
毎日増えたり減ったりしながらも、毎月きちんと成果が出ていたため楽しくでき、気付いたら1年と3か月で約23㎏も落ちていた次第です。
健康的に痩せていけるダイエットは前向きになれるので、とても楽しいです!

一番体重が多かったころの後ろ姿
23㎏減量した現在の後ろ姿

現在趣味の同人誌の作成の関係で今年の6月頃からダイエットができておらず、体重キープを続けている状態です。(先月は社内の歩くイベントに参加しており歩いておりましたが……)
怒涛の作成期間を抜けたらまたダイエットを再開し、1年程の期間をかけて健康的な減量を行い、最終的には目標体重に到達したいと思っております!

長くなってしまいましたが、今回は以上になります。
次回の社員紹介もお楽しみに!

DRESS&GROOMING -身だしなみ- 2021年度

こんにちは!第三ユニットの「クロマ」です。
今回は、2021年5月26日(水) に参加した弊社の身だしなみ研修についての記事です。

今回の研修も去年に引き続き、Brilliant Impressionの森内様に講師をしていただきました。 森内様、ありがとうございます。
研修は「森内様の座学を受ける→スーツ屋さんで研修参加社員全員のオーダースーツを作っていただく」という流れで行われました。
後日参加社員全員でオーダースーツを受け取りに行きました。

研修内容

【座学】
座学では「正しい身だしなみ」について教えていただきました。初めに「外見の重要性」で自分が与えたい印象について、次に「身だしなみのルール」で男性女性の各身だしなみの特徴と何を着るかを決めるTPOについて学びました。

座学を受ける様子

「男性の身だしなみ」では、男性のスーツの国際的なルールを学び、そのルールを踏まえたうえで「自分の体に合っているスーツのサイズであり、尚且つビジネス面にふさわしいスーツであるかをチェックするポイント」を教えていただきました。研修に参加した男性社員は、この時に着ていたスーツを教えていただいたポイントに沿って各自でチェックし、森内様からアドバイスを頂きました。

「女性の身だしなみ」では、女性の身だしなみ三原則やビジネススタイルの基本を基に、カジュアルダウンの方法について教えていただきました。女性がスーツを着るようになったのは最近であり、女性のビジネス服には国際的なルールがありません。そのため、男性のビジネス服と比べて服装の自由度が高いのに対し、品格を求められるという難しい点がある中、どのようにカジュアルとの境目を判断してカジュアルダウンすれば良いかを教えていただきました。

上記以外に、ビジネス面での靴やカバン、ヘアスタイル、スーツのメンテナンスなどについても教えていただき、大変勉強になりました。

【オーダースーツ】
座学後、KASHIYAMA名古屋栄店様にて研修参加者全員のオーダースーツを作っていただきました。

採寸をしていただき、生地やボタン、スーツの形などを森内様に伺いながら各々決めました。カジュアルになりすぎない範囲でお気に入りの一着にするために、真剣に悩んで決めました。

森内様に相談しながら生地を選んでいます。

Before/After

Before
After

Beforeが自前のスーツを着た写真で、Afterが仕上がったオーダースーツを着た写真です。やはり各々の体のサイズに合わせて作られたオーダースーツは、Beforeの時よりもスマートに見えてビジネスマンらしい印象を与えてくれますね。
裏地や刺繍、スーツの形などそれぞれオリジナリティがあって素敵なスーツに仕上がったと思います。

感想

今回の研修を受けるまで「女性のビジネス服にカジュアルの段階があること」や、「男性のスーツが体に合っている尚且つビジネス面にふさわしいかチェックするポイント」などを知らず、また、教えていただいた内容が興味深いものが多かったので、とても楽しく身だしなみについて学ぶことができました。カジュアルダウンではそれぞれの段階でどのような生地の服を選べば良いのか、どんな服を着れば良いのかなどを細かく教えていただいたので、今後の服装選びの参考にしていきたいと思います。
オーダースーツも、研修で学んだことや森内様のアドバイスのおかげでお気に入りの一着に仕上がり嬉しいです。今後スーツを着る際は積極的にこのスーツを着ようと思います。
再度になりますが森内様、ありがとうございました。

今回の記事は以上になります。
次回以降の記事もお楽しみに!

社員紹介(21)

ご覧いただきありがとうございます。
はじめまして、この度社員紹介を務めさせていただきます。
「クロマ」です。
第3ユニットに所属しています。

肩書

新入社員として2021年4月に入社いたしました。
第3ユニットへは7月から所属しています。

経歴

名古屋の文系の大学を卒業しました。
入社まではプログラミング経験が一切ない初心者でした。
就職活動を通して「ITの仕事は理系の人だけじゃない」ことや、「お客様の需要を聞き取ってその需要に沿ったものを製造したり、維持運用を行ったりする仕事」ということを知り、IT業界に興味を持ちました。

現在の業務

OJT研修中です。先輩に仕事を教えていただきながら、栄のオフィス内で、客先のシステム開発をテレワークで行っています。
テレワークでは、現在仕様書の作成を行っています。最初は既存の仕様書や先輩が書いた仕様書を読んでいても、書いてある内容がなかなか理解できず大変でした。客先の用語集や資料を読んで勉強したり、先輩に教えていただいたりしたおかげで、大分理解できるようになりました。

自己PR

趣味は絵や漫画を描くことです。
小学生の頃から絵を描き始め、高校の頃から紙の原稿用紙に漫画を描くようになりました。
大学生の時にタブレットPCを購入し、Clip Studio Paint EXというソフトを使用して絵を描いたり、同人誌の作成を行うようになりました。
紙の原稿用紙にペン入れやトーン貼りをして漫画を描いていた頃と比べて、Clip Studioではかなり手軽に漫画の作成ができるようになったのでとても嬉しいです。

Clip Studio Paint EX で同人誌の原稿用紙を新規作成した画面

最近は同人誌の作成ができていなかったので、そろそろまた再開したいと思っています。

そして漫画以外にもう一つ、Instagramで見つけたカフェへ友達と行くことにちょっとハマっています。どこのカフェもオシャレで、料理も美味しくて最高です!
写真は今までに行ったカフェの美味しかったご飯です。

名古屋駅周辺のカフェで食べたサーモンのポキ丼(左)、ナゴヤドーム周辺のカフェで食べたバターチキンカレー(右)

今回は以上になります。
次回の社員紹介もお楽しみに!