肩の力を抜いて

Relax and Enjoy Programming

肩の力を抜いて楽しむ。楽しみながらラクして成果を上げる仕組みを考える。

【書評】「プログラマのためのGoogle Cloud Platform入門」で手を動かしながらインフラ構築を学ぶ

f:id:tadaken3:20171207214345j:plain こんにちは
タダケン(@tadaken3)です。

あなたは、プログラミングを学んでいて、自分でWEBサービスを作ってみたいと考えたことはありませんか?

自分のPC上で動かすようなちょっとしたプログラムを書けるようになってくると、今後はWEBサービスを作ってみたいという気持ちがふつふつと湧いてくることかと思います。

WEBサービスを作って公開するためには、プログラミングの知識はもちろん、ネットワークやサーバーなどのインフラを設計・構築・運用する知識が必要になってきます。

インフラ構築の基礎知識と今流行りのGoogle Cloud Platformの使い方を「プログラマのためのGoogle Cloud Platform入門」で学ぶことができます。

Google Cloud Platfromとは

Googleクラウド上で提供するサービス群の総称で、Google 社内で使われているものと同じテクノロジーを使って、インフラを構築ができます。Google Cloud Platfromは略してGCPと呼ばれます。

すごい!!

類似のサービスとしてはAmazon Web Servise(AWS)というのがあります。

Google Cloud Platfromは基本的に使う分だけお金がかかる仕組みになっています。ただし、12ヶ月間の無料クレジット枠300ドル(約30,000円分)があるので、最初の一年は基本的に無料でお試しすることができます。仮に無料枠を使い切っても、勝手に課金されるということありません。

またある程度の制限はありますが、ずっと無料で使えるサービスもあります。

例えば、Google Computer Engineというサービスを使って、無料でちょっとしたサーバーを立てることもできます。

GCEのf1-microインスタンスなどが無期限無料で使えるらしい - 覚書

インフラ構築の基本に踏みこんで解説されているので3年後もきっと役立つ

GCPには色々なサービスがあります。

  • Google Computer Engine
  • Goolgle Big Query
  • Cloud Load Balancing

なんでこんな沢山のサービスが有るかというとインフラにもいろいろな役割があるからです。

例えば

  • クライアントのやりとりをするWEBサーバー
  • 永続的にデータを保存するデータベースサーバー
  • 負荷を分散するためのロードバランサー

などがあります。こういったインフラ技術の基礎知識をGCPを通して学んでいくことができます。

インフラ技術のトレンドを追いかける

もちろんGCPは最新のクラウドサービスなので、基本的な内容だけにとどまりません。

本書ではざっくり

「WEBアプリケーション基本」
      ↓
「スケーラブルなWEBシステムの構築」
      ↓
「コンテナ実行環境を使ったインフラ構築の自動化」

といった形で、インフラ構築の流れを学んでいきます。

最終的には、機械学習を用いたGAEアプリケーションを構築するところまで体験できます。

終わりに

インフラの知識とGCPがあれば、ひとりでWEBサービスを立ち上げることもできるようになります!

今年の年末は、「プログラマのためのGoogle Cloud Platform入門」を読んで、手を動かしながらインフラ構築とGCPの知識を深めてみてはいかがでしょうか。

読者登録をお願いします!

本ブログではGoogle Apps Scriptの役立つテクニックを公開しています。本ブログの読者もしくはTwitterアカウントのフォロワーになっていただけると更新の励みになります。ぜひ一緒にプログラミングを学びましょう。

「酔いどれGCPUG」でGoogle Data Studioの話をさせていただきました!

こんにちは
タダケン(@tadaken3)です。

11月28日にGoogle Cloud PlatformのUser Group(略してGCPUG)の酔いどれGCPUGにて、Google Data Studioでイカしたダッシュボードを作る』という内容でLTさせていただきました。

今回はクラウドエースの平戸さんよりお声掛けいただき、発表の場をいただきました。

LT時の様子はこちら。

f:id:tadaken3:20171129204514j:plain

GCPUG(ジーシーパグ)とは

GCPUG(ジーシーパグ)はGoogle Cloud Platformを普及させることを目的とし、Googleと共にGCPをより良くし、盛り上げていくユーザーグループです。私たちに共感していただける方なら、GCPUGへの参加は自由です。一緒に GCP を盛り上げていきましょう。 Google Cloud Platform User Group

