遺伝子検査で自分の特性や先祖を調べて新たな発見をしてみよう!

皆さんは遺伝子レベルの自身の特性やご先祖などがどんな人か気になったことはありますか?私はそこまで興味なかったのですが、1度くらいは見てみたいと考えてました。 そこでGeneLifeという検査キットを目にしました。値段は1万5千円ですが、今はクリスマスセール(2023/12/21まで)をやってるみたいで20%オフになってるみたいです。私が注文した時はやってなかった… また「Haplo3.0」か「Genesis2.0 Plus」を注文すると1万円オフで「Myself2.0」かもう片方を追加で検査することもできるみたいです。 注文するとこのような形で届きます。 この検査では唾液を検査キットに入れて郵送します。結果がでるのは1ヵ月後になるので私は1月くらいになるかと思うので来年が楽しみですね!検査キットはこんな感じ また15万で6500項目以上の解析をできる検査キットもあります。検査できるだけじゃなく提携している医療従事者の援助を受けることもできます。いつかここまでやってみたいですね ちなみに遺伝子の研究結果が変わることがありますが、随時反映されるみたいで、一度検査を受ければ最新の遺伝子研究結果が反映されるみたいです。 数世代のご先祖だったら調べれば出るかもですが、大陸間の先祖や本来の自身の特徴、環境によって変わった性格などもわかりそうなのでもし興味があれば是非是非

2023年12月8日

GASを使って勤怠管理の提出を忘れないようにしたい!

皆さんは日々の作業の中で提出物などはありますか? 私は月の初めの第1営業日、月の終わりから5営業日前、最終営業日に勤怠の提出があります。忘れがちな私はよく上司から提出していないと言われ、言う側も言われる側もストレスだと思い、Slackに通知が来るようなプログラムを組むことにしました。 連携で使用したアプリは以下の2つになります。 GAS(Google Apps Script) Slack やることは以下の順でやっていきます。 Slackに通知するためのアプリ作成 アプリの作成 通知の設定 ワークスペースへのインストールとURL作成 GASにコードを書いて日時実行の設定を行う コードの作成 実行トリガーの作成 アプリの作成 1つ目ですがまずはSlackのアプリ作成から始めます。こちらからアプリ作成ができます。リンク先に飛んだ後、赤枠の「Create New App」をクリックします。 この画面が出たら赤枠の「From scratch」をクリックします。 この画面が出たらアプリの名前と使用するワークスペースを設定します。仕事で使ってる人はワークスペースが所属している会社名になったりすると思います。設定が完了したら「Create App」をクリックします。 通知の設定 この画面になりますので「OAuth & Permissions」をクリックして、通知の設定をします。 次に、Scopesでアプリに与える権限の設定を行います。「Add an OAuth Scope」をクリックし、「incoming-webhook」を選択します。今回は特定のチャンネル(自身のみ)通知を送る設定なのでこちらを選択します。 ワークスペースへのインストールとURL作成 同じタブで下の方にスクロールするとこの画面が出ますので「install to Workspace」をクリックします。 次に、権限が求められますので投稿先を自身のチャンネルに設定して、「許可する」をクリックします。もし、他の人にも通知をしたい場合は、そのチャンネルに設定してください。 これで通知に必要なURLを設定することができましたので、次はコードの作成に移ります。 コードの作成 2つめのGASに関してはこちらを参考にして作り、コードのきれいさを保つため、Chat-GPTに頼みました。1つ目の設定が終わったらwebhook URLをコード内に貼り付けます。 もし、会社で特定の日が休日であればそこも考慮することができます。私は年末年始辺りの日付を入れてます。“specialHolidays"という変数に日付を入れていただけるとできます。 // Slackに特定の日の通知を送る関数 function documentAlert() { const today = new Date(); // const today = new Date("2023/12/22"); // テスト用: const monthEnd5Date = getLastDateOfMonth(today); const monthEnd1Date = getLastDateOfMonth(today); const monthStartDate = new Date(today.getFullYear(), today.getMonth(), 1); sendNotificationIfDue(today, monthEnd5Date, -5, today+"、5営業日前になりました。見込み版勤怠の提出をお願いします。"); sendNotificationIfDue(today, monthEnd1Date, -1, today+"、最終営業日になりました。確定版勤怠の提出をお願いします。"); sendNotificationIfDue(today, monthStartDate, 1, today+"、第一営業日になりました。自社勤怠と交通費精算の提出をお願いします。"); } // 営業日計算関数 function dayCount(date, offsetDays) { let counter = 1; while (counter <= Math.abs(offsetDays)) { if (!isHoliday_(date)) counter++; if (counter > Math.abs(offsetDays)) break; date.setDate(date.getDate() + Math.sign(offsetDays)); } return date; } // Slackに通知を送る関数 function slackSend(message) { const webhookUrl = "ワークスペースのWebhook URL"; const payload = { "text": message }; const options = { "method": "post", "muteHttpExceptions": true, "contentType": "application/json", "payload": JSON.stringify(payload) }; UrlFetchApp.fetch(webhookUrl, options); } // 休日か否かを判定する関数 function isHoliday_(date) { if (isWeekend(date) || isHolidayEvent(date) || isSpecialHoliday(date)) { return true; } return false; } // 土日判定 function isWeekend(date) { const dayOfWeek = date.getDay(); return dayOfWeek === 0 || dayOfWeek === 6; } // 祝日イベント判定 function isHolidayEvent(date) { const calendarId = "ja.japanese#holiday@group.v.calendar.google.com"; const events = CalendarApp.getCalendarById(calendarId).getEventsForDay(date); return events.length > 0; } // 特定の休日判定 function isSpecialHoliday(date) { const specialHolidays = ["0101", "0102", "0103", "1229", "1230", "1231"]; const formattedDate = Utilities.formatDate(date, "JST", "MMdd"); return specialHolidays.includes(formattedDate); } // 月末最終日を取得する関数 function getLastDateOfMonth(date) { return new Date(date.getFullYear(), date.getMonth() + 1, 0); } // 特定の日に通知を送るためのヘルパー関数 function sendNotificationIfDue(today, baseDate, offsetDays, message) { const targetDate = dayCount(baseDate, offsetDays); if (isSameDay(today, targetDate)) { slackSend(message); } } // 二つの日付が同じ日か判定する関数 function isSameDay(date1, date2) { return date1.getDate() === date2.getDate(); } 実行トリガーの作成 ...

