【Heroku】ど素人がHerokuをつかってHello worldするまで

Herokuを使ってHello worldしたので参考にした記事と詰まったポイントをまとめてみます。

gitを使ってデプロイするのが主流っぽい?のでコマンドからgitにアップロードする方法で進めました。(他の方法があるのかもよくわかってない)

 

環境:macOS Mojave バージョン10.14.6

実施日:2019/12/15

 

やることリスト
  1. Herokuアカウント登録

  2. gitのインストール

  3. アプリケーション作成

  4. デプロイ!!!!!!

 

1.Herokuアカウント登録

こちらの記事を見ながら進めました(https://programmingnavi.com/1438/

アカウント登録でつまづくところはあまりないと思います。

が!私はheroku-toolbeltのインストールでつまづきました。。。

ダウンロードページ(https://devcenter.heroku.com/articles/heroku-cli)に行くとうっすらこんな文言が

Also available via Homebrew:

Homebrewって何?(素人)

Homebrew(ホームブルー)は、macOSオペレーティングシステム(およびLinux)上のパッケージ管理システムのひとつである[1]

wikipedia:https://ja.wikipedia.org/wiki/Homebrew_(%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0)

 

とのことです。なんか便利なものらしい。

Mac使うなら常識っぽいのですが全然知りませんでした。こちらのサイトがとても丁寧でわかりやすかったです。(https://fukatsu.tech/homebrew

 

2.gitインストール

私の場合は既にインストール済みでした。

インストール方法がまとめてあるサイトは山ほどありますが、私はここを見たような気がします。(https://eng-entrance.com/git-install

 

3.アプリケーション作成

とりあえずHello worldできればいっか〜と思っていたらトラップに引っかかります。

index.htmlだけをpushしようとしても、Herokuがアプリケーションではないと認識してデプロイできません。参考はこちら(https://qiita.com/hozukikancho/items/b8d475e67a147cd54453

 

4.デプロイ

ここまでくればあとはデプロイするだけです!

といってもgitの操作に慣れていないので大変でした。

git init ⇨ git add ⇨ git commit ⇨ heroku create ⇨ git push の流れを身につけないといけないですね(heroku createの順番は違う場所でもいいかも)

ちなみにここでもハマりました。gitのリモートリポジトリの設定がうまくいっていなかったのでこちらの記事で解決しました。(https://qiita.com/sayama0402/items/e2c9e65786259dc55e11

 

以上、「ど素人がHerokuをつかってHello worldするまで」でした。

色んな記事を書いてくれる先人たちに感謝。。。。。

 

 

 

 

 

サクラエディタ 複数単語grepマクロ

複数単語を一気にGREPするサクラエディタ用マクロ

 

 とりあえず動いたので自分用メモ

 

一応変数の説明

testfolder:GREP検索するフォルダ

list.txt:検索する単語を一覧にしてまとめたテキストファイル

 

// \マークは二つ付ける

var targetFolder = "C:\\Users\\user\\Desktop\\testfolder"

var nameList = "C:\\Users\\user\\Desktop\\list.txt"


var fs = new ActiveXObject("Scripting.FileSystemObject");


var file = fs.OpenTextFile(nameList);
while (!file.AtEndOfStream){

 var progName = file.ReadLine();

 Editor.Grep( progName, "*.*", targetFolder,33);

}

 

file.Close();
fs = null;

file = null; 

 

初心者がブラックジャック作ってGitHubにプッシュしてみた感想

こちらの記事(https://qiita.com/hirossyi73/items/cf8648c31898216312e5)に影響されて最近学び始めたC#ブラックジャックを作り、せっかくなのでGitHubにアップロードしてみました。今回はその感想などまとめてみたいと思います。

 

簡単な自己紹介

・プログラミングは学生時代にCとJavaを授業でやった程度

・つい最近までGithHubとGitの違いを知らなかった

 

では書いていきます。

 

まず、

プログラミングがスムーズにできない

就職してからほとんどプログラミングがない保守プロジェクトに配属されたため、プログラミングってこんな感じだったな~ってところからのスタートでした。やり続けないとだめですね。

また、親クラス作った方がいいの?とかif文とswich文どっちがいいの?など実装方法で迷うことが多々ありました。(とりあえず勉強のため、と色々使って作りました)

こちらの本を買ったので勉強したら見直したいと思います。

実戦で役立つ C#プログラミングのイディオム/定石&パターン

実戦で役立つ C#プログラミングのイディオム/定石&パターン

 

 

 

Gitってそんなにすごいの?

職場でGitなど使っていないのでGitとGitHubの違いを調べるところからのスタートだったのですが、一回プッシュしたくらいではまだまだ便利さを実感できませんでした。チームで使ってブランチ切ったりマージしたりしてみたい。。。

動くものができると楽しい

色々ありましたがとにかくやってて楽しかったです。何かを作るの大事。エラー処理とかカードの枚数制限とかかなり適当にやった部分もあるので、達成感はあまりありませんが。。。

 

 

今後はWebサービスとか作ってみたい気持ちがあるので、色々勉強しつつアウトプットも続けていきたいと思います!

 作ったもの:https://github.com/iamkaito/BlackJack

C#の乱数生成でつまづいた話

最近C#の学習中に乱数の生成でつまづいたので記事にしておく。

 

問題

ランダムな値を生成しようとすると同じ値が出力される。

使用したクラス:System.Randomクラス

 

具体的な状況

別々のインスタンスで乱数生成してみたら同じ値が出力された。

f:id:iamkaito:20190620002701p:plain

 

原因

System.Randomのコンストラクタはシード値を渡さないRandom()とシード値を渡すRandom(Int32)の二種類がある。Random()の場合にシード値として使われるSystem.Environment.TickCountがミリ秒単位のため、1ミリ秒以内に生成したRandom型は同じシード値で生成したことになり、乱数も同じものが生成されてしまう。

 

対処方法

1.公式(https://docs.microsoft.com/ja-jp/dotnet/api/system.random.-ctor?view=netframework-4.8)にある通り2秒間スリープさせる。

f:id:iamkaito:20190620004405p:plain

2.一つのRandomインスタンスを使う。

f:id:iamkaito:20190620005029p:plain

 

他にも色々ありそうですが、うまく違う値を出力することができました!

 

参考:

https://docs.microsoft.com/ja-jp/dotnet/api/system.random.-ctor?view=netframework-4.8

https://qiita.com/neko_the_shadow/items/72f0285324100a596979

 

勉強会「アウトプットを始められない人への処方箋」のまとめ

サポーターズCoLab主催のオンライン勉強会に参加したのでまとめてみる。

アウトプットを始められない人への処方箋

ブログを600日以上継続されているういろうさんがYoutubeLiveにてアウトプットについてのお話をしてくれました。

内容としてはこんな感じ。

  • アウトプットする理由を明確に
  • 始めるため・続けるためにはどうするか

 

アウトプットする理由を明確に

「押すだけで一万円もらえるボタンがあったらみんな押すよね?」

 

アウトプットしたくてもなかなかできない人はデメリット(時間がとられる・めんどくさい...等)は分かっても、メリットが分かりにくいから行動できない。でも上のボタンの例のようにメリットが分かっていれば行動しやすい!じゃあ自分がアウトプットをやるべき理由・やりたい理由を意識してメリットを明確にしようというお話でした。

例:

自分の場合は「自信」「仲間」が欲しいことがアウトプットする一番の理由です。

 

始めるため・続けるためにはどうするか

始められない人 → 思い立ったらすぐ行動 & 簡単でいいからとりあえずやる

続かない人   → 無理しない(こだわりすぎない)

 

最初から完璧なものを作ろうとするのではなく、だんだんと自分のこだわりを入れていこうというお話でした。このブログを書いている今もブログを書く難しさを感じています。。。(とりあえずアウトプットの第一歩としてやってみる)また、自分を楽しませるための環境づくりも大切とのことでした。

 

最後に

とりあえずこのブログをアウトプットとして続けていこうと思います。

またオンライン勉強会は気軽に参加できて、今後積極的に参加したいと思いました。

登壇してくださったういろうさん・サポーターズさんありがとうございました!

 

ういろうさんのブログ:https://www.nyamucoro.com/