Google Cloud Platformをヘヴィーに扱っている方から初心者の方まで集まってワイワイやっている会です。今回の酔いどれと銘打っていることもあり、序盤からお酒が振る舞われての勉強会でした。サイコーですね。

発表内容について

ボクは『Google Data Studioでイカしたダッシュボードを作る』という内容で登壇させていただきました。

もともと「いつも隣にITのお仕事」でGoogle Data Studioの記事を書いていたので、その中から内容を抜粋して発表しました。

圧倒的に見やすいダッシュボードを作成できる「Google Data Studio」が熱すぎるtonari-it.com

Google Data Studioについてはこんな記事も書いてます。

Twitterでの反応

若干のネタ被りやマシントラブルで途中スライドが映らない事故もありましたしたが、いくつか肯定的なコメントをいただけて良かったです!

GCPUGに参加した感想

初参加なのにいきなりLTをするという強硬手段に及んだにもかかわらず、皆さん暖かく迎えてくださって、ほんとうに感謝です。酔ってたけど。

個人的には@yutah_3さんの発表されていたApache Airflowの話はとても勉強になりました。さすがGoogleの中の人。

ほかにも

など興味深いお話がたくさんありました。

自分もGCPガンガン使っていきたいなという気持ちになりました。

おまけ

二次会の抽選会でGoogle Cloud PlatformのTシャツとハンドスピナーをいただきました!

f:id:tadaken3:20171129203614j:plainf:id:tadaken3:20171129203537j:plain
自宅で適当に撮ったのでちょっとしわしわ

読者登録をお願いします!

本ブログではプログラミング・データ分析の役立つテクニックを公開しています。本ブログの読者もしくはTwitterアカウントのフォロワーになっていただけると更新の励みになります。ぜひ一緒にプログラミングを学びましょう。

匠メソッドで学ぶ『価値』から考える企画のまとめ方

こんにちは!
タダケン(@tadaken3)です。

先日、匠メソッドを学ぶための匠塾に参加してきました。匠塾とは毎月開催されている招待制の匠メソッドを学ぶ会です。株式会社アクティアCOO 高崎健太郎さんを塾長とする有志によって開催されています。

匠メソッドとは

匠メソッドとは何なのでしょうか。匠メソッドを開発した「株式会社匠BusinessPlace」のサイトより引用します。

特徴は価値から戦略・業務を見ていくことです。 戦略立案の手法は他にも多くありますが、戦略が絵に描いた餅になったり、他から持ってきたもので現場に浸透しなかったりしがちです。 匠Methodはこういったビジネス企画における問題を価値の視点でまとめ上げ、組織全体が一体となって推進していける戦略・業務をデザインすることができる唯一の手法です。 匠Method | 匠Methodとは

一言で表すと「まず提供する価値をしっかり決めてから、ビジネスモデルや要件定義をする」というメソッドです。

匠メソッドをしったきっかけ

個人で何かを開発したいなと考えていました。 WEBサービスなのか、アプリなのかといったことをぼんやりと考えているときに以下のスライドを拝見しました。

www.slideshare.net

株式会社ビープラウドの佐藤社長のスライドです。ビープラウドでは、

のサービスを提供されています。これらCompassやPyQも匠メソッドを導入して開発がされており、興味を持ちました。

価値デザインモデルと価値分析モデル

今回は初めての参加ということもあり、初心者チームに参加させていただきました。

匠塾で実施される「12月のLT大会の企画」というテーマで匠メソッドを体験します。

匠メソッドではいくつかのモデルを作ります。アイデアを出しながら、モデルを作成していきます。複数のモデルを組み合わせて企画全体を俯瞰していきます。

今回のチームでは

  • 価値デザインモデル ・・・ビジョン、コンセプトを考えながら価値を表現していく
  • 価値分析モデル・・・ステークホルダーのそれぞれの価値を分析する

の2つを体験しました。

実際には付箋を使って、他の参加者の方と企画をまとめていきます。

f:id:tadaken3:20171116094349j:plain

最後に

匠メソッドを学びつつ、自身でも価値あるサービスを提供できるように前に進んでいきたいと思います。匠メソッドはとても学びが多く、懐が深いので、ご興味のある方はこちらの書籍を読んでみてはいかがでしょうか。

匠Method: 〜新たな価値観でプロジェクトをデザインするために〜