2023年12月3日

キャリア・アンカーという仕事をするタイプを診断してみたよ

仕事についてタイプ別で分けることができるキャリア・アンカーという診断がありましたのでやってみました! 診断はこちらからできます。 以下の8項目で分けられるみたいです 技術・職能 (TF: Technical / Functional Competence) 管理能力 (GM: General Managerial Competence) 自律・独立 (AU: Autonomy / Independence) 保障・安定 (SE: Security / Stability) 起業家的創造性 (EC: Entrepreneurial Creativity) 奉仕・社会貢献 (SV: Service / Dedication to a Course) 純粋な挑戦 (CH: Pure Challenge) ライフスタイル (LS: Lifestyle) 私は3の自立・独立になりました。診断だけだと1つしかわからないみたいですが、本来はメインタイプとサブタイプのような複数構成になるみたいです。詳しくは「キャリア・アンカー―自分のほんとうの価値を発見しよう (Career Anchors and Career Survival)」を読んでみてください。 3の私は自立して自由に仕事をすることが良いみたいです。フリーランスもよさそうですが、会社に所属するなら裁量権が大きく任されやすい環境でも問題ないみたいです。フリーランスに1度挑戦してみようかな… 他の項目は各URLから飛んでいただくと詳しくわかるかと思いますが、ざっくり以下の感じです。 特定の分野で専門性を発揮できること(研究者等) 出世して管理者や経営者として引き継ぐこと 省略 ローリスク・ローリターンな環境(公務員、セキュリティ関係等) 起業や再建、新しい創造を好む(起業家、発明家等) 誰かを助けたり、人の役に立つこと(医療、看護、教育等) 困難や難題に立ち向かうこと(スポーツ選手?、新規事業) 仕事と家庭を両立させること(必ずしも5:5ではなく、6:4など人による) どんな人材が欲しいのか?あるいはどうやったらこの人の才能を活かせるかにはとてもいい指針になりそうな診断だなと思いました。サブまでわかれば自身の仕事のやり方をより細かく把握できそうなので、年末年始辺りで読んでみようと思います。 ぜひ、試してみてください!

