初心者がプログラミングできるようになるまで

勉強していることや考えていることのアウトプットの場。

Webサーバーとアプリケーションサーバーの違い

はい、こんばんは!

お久しブリーフな屋比久です!

 

 

先ほど、CODE BASEにてプログラミングスクールの一期生のお仲間と、isuconについて調べていましたら、、、「WebサーバーとAppサーバーの違いとは?」

 

という話になったので、調べて得た知識をブログ記事に残します!

 

 

  •  Webサーバー:女将さん(nginx, apatch)

静的な処理担当。HTML、cssなどの見た目の部分(フロントエンド 処理)をしてくれて、動的な処理のリクエストをAppサーバーに投げるまでが担当。

 

  • Appサーバー:職人さん(ruby, php,.....)

動的な処理担当。閲覧する人によって表示が変わる部分だったり。PHPRubyなどのバックエンドの処理を実行してWebサーバーに処理結果を返してくれる。DBサーバーとの接続が必要な場合はそのデータ要求も担当する。

 

データ保管倉庫。Appサーバーがデータを要求してきたら、そのデータをAppサーバーに返してあげる。

 

 

 

ついでに、、、

MAMP』とは。

 

このサーバー同士の接続とかの処理を請け負ってくれるめっちゃ優秀なやつ。

 

一期の講師であるさぼさんが何回かお話されていましたが、今ならわかる、、、その話!

ってとこです笑

 

 

この「点と点が繋がる瞬間」が勉強においての喜びだったりしますよね!

 

 

ちなみに今は、isuconとRailsの勉強を毎日5時間を目安にやってます。楽しい

 

 

blog書くのが億劫にならないように短めで更新して行こうと思います。

では、、、

 

ノンプログラム記事①

 

 

はい、こんばんは。

 

 

今、バイト中でして、思いっきりパソコン触るわけにもいかないので、プログラミングに関係のない記事をさらっと書いてみようと思います。

 

 

美容室のロング料金

 

 

 

かみーのーけ。

 

 

今日のお題は、「美容室のロング料金について」です。

 

 

皆さんも、一度は美容室に行ったり、行ったことはなくてもお店の情報を検索したことはあると思います。

 

そんな時に時々書かれている「ロング料金」についてです。

 

 

これって、「髪が長い人はカットやカラーに時間かかったり材料費がかかるので追加料金いただいちゃいますよ」ってことだと思うんですけど、屋比久(わたし)の中では、じゃあなぜショートは割引料金にならないのか?っていう不満が渦巻いてます。

 

 

ヘアカットにかかる時間も、カラーの材料費も、ミディアムの方に比べたら、削減できると思うんですよね。

 

実際カットすぐ終わるし。サイドはツーブロックなので、自分で刈ることできるし。トップと後ろが問題なわけで。

 

 

いやいや、考えが足らないぞ君、ショートだからって時間短縮できるわけないんだ、っていう反対意見があったら、めっちゃ教えてほしいのですが、

 

ショートヘアーって、維持がめちゃくちゃ大変なの知ってます??笑

 

屋比久の場合は、月に1回は切らないとボサボサのブロッコリーみたいになっちゃうんで、月1ペースで切るんですけど、それってめっちゃ財布への負担がでかいんですよ、、、

 

カットだけでも3000円くらいが最安かな、と思うんですが、それが毎月出て行くのと、ロングにして半年に一回切るのとでは、ヘアカット格差(?)が相当出ちゃってます!!!

 

 

時々、お財布事情で自分自身でのヘアカットもするんですが、成功と失敗が半々なので、リスクでかいですよね笑

 

 

もしかしたら知らないだけで、「ショートだと安くなる」っていうサービスを行なっている美容室もあるかもしれませんので、ご存知でしたら是非教えていただきたい!!!

 

 

沖縄県限定ですけどね笑

 

今日は、美容室のメニューに「ロング追加料金」があるなら「ショート割引料金」があってもいいんじゃないかなぁ

 

という、小さな悩みについての記事でした!笑

 

 

こんな記事の後になんですが、

明日はお金払って髪の毛をスッキリさせてこようと思います。

 

いざ!ブロッコリーからブロッコリーもどきへ!!

 

 

 

 

では、明日は通常通りプログラミング関連の記事あげたいと思うのでよろしくお願いします。

 

 

f:id:sanjoda09:20180311211511j:plain

 

 

GitHubをcommand操作してみよう!

はい、今日は!!!!!!!!!!!

 

 

 

ちょっと卒業制作で行き詰まっているので気分転換に更新します。

 

 

 

今日は、『githubにcommandからファイルをあげる方法』について書きます!

githubについては、以前ちょこっと紹介させていただいたので省略。

 

kiyoyabi.hatenablog.com

 

prog-8.com

 

Progateとかでも「Git」のコース終了後に環境構築のサポートページあるので

そこ見ながらやるってものいいかも。

 

プログラミングどころか、Mac操作が危ういやつでも調べつつできたので

 心強いと思います。

 