匠Method: 〜新たな価値観でプロジェクトをデザインするために〜

読者登録をお願いします!

本ブログではプログラミングや仕事効率化に関する情報を公開しています。よろしければ、ブログの読者登録もしくはTwitterアカウントをフォローしていただけると更新の励みになります。ぜひ一緒にプログラミングを学びましょう。

Google Apps ScriptのコードをGithubで管理できる「Google Apps Script Github アシスタント」が便利すぎる

f:id:tadaken3:20171110121704p:plain

こんにちは!
タダケン(@tadaken3)です。

Google Apps Scriptのコードを書いていて、ちょっと困るのがコードのバージョン管理です。

Google Apps Scriptはブラウザで開発していくことになり、ソースコードのバージョン管理ができません。とくに複数人で開発しているときなんかは、誰がどのように編集をしたのかわからず、何が最新版なのかわからなくなってしまいます。ソースコードを管理できないと心細いです。

そこでGASのコードをGithub上で管理できるChrome拡張の「Google Apps Script Github アシスタント」をご紹介します。「Google Apps Script Github アシスタント」を使うとGASのコードを手軽にGithubで管理できます。

Google Apps Script Github アシスタント」を導入する

Google Apps Script Github アシスタント」はChrome拡張です。 以下からChromeウェブストアにアクセスし、Chromeに追加ボタンを押すと簡単に追加できます。

chrome.google.com

Google Apps ScriptのIDEを開くと「Github アシスタント」のメニューが追加されます。 まずはGithubとの認証を行うため「Login SCM」を選択します。

f:id:tadaken3:20171110115255p:plain

GithubのID、パスワードを入力する画面がでてきますのでアカウント情報を入力します。

f:id:tadaken3:20171110114725p:plain

これで設定は完了です。簡単ですね。

リポジトリにコードをPushしてみる

Githubではリポジトリという単位でコードを管理します。

「Repository」を選択すると、リポジトリ一覧がプルダウンで選択できます。Gistや新しいリポジトリを作成することもできます。今回は新たにリポジトリを作成してみようと思うので「Create new repo」を選択します。

f:id:tadaken3:20171110114854p:plain

リポジトリの設定を入力する画面が出できます。リポジトリ名などを入力して、「Create」ボタンをクリックするとリポジトリが作成されます。

Githubのサイトにアクセスすると、リポジトリが作られてたことが確認できます。

リポジトリにコードをアップすることをPushといいます。早速ソースコードをPushしてみましょう。Pushするのも簡単でコードを書いた後に「Push」ボタンを押すだけです。

f:id:tadaken3:20171110125422p:plain

すると、追加されたコードのDiffとコミットメッセージが入力する画面がでてきます。コミットメッセージを入力して、Pushすると完了です。

f:id:tadaken3:20171110114938p:plain

Githubのサイトで確認するとgas-github-sampleというリポジトリに「コード.gs」が追加されました。

f:id:tadaken3:20171110115407p:plain

いや、本当に簡単ですね。

リポジトリからコードをPullして最新のコードを取得する

Github上の最新のコードを取得することをPullと言います。続いて、Pullしてコードを取得してみましょう。

Githubのサイト上で、先程のgsファイルを以下のように編集します。

  • ファイル名をコード.gsからmain.gsに変更
  • Logger.logの中身を”Hello Google Apps Script”から”Edit Github”に変更

f:id:tadaken3:20171110115450p:plain

では、Google Apps ScriptのIDEに戻ってPullできるか試してみます。 メニューバーにあるPullボタンを押します。

f:id:tadaken3:20171110125438p:plain

すると、Diffが表示されました。

f:id:tadaken3:20171110115535p:plain

そのままPullボタンを押すと、Google Apps Scriptのコードが最新の状態に変更されました。

f:id:tadaken3:20171110115548p:plain

まとめ

今回は「Google Apps Script Githubアシスタント」を使って

をご紹介しました。

Githubアシスタントを使えば、Google Apps ScriptのコードをGithubで管理する事ができます。 Githubアシスタントブランチを切って管理することも可能なので、追加機能を実装するときも安心して開発できますね。

読者登録をお願い致します!

本ブログではGoogle Apps Script、Pythonの役立つテクニックを公開しています。よろしければ、本ブログの読者もしくはTwitterアカウントのフォロワーになっていただけると更新の励みになります。ぜひ一緒にプログラミングを学びましょう。