2023年11月29日

GPTsを使って1からGCPを触ってみたよ

昨今OpenAIのCEOが退任したり、復帰したりと騒がせている状況ですが、私はGPTsをうまく使えないか模索していたりします。 そんな中でGPTsを使ってGCPの構築を手伝ってもらいました。まずはGPTsの設定ですね GPTsの設定は簡単でした。「Create a GPT」からオリジナルのGPTを作り、ガイドに従ってどのようなGPTを作りたいのか指示を出します。Configureは無視していいです。ファイルについては業界特有の知識などが必要であれば添付するといいかと思いますが、今回は使いません。 私の場合は、GCPの使い方を知りたかっただけですので特にファイルの添付なども不要です。その後は解答の仕方を聞かれたり、アイコンの見た目やGPTの名前を決めて完了になります。 作った後は簡単でひたすら作ったGPTに質問をします。BigQueryとFirestoreの違いは何か?とかcsvファイルのインポートの仕方はどうしたらいいか?とかLokker StudioとBigQueryを連携してレポートを出す方法を教えて等です。 以下は国のデータから人口動態のcsvファイルを取ってきてインポートしたデータになります。それをグラフで可視化してみました。 このようにGPTsを作って質問すれば、簡単にGCPの構築もできますし、試したいことも出てくると思います。IT系であれば特化したGPTは作りやすいですし、専門的な知識をファイルかURLで与えれば専門分野に特化したGCPもできると思います。また、他人が作成したGCPを使うこともできますので興味があれば調べて触ってみるのもいいと思います。では、よい生成AIライフを~

2023年11月24日

副業でGCPの案件をやりそうなので勉強中です

最近、友人から副業をやらないかというお誘いがありました。とはいえAWSを使ったことはありますが、GCPを使ったことがないのでとりあえず触ってみてほしいとのことでした。 触ってほしいのは以下の3つ firestore BigQuery Looker Studio Firestoreの役目としてはスキーマレスで動的なデータ構造に対応、スケーラビリティに優れ、リアルタイムのデータ処理に適しています。 BigQueryの役目としては複雑なデータ構造に対応、大規模かつ高速処理に特化し、大量で複雑な分析に向いています。 Looker StudioはBIツールとして使われ、BigQuery内のデータを可視化でき、ダッシュボードを作成し、ユーザーに理解しやすい形で表示できるツールになります。 ちなみにBigQueryにはデフォルトでオープンデータがあるのでデータ収集やインポートの必要はなさそうです。実務作業ではインポートの必要性もありそうですが、今は使えるようになるのが目標なのでこれで十分だと思います。 BigQueryでクエリを作成し、作られたデータをLooker Studioで表示するまではできそうなのですが、Firestoreのリアルタイムでデータは株や道路情報などがありますが、扱うのはもう少し先になりそうです。 副業案件までどこまで触れるかわかりませんが、自身のできることを増やし、その中で得意なこと、掛け合わせたもので専門性を高めて、来たるAI&1億人未満の日本社会に備えられたらなーとは思います。

2023年11月19日

Mirrativeという配信アプリでちぇいんくろにくるローグをやってます

