- 1. 特定のLambdaを指定した時刻に実行する(Node.js)
- 2. 個人開発で会計アプリを再度開発しました!
- 3. Prismaを使った型安全なデータベース操作
- 4. markdownで予定管理できる markwhenを使ってみた
- 5. [Javascript入門した]package.jsonの要素について
- 6. 【募集】看護師を支援する技術共有プラットフォームの開発協力者募集
- 7. 【個人開発】初めて個人でWebアプリ(レシピ管理アプリ)を作ってみた
- 8. NodeJS入門
- 9. TypeScriptでパスエイリアス”@types”を定義してはいけない理由
- 10. TypeScriptの実行環境をDockerで作る
- 11. Google Spreadsheet APIを用いたNode.jsでのスプレッドシート操作
- 12. 【初心者】Node.js(Express)でHTMLを読み込もうとしたらCSSを拒否された件について
- 13. PostGISからベクトルタイルを作成する
- 14. ユーザー新規登録処理を書いてみた(zod , node.js , mysql ) [備忘録]
- 15. New Relic の Synthetic Monitoring (Scripted API) を使って RSS の情報を収集
- 16. 何もしていないのに CI が壊れた
- 17. WSL2でAWSを使うための環境構築(Node/Python)
- 18. (Node.js) winstonモジュール、winston-daily-rotate-fileモジュールを理解する
- 19. Node.js ハンズオン 1 〜 3章まとめ
- 20. 10月なので言語のサ終を確認しましょう
特定のLambdaを指定した時刻に実行する(Node.js)
Lambdaで、自分自身を1分後に呼び出せるようにしてみました。
## 要約
– EventBridge Schedulerを使用
– 2種類のロールを用意する必要がある
1. 実行ロール
1. EventBridgeのスケジュールに付与するロール
– 作成しようとしているスケジュールと同名のスケジュールがあるとエラーになるので、先に削除が必要## IAMロールの用意
### 1. 実行ロール
Lambdaで実行する場合、Lambdaの実行ロールに下記を含める
“`json
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “Statement1”,
“Effect”: “Allow”,
“Action”: [
“scheduler:CreateSchedule”,
“scheduler:DeleteSchedule”,
個人開発で会計アプリを再度開発しました!
## 各種リンク
アプリケーション
https://accounting-app-six.vercel.app/loginGithub
https://github.com/nobu0605/accounting-app## 開発した理由
自分はエンジニアになる前に3年半バックオフィスの仕事をしていました。
今でも会計に興味があるので、今回開発しました。4年前にも同様のアプリを開発しました。現在は動いていなく、今回新規で改めて開発しました。
https://qiita.com/nobu0605/items/14320342f66bc718e2a5## 機能
・収益と費用
![画像の説明](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vav0qjyv7voemgivi64s.png)・仕訳入力
![画像の説明](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/36g75qec7wxb58qtij49.png)・財務レポート
![画
Prismaを使った型安全なデータベース操作
## Prismaとは?
Node.jsやTypeScriptを使用したアプリケーション開発で、データベースとのやり取りを簡素化し、型安全なデータベース操作を実現するためのORMです。ざっくり分かりやすく言うと、SQLを書かなくてもデータベースとやり取りがでできるツールになります。Node.js自体には、リレーショナルデータベースに対して直接アクセスするための標準的なライブラリや統一されたインターフェースが存在しないので、データベースとの通信はNode.jsで一貫した方法で行うわけではなく、各データベースごとに異なる方法を使う必要があります。
そこでORMを使うことで、データベース操作を統一的に行えるようになり、異なるデータベースに対しても同じコードやメソッドで操作ができるようになります。
## 基本的な使い方
Todoアプリを前提として、Prismaの基本的な使い方を説明します。
### 1. Prismaスキーマの作成
Prismaスキーマは、データベースモデル、データソース、Prisma Clientの設定などを定義するファイルです。これをもとに、Prismaはデータ
markdownで予定管理できる markwhenを使ってみた
# 使ってみるに至った理由
markdownでタイムラインやカレンダーなどのスケジュール管理ができるということで面白そうだと思った🤔
markdownで書けるので、Github管理もできるし良さげかも❓️# markwhen is 何❓️
[Markwhen](https://markwhen.com/) はテキストをタイムラインに変換するツールです。
マークダウン風のテキストを書くと、見栄えの良いタイムラインやその他のビジュアライズが可能です。
👇️この方のポストで見つけました。 @miyattiさん、ありがとうございます!cursorで予定管理とかできないかなーと思ってたら「markwhen」という面白いプロジェクトを発見した。https://t.co/okvXj8uZxy markdown的な書き方でスケジュールをかくと、ガントやカレンダービューで表示してくれる。これに、clasp+G
[Javascript入門した]package.jsonの要素について
## このページについて
普段はデータエンジニアとして、python, SQLを主に使用しているが、業務でフロントやバックエンドを作ることになりそうなため、これまで手付かずだったJSを学習する.あくまで自習の備忘録として書く.
人に見てもらうことを想定していない為、体系的な解説でもなく、中身も端折っているので悪しからず.※但し数ヶ月後の自分はもはや他人なので、その時の自分が読んでもわかるように書く.
## package.jsonとは
Node.jsやjavascriptプロジェクトの設定ファイルのこと.
依存関係やスクリプトなどを管理するために使われる.
これがあることで、プロジェクトの構成を把握でき、他の開発者もプロジェクトのセットアップが簡単にできる.## 構成要素
“`package.json
{
“name”: “node_js”,
“version”: “1.0.0”,
“main”: “index.js”,
“scripts”: {
“test”: “echo \”Error: no test specified\” && exi
【募集】看護師を支援する技術共有プラットフォームの開発協力者募集
## コロナ禍で疲弊した元看護師が0から学習して挑戦。。
私は元々、コロナ禍のICUで看護師をしておりまして、医療崩壊の現場を経験しました。おそらく、今はもうコロナは落ち着いて皆さんは普段通りの生活に戻っているとは思いますが、
急性期病院では、コロナ禍で疲弊した看護師の離職に対して今でも看護師の数が戻っておらず
変わらず疲弊した状態で働いている状態です。私もその一人で、コロナ禍のICUで休憩なしで20時間働いた経験がなん度もあるほどでして
体調を崩し戦線を離脱しました。体調を戻すための休暇として現在休んでいるのですが、
以前から興味があって独学で学んでいたコンピュータサイエンスの学習を再開し
何か医療現場のために作れたらなあ、と思い考え
思いついたものを開発しようとしているところです。しかし、実務未経験であることやまだセキュリティやインフラ関係の知識に疎いので
一人ではすごく時間がかかると思い、ダメもとで募集をかけてみようと思った次第です笑## 一緒に開発してくれる人を募集しています
**看護師を支援する技術共有プラットフォーム**を開発しようと考えています
【個人開発】初めて個人でWebアプリ(レシピ管理アプリ)を作ってみた
## はじめに
半年間をかけて頑張って開発したレシピ管理アプリについて、備忘として記載します。
このレシピ管理アプリは、料理好きの方向けに開発したWebアプリケーションで、現在はローカル環境でのみ動作する形で作成されています。![ログイン.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3762672/a8556b0f-381e-81d3-b0fb-78f2bfbdd98f.gif)
## 1. 作ったツールの概要
### アプリの目的
– このレシピ管理アプリは、料理を愛する方々が個人の料理レシピを簡単に管理し、より多くの料理を作りたくなるような意欲やわくわく感を提供することを目的としています。ユーザーは自分の好みに合わせたレシピを記録・管理し、いつでもオリジナルの味を再現できるようにします。### ターゲット
– 料理愛好家、家庭料理を楽しむ方、またはレシピをカスタマイズして管理したい方をターゲットにしています。年齢や性別を問わず、幅広い世代に向けたアプリです。### 背景
–
NodeJS入門
CodeMafiaさんの[Node.jsで学ぶWebシステムとソフトウェア開発基礎!Node.js完全入門ガイド
](https://www.udemy.com/share/107wK13@N109UUsvhAl6dCxmbJ97kKtUPbPi0Wiw8b5c6tJaCjC-FJsBn1dAE_3w2qTYptqM/)に入門したので忘れそーと思ったことなどを備忘録としてまとめました。
若干自分の言葉に変換してたり解釈が誤ってる可能性もあります。また、それは知ってるわーてことなんかは端折ったりもしていますので、前提がなくて分からないとか、そもそも信用ならないという方はぜひ受講をおすすめします。
CodeMafiaさんの講義は色々購入させていただいているのですがどの講義も他の方だとさらっと飛ばされるような所に一歩踏み込んで裏側の仕組みまで説明してくださる場面が多いのでめっちゃ面白くておすすめです。
[こちらCodeMafiaさんの他の講義](https://www.udemy.com/courses/search/?src=ukw&q=CodeMafia)
# Java
TypeScriptでパスエイリアス”@types”を定義してはいけない理由
# 問題:”@types”を定義するとインポートエラーが発生する
型定義ファイルをまとめて格納するための、typesディレクトリがあったとします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3840466/b6b64af5-6f40-cb17-b8ed-9c6f38fe01b3.png)
呼び出すたびにパスを直接指定するのは、保守の観点から望ましくないため、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3840466/01d17e7a-2ba0-1e8d-79a9-42b85433be4a.png)
tsconfig.jsonへパスエイリアスを追加したとします。
“`tsx
import { Article } from ‘@types/article’;
“`インポートを行うと
“`
型宣言ファイルをインポートできません。’@types/article’
TypeScriptの実行環境をDockerで作る
## はじめに
Typescriptの勉強を始めたので、まずは実行環境を作りました。
nodejsの環境を作るだけですが、どなたかの参考になれば幸いです。
## やりたいこと
Typescriptの実行環境を作りたい
## 方法
Dockerfileでコンテナを起動## Dockerfileの中身
NODE_VERでバージョン指定できます“`
ARG NODE_VER=20.10.0
FROM node:${NODE_VER}WORKDIR /usr/src/app
# コンテナ内で必要パッケージを追加
RUN npm install -g typescript ts-node ts-node-dev“`
## docker-compose.ymlの中身
“`
ARG NODE_VER=20.10.0
FROM node:${NODE_VER}WORKDIR /usr/src/app
# コンテナ内で必要パッケージを追加
RUN npm install -g typescript ts-node ts-node-dev
“`
Google Spreadsheet APIを用いたNode.jsでのスプレッドシート操作
## 概要
この記事では、Google Spreadsheet APIを使ってNode.jsアプリケーションからスプレッドシートを操作する方法を解説します。具体的には、Googleのサービスアカウントを使用してスプレッドシートにデータを **書き込み**、特定のセルの値を **読み取る** という操作を行います。さらに、CLIからキーワードを入力し、スプレッドシート内のデータと比較・検索する処理を実装します。
## 期待した結果
A列2行目以降にハロースプレッドシートと書き込まれる
B列2行目以降に書かれている任意のテキストを検索して表示される| Message | searchKeyword |
|:-:|:-:|
| ハロースプレッドシート |任意のテキスト |
| | |## 依存パッケージのインストール
## 事前準備
### 1. Google Cloudでサービスアカウントの作成
1. Google Cloud Console にログインし、プロジェクトを作成します。
2. **APIとサービス > 認証情報** から「サービスアカウント」を
【初心者】Node.js(Express)でHTMLを読み込もうとしたらCSSを拒否された件について
こんにちは。
最近になってNode.jsの勉強を始めたのですが、開幕早々躓いた点がありましたので備忘録として残しておきます。
ちなみに私はNode.jsのことを少し前までJavaScriptのライブラリの一種みたいに考えていた人間です……。
(だって……「~.js」みたいな表記してるから!)
もし何か間違っている箇所などありましたらご教授頂けますとありがたいです。▼今回導入や実行に辺り参考にさせて頂いた記事です。ありがとうございます。
https://qiita.com/ryome/items/16659012ed8aa0aa1fac
***
さて、Node.js、Expressを導入してローカルサーバーを立ち上げる所までは順調に進んでおりました。
(Hello World!を表示させる定番のアレですね)
そして自分が制作していたWebページを表示させてみようと思い、
先程の記事を参考にHTMLを読み込ませる記述を書いてみました。
“`Node.js
// 静的ファイルの提供とキャッシュの有効化
app.use(express.static(‘/’, { maxAge: 8
PostGISからベクトルタイルを作成する
# はじめに
[こちらの記事](https://qiita.com/k96mz/items/fdb410af634d91ee44d2)でPostGISデータベースを作成しました。今回は、作成したPostGISデータベースからデータを抽出し、ベクトルタイルを作成するところまでをやってみたいと思います。
[こちらの記事](https://qiita.com/T-ubu/items/146a86558281abac8b2e)を参考にさせていただきながら、本記事を記載します。node.jsのコードの書き方で推奨される記載方法に変化があるため、参考記事の書き方と、それを改良したコードの両方を書いていきたいと思います。
使用したレポジトリは以下です。
https://github.com/k96mz/20240917Postgis2vector## 環境
macOS Sequoia 15.0(チップ:Apple M3)
zsh 5.9
PostgreSQL 16.4
PostGIS 3.4.2
node.js v20.15.1
npm 10.7.0# レポジトリの準備
レポジトリを作成
ユーザー新規登録処理を書いてみた(zod , node.js , mysql ) [備忘録]
## zod でのvalidation check
[前提]
next.jsでツイッターlikeなmusicpostアプリケーションを作成している。
今回tsでログインフォーム、新規登録フォームの処理を書いている。
色々苦労したのでまとめる。
tsのライブラリーであるzod , dbはmysqlを用いてユーザーの入力のチェック、新規登録を行う。mysqlの操作を少しでも覚えたいのでORMなどは使わない。
先に、完成版
以下からコードについて詳しくみていく。“`typescript
import { NextRequest } from “next/server”;
import { NextResponse } from “next/server”;
import { formSchema } from ‘../../../validations/schema’;
import { ZodError } from “zod”;
import bcrypt from ‘bcrypt’;
import { db } from ‘../../../lib/db’;e
New Relic の Synthetic Monitoring (Scripted API) を使って RSS の情報を収集
New Relic の Synthetic Monitoring の一つであるScripted APIを使用して RSS で公開されている情報を New Relic に収集する方法を紹介します。利用している SaaS の障害情報を New Relic にまとめておくことができるので増え続ける SaaS の業務アプリの状態をまとめて管理するといった活用方法が考えられます。
# 今回のポイント
この記事で紹介しているポイントは、次の2つです。
1. **Scripted API の使い方がわかる**
スクリプトの作成方法や参考になるサンプルの情報を紹介します。
2. **実行したスクリプトの結果を New Relic に保存する方法がわかる**
スクリプトの実行結果を New Relic のデータベースに保存して、NRQL でそのデータを確認する方法を紹介します。
:::note info
最新のアップデートの詳細はこちら
[New Relic アップデート一覧
](https://newrelic.com/jp/blog/nerdlog/new-relic-update “Ne
何もしていないのに CI が壊れた
ある日、Dependabot が作成したライブラリアップデートの PR がコケていました。
コケていたのは VRT (Visual Regression Test) 、そしてその時私は別のプロジェクトを触っていました。「まあライブラリのアップデートで見た目が崩れる事もあるよね、見た目となるとサクッと修正出来ない可能性が高いし一旦置いておくか。」
としばらく放置していました。
数か月後
CI がコケていたプロジェクトを触る機会がやってきました。「そういえば、CI コケていたんだったなー、原因はなんだろな・・・ん??見た目が変わったことでコケているわけではないぞ、、、しかもローカルだと通るんだけど!??」
何もしていないのに GitHub Actions の CI が壊れた!
—
この記事で扱っている CI がコケた理由は私が扱っている環境等に依存するものでおそらくあまり遭遇しない物だと思います・・・つまり完全に誰得記事となっております。
なのでこの記事では問題の調査方法に焦点を当てて書いてみようと思います。
原因と解決方法だけ知りたい人(そんな人いない気がするけど)
WSL2でAWSを使うための環境構築(Node/Python)
## 目次
– VSCodeのインストール
– WSL2(Ubuntu)の構築
– node.js環境構築
– python環境構築
– その他開発環境構築
– aws関係## VSCodeのインストール
– Windows環境で行う
– インストール方法は省略
– WSLでの利用に備えて最低限以下のExtensionを入れる
[Remote Development](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack)## WSL2(Ubuntu)の構築
### 参考記事
– 下記の記事が大変分かりやすいためそちらを参照
[WSL2 のインストールとアンインストール](https://qiita.com/zakoken/items/61141df6aeae9e3f8e36)– 過去にUbuntu環境を作っていたがそのパスワードがわからなくなった場合
[wsl でパスワードを忘れてしまった際の対処](https://qiita.
(Node.js) winstonモジュール、winston-daily-rotate-fileモジュールを理解する
# はじめに
node.jsのコードの中でwinstonモジュール、winston-daily-rotate-fileモジュールを使用する機会があったので、どのようなモジュールであるのか簡単にまとめたいと思います。# winstonモジュールとは
Node.jsでよく使われるロギングライブラリで、アプリケーション内のログを効率的かつ柔軟に管理するためのツールです。アプリケーションの状態を追跡したり、エラーメッセージを記録したり、パフォーマンスをモニタリングするために使用されます。## winston の主な特徴
– 複数のトランスポートをサポート:ログをファイル、コンソール、HTTP、あるいはリモートサーバーなど様々な場所に出力できます。
– ログレベルの設定:ログの重要度に応じて、出力するメッセージをフィルタリングできます(例:info, warn, error)。
– カスタマイズ可能なフォーマット:ログの出力フォーマットを自由に設定でき、タイムスタンプやカラーリングなどのカスタマイズも可能です。
– 非同期での動作:ロギングが非同期で行われるため、パフォーマンスに負荷をか
Node.js ハンズオン 1 〜 3章まとめ
随分前に読んだ本ですが、再入門しようと思って読み直しています。
その内容を投稿しようと思っています。
自分の理解が浅いところだけまとめていますので、網羅的ではないですが備忘録として記事にしました!# 第1章 イントロダクション
## クラス継承と `prototype` について
JavaScriptには、クラス継承を実現する仕組みとして `prototype` があります。各クラスには class.prototype.method という形でメソッドを追加することができ、オブジェクトがそのクラスのインスタンスかどうかを instanceof 演算子で検証できます。また、`prototype` を使用することで、既存のクラスにメソッドやプロパティを動的に追加することが可能です。これは、後から機能を拡張したり、柔軟にクラスの振る舞いを変えたい場合に非常に有用です。
– `prototype` チェーン
prototype チェーンを利用すると、あるオブジェクトが継承している元のクラスの prototype に遡ることができます。例えば、以下のように prototype チェーン
10月なので言語のサ終を確認しましょう
そろそろ10月.
iPhoneが出るような季節には,言語のバージョンも確認するのをルーティンにしたいですね….
サ終している環境でリリースや構築して面倒なことにならないために….よく使う3種の言語について個人的にまとめておきます.
## Python
2024年10月のイベント
* 3.8 系が end-of-life(サポート終了)
* 3.13 系が prerelease3.12 は9月末まで bugfix だったので,3.11 あたりをメインの開発環境に据えたいところ….
https://devguide.python.org/versions/
|version|status|firstRelease|end-of-life|
|:–|:–|:–|:–|
|3.13|prerelease|**2024/10/01**|2029/10|
|3.12|bugfix|2023/10/02|2028/10|
|3.11|security|2022/10/24|2027/10|
|3.10|security|2021/10/04|2026/10|
|3.9|se