参考サイト

開発者のleonhartXさんによる解説記事
手軽にGoogle Apps ScriptのコードをGithubで管理する | Recruit Jobs TECHBLOG

Githubアシスタントのソースコード
GitHub - leonhartX/gas-github: sync gas code to github

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

Gaiaxさん主催の『Google Apps Script 活用ミートアップ』に登壇しました!

こんにちは
タダケン(@tadaken3)です。

10月31日にGaiax さん主催のGoogle Apps Script 活用ミートアップにて、『Google Apps Scriptで三日坊主を克服する』という内容で登壇させていただきました。

登壇時の様子はこちら。なんか変にハニかんでますね。

f:id:tadaken3:20171101222414j:plain

Google Apps Script 活用ミートアップのに参加させていただき、たくさんの学びを得ることができました。簡単にレポートします。

Google Apps Script 活用ミートアップとは

多くの企業が活用しはじめている Google の G Suite(Google Apps)。そんな G Suite を拡張するスクリプト言語 Google Apps Script の活用事例をご 紹介! 【エンジニア交流会】Google Apps Script 活用ミートアップ - connpass

Google Apps Scriptの活用している企業が集まって、活用事例を紹介し意見交換をする場です。 企業とあるのですが、ボクは個人として参加させていただきました。

主催のGaiaxさんのオフィスがむちゃくちゃオシャレでどこぞのバーにいるかと錯覚しました。 実際にバーカウンターも設置されており、参加者にお酒も振る舞われていました。(写真をとっておくのを忘れました)

発表内容について

ボクは『Google Apps Scriptで三日坊主を克服する』という内容で登壇させていただきました。

Google Apps ScriptとLINE notify、IFTTTを組み合わせた仕組みづくりの話です。ジムに行った日から3日経過したら、LINEに通知がくるという内容を紹介させていただきました。

もともと、ブログにまとめていた内容を発表させていただいた形です。ですので、詳しい実装方法はこちらをご覧ください。

tadaken3.hatenablog.jp

当日の様子

昨日は、他にも

  • 新入社員が配属されたときに必要なWEBサービスのアカウント作成業務をGoogle Apps Script で効率化した事例
  • Google Search APIを使って、ちょっとした業務ツールを作る話
  • Twitterエゴサーチを自動化する話
  • 非エンジニアの方がGoogle Apps Scriptにチャレンジしたエピソード

などの事例やエピソードをお聞きすることができました。

他の登壇者の方の発表内容はGaiaxさんのブログにアップされる予定ですので、ご興味のある方はこちらもご覧になってみてください。

gaiax.hatenablog.com

また、登壇や質疑応答などで

あたりが課題感としてあがっていました。とくにGoogle Apps ScriptはGitなどでバージョン管理するには若干手間なので、このあたりは今後、Googleがなにかソリューションを提供してほしいなと思います。

近い将来Google Cloud Source Repositoriesでうまく管理できるようになるのではないかなと予想しています。

登壇を終えて

この手のイベントで登壇させていただくのははじめてだったので、えらく緊張しました。 個人での参加者はボクだけだと予想したので、真面目すぎず、個人でも活用できる話の内容を選びました。 若干ネタに走りましたが、うまく笑いが取れてよかったです。

参加してみて、本当に楽しいイベントでしたし、色んな人交流できてほんとうに勉強になりました。 お酒を飲みながらワイワイできて、本当に楽しい時間を過ごせました。

また、個人での参加にも関わらず、暖かく迎えてくださったGaiaxの皆さんにはほんとうに感謝です! この場を借りて、お礼をいわせていただきます。

今後もぜひ積極的にイベントにチャンレンジしていきたいです。

読者登録をお願いします!

本ブログではGoogle Apps Scriptの役立つテクニックを公開しています。本ブログの読者もしくはTwitterアカウントのフォロワーになっていただけると更新の励みになります。ぜひ一緒にプログラミングを学びましょう。

インベスターZを読んで学んだ「天才になる方法」と「続けるコツ」

こんにちは
タダケン(@tadaken3)です。

この週末にかけて、「インベスターZ」という漫画を一気読みしました。

「インベスターZ」は「ドラゴン桜」で有名な三田紀房さんが描いた本格投資漫画です。