私は最近Mirattiveというアプリ内でリリースされたちぇいんくろにくるローグというゲームをやり始めました こちらのゲームはチェインクロニクル(以後チェンクロ)というアプリが元になっています。チェンクロはシナリオがメインのタワーディフェンス型のゲームになってます 戦闘システムはそのままでシナリオがなしのゲームになっており、ひたすら戦闘をするゲームとなってます。なので周回を前提としたゲームとなっています。スコアランキングもあるので相当の周回量が必要になりそうです… ただ戦闘自体は個人的には面白く、一度やってみるのもいいかなと思います。状態異常をかけたり、敵の攻撃を誘って攻撃を避けたり、ランダムイベントでバフやデバフがかかったり運要素もあって楽しいです また、今と昔のチェンクロは先頭スタイルが変わったりしているので、昔の戦闘を楽しめるのもいいです。ただ、オートで戦闘する機能や倍速機能などはないのでそこに関してはストレスを感じますね アプリ版との異なる点は3点あります。 配信をした方が得 ガチャシステムが通常のソシャゲと異なる キャラと武器が同じガチャに入っている 1については配信アプリというだけあって配信をした方が得をします。配信をすると他人の強力な助っ人を借りられます。また、スタミナが無限になりずっと遊び続けることができるようになります 2についてはガチャをしたい場合は、人の配信を見に行く必要があります。その後、ガチャ券を配る必要があります。配信した人がガチャを引くことで自身も引いたことになります。ガチャは配布した時点で引くことになりますので、貯めることはできません。 3についてはそのままですが、ガチャではキャラと武器が一緒に排出されます。キャラはランクに応じてレベルが決まりますが、武器は凸するほどレベルは上がるので火力を上げやすいですが、お金や強化素材がカツカツになりやすいです。 多少の違いはあれど昔のチェンクロができるので興味があればぜひプレイして配信にも挑戦してみてください!

2023年11月12日

parquetファイルの中身はVSCODEの拡張機能 Data Wranglerで見れる!

parquetファイルについて parquetファイルは非常に優秀なファイルだと思います。 pythonでデータを扱う場合、小規模のデータであればcsvファイルが使われがちですが、私の現場ではparquetファイルが使われています。 parquetのメリット メリットとしては データが圧縮されるため、ストレージの節約になる ファイルを読み込む際、型の指定をしなくても自動で読み込んでくれる データを列で読み込むと高速で読み込める parquetのデメリット デメリットとしては ファイルを手軽に扱えない(テキストファイルで開いたり、書き換えたり) 個人的にはこのように感じています。 Data Wranglerについて これがData Wrangler(ラングラー)を使えば手軽に見ることができます!ただし、書き換えたりはできないですが…。 しかも導入手順も簡単! 拡張機能からData Wranglerをインストール 対象のファイルを右クリック > Opne in Data Wranglerをクリック pythonやjupyter notebookのカーネルに接続する 必要なライブラリが足らなければインストールを行う こうすることで以下のような画面でparquetファイルの中身を見ることができます!(画面黒いと目にいいよね) csvファイルも同じように見れます ちなみに上記のデータはスクレイピングで取ってきた求人情報になります(スクレイピングプログラムはChat-GPTに頼みました)。一応利用規約見てスクレイピングに関する規約はなかったので大丈夫かと思いますが、もしやる際は連続アクセスにならないよう2,3秒時間を空けることを勧めます。 データ操作について 上のカラム名の場所に欠損の数やユニークな値の数、数値であればヒストグラムの分布などが描かれたりします また左の操作でカラムの操作や欠損値埋め、文字列変換、グループ化など簡単なデータ変換であればこちらで操作できるうえに、コード化ファイルを出力することもできます! おおまかにデータを見ながら加工をし、そのプログラムを作ってくれる素晴らしい機能をMicrosoftが提供していますのでぜひ活用していきたいですね!

2023年11月7日

1ヵ月前に始めたStone Story RPGというゲームについて

