git pullした時に、「error invalid path」というエラーが出たので解決する

error: invalid path タイトルに書いたが、 error: invalid path git pull したところ上記エラーがでた。 調査しつつメモに残そうと本記事のタイトルでマークダウンファイルを作成しようとしたところ、エラーがでた。つまりたぶん、それが原因だと思われる。ちなみにエラーの内容は、:をファイル名に使うことはできないとのこと。 でまあ、たぶん上記の通りなんだろうけれど、いちおう調べてみた結果「ファイル名にWindowsのファイルシステムで使えない文字]が含まれているのが原因」とその通り。 解決方法 シンプルな解決方法はブラウザでGithubにアクセスし、名前を変更する。 または、Gitの設定を変更する。 git config --global core.protectNTFS false ファイル名に禁則文字を含むリポジトリを Clone できない(true)という設定をfalseにすることで、エラーははかなくなる。 ただ結局Cloneしたことでファイル名が変更されたので、ファイル名を変更する必要があった。

投稿日 · 2023-03-12 · 更新日 · 2024-06-07 · 1 分 · nove-b

NestJsにおけるMigrationと「synchronize: true」を調べてみた

synchronize: true とは 公式ドキュメントを呼んでいる際は読み飛ばしたが、下記のようなことが書かれていた。 Setting synchronize: true shouldn’t be used in production - otherwise you can lose production data. 翻訳すると「設定synchronize: trueは本番環境では使用しないでください。そうしないと、本番データが失われる可能性があります。」とのこと。読み飛ばすにはあまりにも恐ろしい項目な気もするが、当時に自分は気にも留めなかった。 これがマイグレーション作業と深く結びついている。 synchronize: true この設定は、アプリケーションをデプロイしたときにDBのテーブルがEntityから自動的に生成されるというもの。 そのため前回の記事のように、Entityを作成しセーブすることで自動的にテーブルが作成された。 どうやらすごく便利な設定だと思うようだが、危険もある。 Entityの状態がDBに同期されるため一見便利にみえますが、Entityのカラムを消したときにDBのカラムも消えてしまうため、誤ってPasswordのカラムを消してしまうなどのリスクがあります。 確かに誤って、コードを削除し、保存したらすべてのデータが消えるというのは非常に恐ろしい。 そこで本番に上げる前にsynchronize: falseにし、マイグレーションファイルを元に手動でDBの状態を更新するようにしていく必要がある。 Migrationとは マイグレーションの正体は普通のJSファイルで、SQLを使用してデータベースのスキーマを更新したり、既存のデータベースに変更を加えるというものです。 つまり、同期的な変更ではなく、こちらでコマンドを行うことで、データベースを変更してくれる。 いざ、本番で操作するよりは、開発の時点でテスト的に触っておいた方が良さそうなので、どこかでテストする。その際、詳細な操作方法を追記する。

投稿日 · 2023-03-08 · 更新日 · 2024-06-07 · 1 分 · nove-b

Windows11に入れたMySQLとNest.Jsを接続し、テーブルを作成する