「財前」という男子中学生が名門高校の投資部にはいることから物語がスタートします。学校存続のために資産運用をしていて、財前も投資部で様々なことを学んでいきます。1

中学生で投資部って結構ぶっとんでますね。

天才になるひとつの方法

「インベスターZ」の最終巻で「天才になる方法」が紹介されています。

f:id:tadaken3:20171029110749p:plain

100人が思いついたとしても行動するのは、その内のたった1人
そして、100人が行動できてもそれを続けられるのは、その内のたった1人
つまり、1万人のうち1人しかやり続ける人間はいない

天才とは、シンプルに信じてやり続けた人

まずは行動すること。そして失敗してもあきらめずに挑戦し続けること。当たり前のことですが、その当たり前のことを愚直にや理続けるのがどれだけ難しいことか改めてはっとさせられました。

ボクなりの続けるコツ

「インベスターZ」を読んでいていて、ボクなりの続けるコツを考えてみました。それは「ベストを目指すけど、完璧を目指さない」ってことす。

漫画の中で、財前は先輩に様々なことを教わります。財前がすごいなって思うところは、自分なりに考え、それをすぐに実践していることです。もちろん時には失敗もしていますが、失敗したらしたで、ケロッと新しいことに取り掛かっています。

億単位の資金を運用しているにも関わらず、「たかが金」と平然と言ってのけます。損をしてもなんとかなる。損をしても死ぬことはないという境地に達しています。

f:id:tadaken3:20171029114306p:plain

ボクは「週一回以上記事を更新する」ことを目標に、この技術ブログを運用しています。運用をしてわかったのですが、記事を書いていると「クオリティ」に満足できない局面が度々あります。

他のブログでは「もっとわかりやすいし、最新の情報を掲載している」「こんな低俗なクオリティでは公開するのが恥ずかしい」と思ってしまって筆がとまってしまうことがありました。

ですが、せっかく書いたのに公開しないのであれば、「何も書いてないのと同じ」と考え、「週一回以上記事を更新する」を守るようにしています。

サラリーマンをしながらブログ運営をしていると、どうしても仕事の波によって、ブログ執筆時間がうまく確保できないこともままあります。

もちろん時間があればもっと内容をブラッシュアップできるのにと思うこともありますが、今もっている時間でできるベストを尽くした と考えるようにしてから気が楽になりました。

「たかがブログ」です。

株式投資以外にもいろんなテーマを学べ、刺さる言葉がたくさんある

「インベスターZ」では、株式投資を中心に、ベンチャー投資(起業)、不動産、生命保険、金、節約術についての投資の手法や歴史も解説されていてとても勉強になります。

実在する起業の社長がが出演する話もあったりで、他にも刺さる名言が満載です。例えば、元ライブドア社長の堀江さん、DMM会長の亀山さん、ZOZOTOWN(スタートトゥデイ)の前澤さんといった有名ITベンチャー企業の社長が漫画の中に登場します。

DMMの亀山さんってほとんどメディアに露出されないので、独自の取材に基づくエピソードが掲載されているのは貴重です。きちんとAVのことに踏みこんでいるあたりもおもしろかったです。

f:id:tadaken3:20171029112909p:plain

きっとあなたにも刺さる言葉が見つかるはずです。騙されたと思ってぜひ読んでみてはいかがでしょうか。

インベスターZ(1)

インベスターZ(1)

2017年10月27日から10月29日まで1冊5円のセールが実施されています。お見逃しなく。

読者登録をお願いします

本ブログではプログラミングのことを中心に記事を公開しています。ときどき、それ以外のことも。よろしければ読者登録していただけると更新の励みになります。


  1. インベスターZは21巻まで発行されています。著者が、漫画本編のキャプチャやSNSの投稿を歓迎しているのものすごいところです。https://twitter.com/mita_norifusa/status/923779394459467776

SQLite3を使ってちょっとしたCSVファイルをSQLで集計する

f:id:tadaken3:20171020194951p:plain こんにちは!
タダケン(@tadaken3)です。

データ分析をしていると手元のちょっとしたファイルをSQLで集計したいことってよくあります。

例えば数万行〜数十万行程度のちょっとしたCSVファイルなど、エクセルでやるにはちょっと重たいけど、MySQLPostgreSQLのような本格的なデータベースを使うほどではないときです。