今回は雑談ということでStone Story RPGというゲームについてです Stone Story RPGというゲームがsteamでリリースされました もともとスマホでプレイできたのですが、正式版が発表されました こちらのコンセプトとしてプログラムで自動化することができるゲームとなっています とはいえ、ある程度進めないとプログラムでの自動化はできないのですが… このゲームでは自動的に右に進み、武器を持ち敵がいれば攻撃、アイテムがあれば拾うなどの行動をしてボスを倒し、ゴールを目指します 私も一旦ラスボスを倒し、プログラムを書くける段階まで来ました 普段pythonでプログラムを書いているのでそこまで難しくないかと思ってたのですが、解読がめんどい… ちなみに公式のリファレンスもあります、steamやサイトを探せば有志の人が書いてるものもあります それでも面倒になって書いてないのですが… 自動化することのメリットは以下のようになってます レベルが上がることで体力が上がる(HP:80まで) レベルが上がることで宝箱所持数が増える(400個まで) ロストアイテムの研究開発を進める レベル上げについては自動化しなくても、強い武器を装備して放置すれば問題ないし、研究開発も一度やれば問題ないのであまりメリットがないような気もしてます また、オフラインで放置もできて宝箱集めだけならそっちでも十分という状況です 自動化といえる部分はキャラクターの制御のみで宝箱の開放までは自動化できないのでオフライン放置だろうと自動化の放置だろうとmax個まで貯まったら手動で空けないといけません こうなるとリファレンスをみて自動化をするメリットはなんだろう?と感じています とはいえ、やってることは新しいことなのでアイデアとして何か使えそうな気もしますし、うまいこと使えばノーダメでボス撃破もできると思います まだ、自動化も使いこなせてないですし、ロストアイテムの強化、エンチャントの強化、エリアの全制覇までできてないのでここまでできたらひと段落でいいかなと考えてます 最近やった変わったゲームになりますが、興味がありましたら是非是非

2023年11月6日

E資格の試験勉強を再開し始めました!

私は4月頃にE資格の勉強を始めました。 受験の日付は8月の中旬で受験をするための資格取得期限が7月中旬でした 資格の取得は無事取得できたのですが、残り1か月の期間で合格できる気がしなく2024年2月初旬に受けることを決めました。 で、残り3か月になったのでそろそろ勉強を始めないと頭の悪い私は合格できる気がしないので勉強を再開したという経緯になります。 そもそもE資格とは何ぞやということですが、簡潔に言えば「深層学習の理論を理解し、実装能力や知識を有する認定資格」というものになります。 なのでこの資格を取れば深層学習に関する知識を持ち、プログラムの実装もできるはず… ですが、実際にプログラムの実装をしない人が多いような気もしています。kaggleなどで同時に進めていくとより理解は深まりそうな気もしていますが、そこまでする人もいなさそうです(私含め) 資格はあくまで資格でその先の何をしたいのかが重要なので、転職だったりkaggleで試してみるなど覚えたスキルを活用できる場所を見つけるのが大切ですよね そんなわけでkaggleを触ってみつつ、勉強を進めていきたいなと思うこのころです

2023年10月30日

今更Chat-GPTの有料版に課金してプラグインで遊んでます

最近chat-gptに課金してプラグインで遊ぶことを覚えました(笑) chat-gptがリリースされてもうすぐ1年経とうとしていますが、AIの発展はすごいですね プラグインも1000個近くあるみたいで、全てを把握するのは難しそうですね いずれChromeの拡張機能のように悪意のあるプラグインができたりしそうですが… それはさておき私は以下のプラグインを入れて遊んでます 1.Scraper 2.WebPilot 3.Scholer AI 4.SEO 1はスクレイピングをするときに使ってます。URLに載ってる欲しい情報を書き、そのコードを書いてもらい、後でcolabで実行しています エラーが出ても修正するようお願いしたら修正してもらえるので楽ですね、下の画像のように出してもらってます Chat-gptは2021年の9月ぐらいの情報しかないのですが2を使えば最新の情報も取得できますので、調べ物があるときにはお勧めです。簡単な情報ならChromeでもいいですが、日本であまり流行ってないゲームや海外の情報であれば日本語訳もしてくれます 3はScholoerという論文を掲載しているサイトで載ってる論文を探してくれます。とはいえあまり使いこなせてないのですが… 4はサイトのSEO対策について教えてくれます。これを見て参考になることがあるかと思いますが、私の場合はoutput優先なのであまり使いこなせないかも… こんな感じでプラグインを使いこなすと面白いかと思います。他にも株に関する情報だったり地震やゲーム、経済などももわかりますので是非興味があれば触ってみるといいと思います プログラマーならAPIを使ってプログラムを書いたり、プラグインを作る側にまわったほうがいいんでしょうが、APIを使った開発をやったことがないのでいずれやってみたいですね

2023年10月29日