そこでも書かれてるので、git command はinstall済みというところから。

 

 

 

じゃあ早速、

 

githubにファイルをアップロード(でいいのかな?)する前に

自分のPC上(ローカル上)でリポジトリを 作成する必要があります。

 

自分の手元に、箱を先に作って、その箱の中身から

リモートの箱(リポジトリ)に中身を送ってあげるイメージだはず。笑

 

 

順番に

 

  • git add ファイル名     ファイル選択           
  • git commit -m "メッセージ"   選択ファイルの追加や変更を記録する
  • git status                             ファイルの追加確認(省略可)

 

   リモートリポジトリの設定

   → origin(リモート名) ユーザー名/リポジトリ名(リモートのURL)

  • git push origin master

   リモートリポジトリへファイルをあげる

 

 

 

 これでいけます!!!!!!!!!!!

 

 

が、しかし、branchというものがあるらしく、そいつについてはまた今度調べた内容を

あげようと思います。

 

 

 

じゃあ、新規登録ページの二重登録問題と戦ってきます。

(その前に、form入力せずに投稿できないようにしないと。)

 

 

 

 

 

ーーー調べた単語(記事関連ではない場合あり)ーーー

 

  • merge(マージ)  = 結合する、合体する
  • tig = 「git log」のコマンドが見やすく・使いやすくなるツール?
  • homebrewのコマンド
  • その他  なに調べたかを忘れたwww

 

 

 

調べたい単語とかが芋づる式に増えていって、その場その場で検索かけるので

ついついメモを忘れがち、、、

 

次回以降も、後半に単語集を作ろうと思うので、

メモを忘れずに進めていこうと思います。

 

 

 

 

 参照

techacademy.jp

 

 

qiita.com

 

 

qiita.com

 

 

 

プログラミング講座16日目、

 

はい、こんばんは。

今日はプログラミング講座16日目でした!

 

残すところ後二回でこの講座も終わってしまいますね、、、

先輩エンジニアの講師の方々に、もっと長期的に学びたいとは思いますが、こっから先はサーチ力を磨きながら個人の理解を深めるためにも、独走してみるってやつですね。

 

ギークハウス沖縄にも入り浸りたいとは思ってますが、、、遠いんだなぁ。就職したらギークハウスの近くに住みたいと思う屋比久です。

 

 

今日の講座の内容をまず。

 

 

  • 卒業制作を進めた。

 

まあこんな感じです。笑

 

途中に、MySQLworkbenchというツールを紹介してもらいました。

こいつなんと、DBと連動させて、E-R図を自動生成してくれる、というやつ!!

めっちゃ便利じゃないすか?早速この記事書いたらDownloadしちゃおうと考えています。

 

 

 

卒業制作の話に戻ります。

こいつは、要するに、「講座で学んだことでなんか作って発表しろや」ってやつ。

 

やばいよね?後一週間だべさ。

 

アイディアは思いついたのがあるのでそれを使いますが、 

その前に、「簡易版Twitterを実装してみろ」というMissionも出ていたので、

 

Twitterと卒業制作のアイディアのやつを組み合わせて考えています。

 

ルーティング は一応、大元ができたので、

今はMVCモデルのModelの部分を構築中。

 

 

まず新規登録機能を作りたいんだけど、

Postの値がDBに入ってくれなくて困ってますw

 

 

どこまでイメージ通りに機能を実装できるのか、とりあえずやってみる!!!

 

さあ、1週間が頑張りどきです。応援よろしく!!!笑

 

f:id:sanjoda09:20180309001438j:plain

 

 

 

 

 

 

次に何をやればいいか、が見えてきた日々

はろー、屋比久です。

 

無事最終面接を終えましたが、なんというか、初対面の相手に自分のことをアピールすることの難しさを感じています。できる限りの自分の良さと思考を伝えられていたらいいんですが、、、

 

 

f:id:sanjoda09:20180305193002j:plain

 

 

そんなこんなで、選考結果を待ちながらも色々調べて行きます。

 

 

 

まず、今日やること。

  1. Sequel Proをdownload
  2. Github登録
  3. git command install

 

では開始しまーす。笑

 

 

 

1.Sequel Pro download

Sequel Proというのは、MySQL(DataBase)への接続を簡単にしてくれるツール。接続方法もTCP/IP、ソケット、SSHの三つがあります。デザインもMacっぽくて綺麗だし日本語表記なのがいいですね。

  • TCP/IP = インターネットへの接続時に用いられる通信プロトコル。IPが自分宛のパケットを取り出してTCPに渡し、TCPはパケットに誤りがないかを確認してから元のデータに戻す。
  • ソケット =  IPアドレスとポート番号からなるネットワーク上のアドレス。接続口。
  • SSH = ネットワークを経由して他のコンピュータ(主にサーバ)に接続し、遠隔操作するための仕組み。通信情報は全部暗号化される。

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