そんなとき、SQLite3を使えば、ちょっとしたデータを手元でSQLを使って集計できて便利です。

またSQLの学習にもちょうどいいですし、集計ロジックとデータを切り離すことができるのでで、集計ロジックを他のデータにも使いまわすことができます。

今回はSQLite3を使って、CSVファイルを集計する方法をお伝えします。

SQLite3とは

SQLite3はデータベースサーバを使用せずデータベース毎に1つのファイルを使って管理する極めてシンプルな構造をしています。

開発の現場ではアプリケーションに組み込みんで使われる場合が多いです。PythonPHPRubyではSQLiteを扱うライブラリが標準で組み込まれています。

また、Macには最初からSQLite3がインストールされています。

Windowsの方は以下の記事を参考にインストールしてみてください。

SQLiteインストール(Window版)

インストールできたら、SQlite3をコマンドラインから実行してみましょう。

$ sqlite3 --version
3.16.0 2016-11-04 19:09:39 0e5ffd9123d6d2d2b8f3701e8a73cc98a3a7ff5f

データベースの作成と接続

データベースを作成するにはコマンドラインで以下のように実行します。

書き方 sqlite3 データベース名

以下の例ではsample.dbを作成をします。

$ sqlite3 sample.db

「sample.db」が存在していなかった場合は新たに作成され、SQLite3の対話モードに入ります。すでに「sample.db」が存在している場合は、そのまま「sample.db」にアクセスします。1

SQLite3を終了するには「.exit」コマンドを実行します。

sqlite> .exit


カレントディレクトリにsample.dbというファイルが作られていると思います。

f:id:tadaken3:20171020192900p:plain

もう一度、「sample.db」に接続するには

$ sqlite3 sample.db

実行すると、既存の「sample.db」に接続されます。

CSVファイルをインポートする

このままだとsample.dbはからっぽです。なのでCSVファイルからデータを取り込んでいきましょう。

データをインポートする前に、ちょっと説明です。

SQLite3にはモードという概念があります。

今回はCSVファイルからデータをインポートしたいので、CSVモードに変更します。

モードを変更すると、集計結果を出力する際の区切り文字が変わります。モードを変更するには、「.mode」コマンドを実行します。

モードを変更するには以下のように実行します。

sqlite> .mode csv


モードが切り替わったら、次にデータをインポートします。 データをインポートするには「.import」コマンドを実行します。

書き方 .import 元ファイル名 テーブル名

例えば、以下のようなsample.csvというファイルがあるとします。

f:id:tadaken3:20171020192931p:plain

sample.csvを取り込んで、sampleというテーブルを作成するには以下のようにコマンドを実行します。

sqlite> .import sample.csv sample

テーブルができたどうか、「SELECT * FROM sample;」というSQLを実行して確認してみましょう。

sqlite> SELECT * FROM sample;

無事にテーブルが作られていますね。

f:id:tadaken3:20171020192455p:plain

データを集計する

あとは集計です。SELECT文を実行すれば、結果が出力されます。

sqlite> SELECT count(name) as cnt_name FROM sample;

と実行するとnameの数が表示されます。

f:id:tadaken3:20171020193834p:plain


出力した結果を外部のファイルに保存したい場合は、「.output」コマンドを使います。

書き方 .output 保存したいファイル名

.outputコマンドの後に、SQLを実行すると結果がファイルに保存されます。

sqlite> .output cnt_name.csv
sqlite> SELECT count(name) as cnt_name FROM sample;

このように結果がCSVファイルが保存されました。

f:id:tadaken3:20171020192314p:plain

まとめ

今回はSQLite3を使って

  • データベースを作成・接続する方法
  • CSVファイルからデータをインポートする方法
  • SELECT文でデータを集計する方法

をお伝えしました。今回ご紹介したモノは基本的な内容にとどまっていますので、以下のサイトでSQLite3についてより学習をすすめるのもおすすめです。

SQLite入門

読者登録、Twiiterアカウントのフォローをお願いします!

本ブログではプログラミングや仕事効率化に関する情報を公開しています。よろしければ、ブログの読者登録もしくはTwitterアカウントをフォローしていただけると更新の励みになります。ぜひ一緒にプログラミングを学びましょう。


  1. 拡張子はなんでもオッケーです。通例では「.sqlite3」にしますがコマンド名と同じで、ややこしいので今回の記事では「.db」にしています。