MySQLにデータベースを作成する まず、Windows11にいれたMySQLにデータベースを作成する。 net start mysql57 mySQLを立ち上げ、 mysql --user=root --password でログインする。 次に、下記クエリでデータベースを作成する。 CREATE DATABASE dbName; を実行する。 Query OK, 1 row affected (0.01 sec) と出ればデータベースが作成できている。 念のため、 SHOW databases; 上記クエリで確認すればデータベースを一覧で確認できる。 NestJsから接続する TypeORMをインストールする SQL および NoSQL データベースと統合するために、Nest は@nestjs/typeormパッケージを提供します。Nest がTypeORMを使用するのは、それが TypeScript で利用できる最も成熟したオブジェクト リレーショナル マッパー (ORM) だからです。TypeScript で記述されているため、Nest フレームワークとうまく統合されます。 ちなみにTypeORMとはnode.jsで実行される、TypeScriptで作ったObject Relational Mapperライブラリのこと。 ちなみにちなみに、Object Relational Mapperライブラリとは、データベースとオブジェクト指向プログラミング言語の間の非互換なデータを変換するプログラミング技法のことらしい。 つまり、いい感じに変換してくれるやつという浅い理解で進めていく。 npm install --save @nestjs/typeorm typeorm mysql2 Appモジュール読み込む インストールができたら、app.module.tsにTypeOrmModuleをインポートする。 import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; @Module({ imports: [ TypeOrmModule....

投稿日 · 2023-03-05 · 更新日 · 2024-06-07 · 1 分 · nove-b

個人開発で読んだ瞬間の感想を投稿するウェブアプリを開発して約1.5年経過した現在の数字と思い

現状 個人開発で一儲けしてやろうという人もいると思うが、現実はこんなものである。 ユーザー数:37人 過去1か月のアクティブユーザー:1人(自分) 過去28日間の訪問ユーザー:37人 過去28日間の検索クリック:2回 過去28日間の検索表示数:60回 この通り、だいたい1日に1人来てくれれば御の字。 そもそもどんなサイトなのよ? 「いやいや、そもそもサイトのコンセプトが悪いんじゃない」のと言いたい気持ちはわかる。 What is Flash Book ⚡ コンセプトは上記の通りなので、ぜひサイトに訪れて確認してほしい。 それだけで…、1ユーザーが訪問してくれるだけで、本サービスには大きな1歩である。 自分が使いたいサービスを作った このコンセプトを見てどう思うかはわからないが、少なくとも自分には需要があった。 本の感想を書くのは面倒だけど、書きたいことはある。 読みながら考えたこと、思ったことをシェアしたいという欲求が常々あった。 自分の欲求に応えるように作ったので1年半も本サービスが続いている。 やっぱり自分が1ユーザーになれるというのは強い。 過去に作ったサービスはことごとく消えていった というのも、このサービス以前にいくつかのサービスを作ったが、それらはすぐに手放した。 なぜってアクティブユーザーが0だったから。 誰も使ってくれないし、自分自身も別に利用する必要がない。 当然、そんなサービス不要ということで、さよならした。 自分が使わないと、使い勝手もわからないし、修正のしようもない。 さよならしたいくつかのサービスが教えてくれたことは「制作者がサービスの1ユーザーであれ」という教訓1つ。 サービスを広めるためにやったこと Twitterで告知 これはそれなりに効果があって何人か登録までしてくれたが、留まってはくれなかった ココナラでのコンテンツ作成 あまりにも自分だけが呟いているとさすがにと思ったので、ココナラで使用してくれる人を募った。コンテンツは増えたがそれだけだった Google広告 8000 円だけGoogle広告を打ってみたPV数は飛躍的に伸びたが、ユーザーは増えなかった 読書メータでの布教 現在進行形で進めている 同様のテーマを取り扱っているだけあってそれなりに人が来てくれている 今後も続けていきたい 1年半近く続けてきて思うこと 個人開発でバズるなんてよっぽどのことない限り難しく、基本的に赤字の垂れ流しになる。 だからこそ自分自身の為になるサービスを作るべきで、自分の役に立つならそれでいいや、というマインドじゃないと続けられない。 とは言え、どこかで見切りをつける必要もある。 自分で作ったサービスって誰からも愛されていなくとも、可愛くて仕方ないので、ずるずる続けちゃいそうな気がしている。

投稿日 · 2023-03-03 · 更新日 · 2024-06-07 · 1 分 · nove-b

windows11に入れたMySQLをGUI(HeidiSQL)で確認する

GUIとは? GUIとは、グラフィカルユーザインターフェース(Graphical User Interface)の略語。コンピュータへ出す命令や指示等を、ユーザが画面上で視覚的に捉えて行動を指定できるもので、それまで主流であった命令文を入力して実行する方式(CUI)に比べ、直感的に操作できるのが特長。 参考:GUIとは - 意味の解説|ITトレンドのIT用語集 つまり本来コマンドとかで操作することを、ツールで体現できるようにしたもの。 HeidiSQLを使用する 色々調べると、Navicat for MySQL、MySQL Workbenchとかがあるらしい。Navicat for MySQLは有料で、MySQL WorkbenchはMySQL Installerの中に付随しているツールらしい。 今回使用するHeidiSQLはオープンソースのデータベース管理ソフトで、MySQLだけでなくMicrosoft SQL Serverにも対応しているらしい。 特別優れているという感じじゃないけど、聞いたことがあるのでこのツールを使用することにした。 インストール インストールはHeidiSQLをクリックすることで開始される。 ちなみにMicrosoft Storeでもインストールできるっぽかった。 Microsoft Storeでインストールする方がいいのかもしれないけれど、そこら辺の違いがわからないので、別で調査したい。 Windows11に入れたMySQLを接続する ここからが本題で、Windows11に入れたMySQLをHeidiSQLで見れるようにしていく。 新規ボタンをクリックする セッション名を任意の名前にする(今回はWindows11 MySQLにしてみた) ホスト名/IP: 127.0.0.1 ユーザー: root パスワード: インストールしたMySQLのパスワード net start mysql57でMySQLをスタート 「接続」でHeidiSQLでデータベースを確認できた。

投稿日 · 2023-03-01 · 更新日 · 2024-06-07 · 1 分 · nove-b