TCP:Transmission Control Protocol=IPによるホスト間の伝送路を使って、信頼性のある通信路(コネクション)を実現する。「フロー制御」「誤り制御」「ふくそう制御」という3つの基本的な機能によって通信の信頼性を確保する。

 

  • フロー制御 = 受信側の処理能力に合わせて、送信側のパケットの量を調整する機能。いくつかのパケットをまとめて送り、「受け取った」という返事もまとめて一回で済ませて効率化している。

  • 誤り制御 = 到着パケットの順番が違っていたり、パケットが途中で壊れていないかを検出するための機能。パケットのシーケンス番号という番号を元に調べる。

  • ふくそう制御 = ネットワークの混雑を検出して、送信するパケットの量を調整する機能のこと。受信側から「パケットが届かない」という通知を3度連続して受け取ると、ふくそう、が発生したとみなし、送信側が送信量を調整する。

     

 

IP:International Protection = まずこいつはプロトコル。インターネット上での通信相手の住所である「IPアドレス」に基づいて、パケットを宛先ネットワークやホストまで届けるためのプロトコル

 

プロトコル = コンピューター同士が通信する際の手順や規約などの約束事。

 

パケット = ネットワークを流れるひとかたまりのデータ。

 

 

ここまで調べる必要があるかってところですが、曖昧な理解が後から躓きの原因になるので、調べられるうちにやっときます。

 

「sequel pro」と検索かけて、公式サイトからDownload。ここまではサクッといける。

 

開いてからmysqlに接続しようとするも「Access denied」がでる始末。

めちゃくちゃ検索かけた結果、ポート番号がデフォルトの「3306」だったのが原因らしく、mysqlで設定している「8889」にしたら通りましたー!! あとは、phpmyAdminで先にログインしたのも関係、、、しないか。(笑)

 

 

2. Github登録

 これは、世界中の開発者が利用している、プログラムのソースコードをインターネット上で管理するためのサービス。アメリカのGithub社のサービス。複数人での開発時に必要なソースコードの共有やバージョン管理が可能。リポジトリという場所があり、ソースコード等のバージョンを管理する機能の他、プログラム開発等に対する開発者間でのレビューやコメント機能、プログラム開発の進捗(しんちょく)を管理する機能等が備わっている。OS(オープンソース)といって、無料で他の人のソースコードをチェックして利用できる仕組みがあり、プログラマにはめっちゃ有益ってよく聞く。

 

そんなこんなでサービスに登録完了。

他の人に自分のソースコードへの意見が欲しいときはここにあげてみるといいはずね。徐々に使って行きます。

 

3. git command install

git はgithubリポジトリを作ったり、そこに新しくソースコードのファイルを加えたりするときに、開発者がよくいじってる黒い画面から操作できるようにする命令文で、こいつを入れれば、githubのページ開くタイムロスを防げるよーって認識。まだ使ってないのでわからんが。笑

 

 

とりあえず、やりたかった作業3つはできたので、夜は、プログラミング講座の課題である簡易Twitterの設計と実装までいければ、、、と思います。

 

 

上のとこまで月曜に書いて、アップするの忘れていました、、、笑

ごめんなさい、ということであーっぷ!

 

本日はプログラミング教室15回目でしたが、ゴタゴタしてしまって、slim使って簡易Twitterのルーティングのみをした、、、って感じなので記事にはしません(笑)

 

明日は早起きして簡易TwitterのHTMLだけでも作ろうかなって感じ。

 

ではおやすみなさい。

 

 

 

 

 

あ、追加で、install と download の違いをまとめているサイトがあったので、違いがわからない人は飛んで見てください。

 

 

 

utano.jp

 

 

(参照:コトバンク [ 時事問題、ニュースもわかるネット百科事典 ]

 

 

8時間後は最終選考

 

こんばんは。屋比久です。

今日は携帯端末からの更新なので文字サイズ一定でお届します。(布団の中で更新してるのでめんどくなったw)

 

明日は、プログラミング講座を無料開講していただいているCodeBaseという事業を、支えている、といいますか。資金元といいますか。プロデュースしている会社ですね、株式会社プロトソリューション沖縄支社の最終選考です。選考枠としてプログラミング講座に参加させていただいていますが、もうまじ、ほんと。

 

 

最初は何から何までちんぷんかんぷんでした。

 

パソコンなんて大学のレポート作成にしか使わないので、ファイルとフォルダの違いも、コピペのショートカットキーもわからない有様。バイト仲間に「コピペのショートカットも知らないのか」って言われてめちゃくちゃムカついたのを覚えています。

 

 

ではでは、そんな状態の私がなぜプログラミングをしようと思ったのか、自分の思いを掘り下げながら、一人二役のインタビュー風記事にしますので(笑)ぜひ読んでいってください!

 

 

続きを読む

プログラミング講座 13回・14回目。(用語解説のみ)

こんばんわ。

 

今日は、今週のプログラミング講座にて学んだことを

あたかもメモのように投稿させてもらいます。

 

blogなんだからちゃんと記事にしろよ、って

自分でも思いますが、今はそんなに時間も割けないのでw

 

なので読まない方をお勧めします。

ITに興味あったら見てもいいかも、

 

続きを読む