-
[gibo] Gitの無視ファイルgitignoreを一瞬で作る方法
![[gibo] Gitの無視ファイルgitignoreを一瞬で作る方法](https://wordpress.aizulab.com/wp-content/uploads/2019/05/gibo_banner.png)
みなさんは普段どのようにgitignoreを作成していますか? 手作業で設定したり、GitHubのテンプレートから持ってきたり、前に使ったものを流用したりなど、様々な方法があるかと思いますが、 もしこのような方法で作成している方には「gibo」というツールをオススメします。 https://github.com/simonwhitaker/gibo インストール Mac環境であればHomebrewでインストールできます。 使い方 gibo listを実行すると対応する言語、フレームワークが表示されます。 だいたいの言語やメジャーなフレームワークであればリストに含まれているかと思います。 gitignoreを作成するにはdumpコマンドを使います。 以前はdump無しで良かったのですがアップデートで変更されたようです。 gibo dump NodeとするとNode.jsのgitignoreを出力します。 Railsであればgibo dump Railsのように使用する言語、フレームワークを指定しましょう。 これを.gitignoreファイルに書き込みます。 これでNodeの.gitignoreファイルが作成できます。 まとめ giboは https://github.com/github/gitignore を参照してgitignoreを作成しているようなのでgitignoreの内容も問題ないと思います。 私は以前から使用していたのですがあまりメジャーではないようでしたので紹介させて頂きました。 今まで手作業でgitignoreを作成していた方は、ぜひ使用されてみてはいかがでしょうか。
-
【GraphQL+MongoDB】graphql-composeで簡単にGraphQL APIを実装する

こんにちは、ソリューションの五十嵐です。 MongoDB + GraphQLでデータを提供する案件に携わりました。 その際に使用したgraphql-composeというライブラリが素晴らしかったので記事にまとめます。 GraphQLとは GraphQLはクライアントとサーバでのデータのやりとりに使用するクエリ言語です。 欲しいデータを過不足なく取得できるほか、学習コストが小さいなどのメリットがあります。 デメリットとしてサーバサイドの実装が難しいという情報が多いですが、 graphql-composeを使用することで簡単にCRUD機能を有するGraphQL APIを実装できます。 https://graphql-compose.github.io/ 構成は以下の通りです。 Node.js Express MongoDB Mongoose GraphQL Express まずは必要なパッケージをインストールし、Expressのアプリケーションを作成します。 メインとなるserver.jsを実装していきましょう。 server.jsを実行し、http://localhost:8080/helloにアクセスするとHello Worldが表示されます。 MongoDB MongoDBとの接続を行います。 Mongooseを使用したいので、以下のコマンドで必要なパッケージをインストールしましょう。 次にutilsディレクトリを作成し、その中にDBとの接続を行うdatabase.jsを作成します。 utils/database.js database.jsをimportし、DB.connect()を実行することでMongoDBに接続されるようになりました。 GraphQL GraphQLを実装していきます。 まずはGraphQL関連の必要パッケージをインストールします。 スキーマとモデルのディレクトリを作成します。 今回はサンプルとして本のタイトルと著者のデータとします。 タイトルと著者をString型として定義したモデルを作成します。 models/book.js さらにスキーマも作成します。 ここで本記事の主役であるgraphql-composeを使用します。 graphql-composeはGraphQLのスキーマを作成するToolkitとのことで、 簡単にスキーマを作成することができます。 schemata/book.js これだけでCRUDのGraphQL APIになります。 最後にserver.jsを修正してGraphQLを有効にします。 server.js 再度server.jsを実行して以下のURLを開いてみましょう、GraphQLの実行環境が表示されます。 http://localhost:8080/graphql DBにデータが存在していないのでGraphQLでデータを新規登録してみます。 【GraphQL+MongoDB】graphql-composeで簡単にGraphQL APIを実装する実行環境の左上に以下のmutationを入力します。 さらに左下のQUERY VARIABLESの部分に以下を入力し実行しましょう。 作成されたデータのIDがレスポンスとして返却されます。 データが作成できましたのでGraphQLでデータを取得してみます。 実行環境の左上に以下のqueryを入力して実行してみます。…
-
Macのターミナルで連番のテストデータを作る

実務の中で以下のようなテストデータが必要になりました。 このようなデータを手作業で作成するのは非合理的なので、ターミナルから簡単に作成してみます。 テストデータの作成 まずディレクトリを作成します。 mkdirコマンドは-pオプションを指定することでディレクトリが存在しない場合に自動的に作成してくれます。 今回のケースではDataディレクトリを作成し、TextDataディレクトリを作成し…という形です。 その後はcd $_で作成したディレクトリに移動しますので、 $ cd Data/TextData/2019/0501のようにわざわざパスを指定して移動する手間がなくなります。 テスト用のテキストファイルを作成するためにtruncateコマンドを使用します。 Macではデフォルトでは使用できませんのでbrewでインストールしましょう。 truncateコマンドをインストールできたらサイズを指定してファイルを作成します。(とりあえず10kbのテキストとします。) このテキストファイルが50件欲しいので連番でコピーします。 printf “%02d”とすることで2桁のゼロ埋めした数値となります。 同じようにディレクトリも連番コピーします。 これで最初に提示した構造のテストデータが作成できました。 手順さえ覚えれば何千件、何万件のデータでも作成できますので覚えておくと役に立つかもしれません。
-
MacでLinuxのブータブルUSBを作る

サーバにLinuxをインストールする際にブータブルUSBを作成するのですが、いつも手順を忘れてしまうため備忘録として記事に残します。 ブータブルUSBとは USBメモリからLinuxを起動する仕組みです。 起動したLiveイメージからHDDへのインストールを行う他、 USBメモリを接続するだけでほとんどのPCでLinux環境を起動できるので「WindowsPCにブータブルUSBを刺してLinuxを起動し、CUIでHDDのファイルをコピーする」というような使い方もできます。 ブータブルUSBを作る 「UNetbootin」というGUIのツールで作成することもできますが、私はコマンドラインで作成したい派なのでCUIでの作成手順をまとめます。 https://unetbootin.github.io/ まず作成するUSBメモリを接続し、diskutilコマンドでディスク情報を確認します。 今回使用するUSBメモリは4Gのものですので/dev/disk2が該当のディスクということが分かりました。 USBメモリにイメージの書き込みを行うため、アンマウントします。 USBメモリをアンマウントできたら、メモリに書き込むLinuxのイメージを作成します。 今回はCentOSを使用したいのでCentOSのisoファイルをダウンロードしました。 ダウンロードしたisoファイルをimg形式に変換します。 変換が完了したらimgファイルをUSBメモリ(/dev/disk2)に書き込みます。 少々時間がかかりますが、完了するとブータブルUSBの作成は終わりです。 あとは作成したUSBを対象のPCに接続し起動するとLinuxのLive環境を起動できます。(BIOSの設定が必要な場合もあります。)