24ブロ

私が未経験からプログラミングを学んだ物語

反省

お疲れ様です。24ブロです。

今日は、初めて面接に行ってまいりました。

いやぁ〜

反省

反省

面接はむずかしいですね!!w

何が難しいって、自分の気持ちを相手にしっかり伝えるのが難しい(´Д`)

なんかすごく行きたい企業のうちの一つだったから、自分の気持ちを整理して望んだけど、いざ質問されるとなんかやっぱり伝えたい思いが多すぎて、ほんとのほんとに重要な想いを伝えられなかったなと思います。

あとは、企業の目指しているもの・理念等しっかり理解ができていなかったかな。なんか面接なのに、すごい説明されちゃった感じw

でも、だからこそより興味が湧いて行きたい気持ち強くなったけど。

まぁ今回は今回で、しっかり反省して反省活かして次こそはしっかり自分の気持ちを伝えられるように頑張ります!

おしまい

久々更新

お久しぶりです。24ブロです。

今日は久しぶりにブログを更新しようと思います。

実は、わたくしプログラミングスクール[tech expert]でただいま就職活動をしております。

そして、なんと明日初面接!!!(まぁ正確には、面談)

今からもぉちょっとずつ緊張しております。

でも、ちょっと楽しみでもあります。

なんせ、また新しい出会いが間違いなくできるから😆

面接って久しぶりだけど、リラックスしてあっちの企業にも迷惑かけないようにしっかり自分の思いを伝えられるようにしよう!

楽しんできます!

☆今日の学び☆

最近は、カリキュラムも終わり実装に関しては自分の好きなようにコードを書いているのですが、JAVASCRIPTが最近のお気に入り。

やっぱりなんだかんだ、フロントの動きをいじるの好きなんだよなぁ

今日、いじっているのは大手ECサイトとかでもよく用いられる

"『もっとみる』ボタンを押すと、商品が追加で表示される機能 "

コードはこんな感じ↓

const defaultDispCnt = 12; // 初期表示件数
const addDispCnt = 12;     // 追加表示件数
(function ($) {
  $(function () {
    let maxDispCnt = 0;     // 最大表示件数
    let currentDispCnt = 0; // 現在の表示件数
    let tileList = $('#searchResultList').children('li.search_item'); // 一覧のli子要素をすべて取得

    // 一覧の初期表示
    $(tileList).each(function (i, elem) {
      // 初期表示件数のみ表示
      if (i < defaultDispCnt) {
        $(this).show();
        currentDispCnt++;
      }
      maxDispCnt++;

      // もっと見るボタンを表示
      let displayed = 0;
      if (maxDispCnt > currentDispCnt && !displayed) {
        $('.firstData .trigger').show();
        displayed = 1;
      }
    });

    // もっと見るボタンクリックイベント
    $('.firstData .trigger').click(function () {
      let newCount = currentDispCnt + addDispCnt; // 新しく表示する件数

      // 新しく表示する件数のみ表示
      $(tileList).each(function (i, elem) {
        if (currentDispCnt <= i && i < newCount) {
          $(this).show();
          currentDispCnt++;
        }
      });

      // もっと見るボタンを非表示
      if (maxDispCnt <= newCount) {
        $(this).hide();
      }

      return false;
    });
  });
}(jQuery));

このJAVASCRIPTのコードの流れでなんとか実装できました!

まぁできれば『閉じるボタン』も追加したいけどw

ポイントは、//新しく表示件数のみ表示する ところで

①現在の表示件数が現在のリスト数以下であるときと 新しく表示する件数がリスト数より多い時

②最大表示件数が新しく表示する件数以下である時

と条件分岐して、処理を変えたところがポイントです。

これで、もっと見るボタン消えます(.hide)

という感じで実装してみました。

参考程度に

おしまい

転職活動

就活

とうとう6週間が終わろうとしてます。

1日10時間ほど勉強してますが、あっという間に1日が過ぎていきます

むしろ今は、1日が24時間では足りないとも感じてきました。

そして来週から本格的にチーム開発と就職活動が始まる予定です。

今日、キャリアカウンセラーさんとの初めての面談を行いました。

私の場合は、ちょっとした事情があり、担当のキャリアカウンセラーさんとお会いするのは初めてでした。

担当の方はとてもハキハキしていて、どんどん私の考えを引き出してくれて、しっかりと言葉や文章として整理してくれるところがすごく信頼できると感じました!

これからの就活が楽しみです!

復習(38日目)

予定通りカリキュラムで実装したアプリを復習しながら、一から作り直して細かいところまで理解するように学習しました

☆今日の学び☆

改めてHTMLの勉強をしました!

<!doctype html>のHTML5のルールに乗っ取って記述しまよのサインでもあるDOCTYPE宣言から、ul・olぐらいまで

コメントアウトをつけてつけてなんかぐちゃぐちゃになっちゃっているけど勉強勉強

⇩は書き込んだHTMLの一部ですが、こんな感じw

<!-- 全てのページに共通したルール -->
<!DOCTYPE html>
<html>
  <head>
    <title>Pictweet</title>
  <!-- どこからスタイルシートを持ってくるか決める -->
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>

    <!-- どこからJavaScriptを持ってくるか決める -->
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>

<!-- CSRF対策のために記述する -->
    <%= csrf_meta_tags %>


<!-- 外部スクリプトを読み込んだり文書ないに埋め込むための記述 -->
    <script type="text/javascript">
      WebFontConfig = {
        google: { families: [ 'Unica+One::latin' ] }
      };
      (function() {

こんな感じで逐一検索して調べに調べまくりました!

ちなみにCSRF対策とはリクエストを強要することを防ぐことで、例えばあるサイトのボタンをクリックした瞬間勝手に自動登録されちゃうとか、高額請求にサインしちゃうとかそういったものを防ぐために記述するものです

ちょっと時間かかるけど、逐一調べて深ぼっていくとまた新しいことを知れるきっかけにもなるから楽しいし勉強になるよ!

こんな感じで今週は復習学習して定着させます!

おしまい

嵐の後の(37日目)

昨日は、台風が首都圏にも接近したということで一日自宅学習しました!

最近は、[tech expert]でもテレビ電話みたいな感じでコネクト機能を用いてスタッフさんに質問できるサービスやり始めてるので、自宅でも申し分なく学習できるんだね。

便利になったもんだ。( ´ ▽ ` )

そんで、今日は台風の影響で片道4時間ぐらいなりながらもやっとこさっと渋谷に到着。。。

カリキュラムは先週に終了したので、これからは[tech expert]ストーリー第二章が始まります。

今週1週間は、チーム開発と自主学習(自分の興味あることどんどん勉強していいよ!)の期間らしいので、なんとか基礎を振り返りながら1週間過ごしたいと思います

☆今日の学び☆

@users = User.where('name LIKE(?)',"%#{params[:keyword]}%").where.not(id: current_user.id)

 
・WHERE 条件式 で検索条件を指定する

:この文章の意味は、「入力されたキーワードに該当する名前を検索しますよ、ただしログインしているuserのidをのぞいて」という意味になります。これを同じ意味のままでコードを書き換えると、、、、、

@users = User.where(‘name LIKE(?) and id != ?’, “%#{params[:keyword]}%“, current_user.id)


:これは、current_user.id ではない値を検索しますよ

という意味になります。

!=は、非等値演算子になりますのでこの式が成立するのですね。

サービス全体のなかでは僅かな記述量ですが、その1つ1つが大切なコードでもあるので、この1週間は出来るだけ具体的に1つ1つのコードの意味にこだわって学習していきたいとおもいます!

意味のある1週間になりますように

おしまい

とうとう(35日目)

皆さんに報告したいことがあります。

とうとうカリキュラム終わりました!

昨日、AWSとういうクラウドコンピューティングサービスに登録するところで詰まっていましたが昨日の原因は単に私のカードのクレジット機能が期限切れだっただけでしたw

みなさんAWSに登録するときは、くれぐれもクレジットカードの期限も一応確認してから登録してね💗w

つまり、昨日の難関?を乗り越えて、デプロイ・自動デプロイ・S3の導入が終わり・・・・・・・・・

とうとう・・・・・

とうとう・・・・・

[tech expert]基礎・応用カリキュラム終了しました!!

1ヶ月・1日10時間はなかなかのスパルタでしたがなんとか終了することができました!!

コングラッチュレイションの喜びに浸る前に、一応デプロイする上での大切だと思ったことをここにアウトプットしようと思います。

デプロイをする上で、私が特に大切だと思ったことは不正利用されて高額請求されないためのセキュリティを強固にすることだと感じました。

○セキュリティ対策○

AWSアカウント作ったら、IAMユーザーとAuthyを使ったMFAで2段階認証機能を実装する。

一応、キータの記事も挙げときます↓

qiita.com

AWSは強力なサービスですが、不正に利用されるとクレジットカードの登録もしてあるので高額な請求もされかねない危険もあります。なので、二段階認証を取り入れて、さらに強固なセキュリティにすることでより安全にサービスを提供できるそうです。

AWSのrootユーザーを使うのを、やめて機能が制限された別のユーザーを作成してそっちでサービスを管理する。AWSのIAMというサービスが有効。

③git-secretsを導入する。これを導入すれば、指定したリポジトリはうっかりプッシュする危険性を回避できる。

ここら辺をしっかり設定することで、強固なセキュリティを築くことができます

これ学んび終えたところでカリキュラム終了となります!

お疲れ様でした。

あっという間の1ヶ月でした

この1ヶ月を振り返ると

外資系企業に勤めていた、県庁に勤めていた、大学にいながら勉強のためにきたなど様々なバックグラウンドを持った仲間との出会いから始まり

とりあえずわからないままカリキュラムにしたがって手を動かしていく中で

仲間やスタッフさんに支えてもらいながら

いつの間にかちょっとずつ理解できてくるものがあったりして、

気づいたら点と点が繋がって線になるように、

プログラミングの楽しさに気づいたりして

1日10時間学習していることを忘れるほど、充実した1ヶ月でした。

明日からは、[tech expert]第二章、チーム開発の準備に移ります!

楽しみです!

第二章も定期的にブログ更新していこうと思います!

乞うご期待!

おしまい

デプロイ(34日目)

デプロイとは、主にネットワークを通じて提供されるWebアプリケーションなどのシステム開発工程において、システムを利用可能な状態にすることである。 引用:weblio辞書

つまり、実装したサービスを世界に公開することです。

とうとう、[tech expert]カリキュラム最終関門 ”実装したサービスをデプロイ” するところまできました。

デプロイするために利用するクラウドサービスは AWS を通します。

AWSとはAmazon Web Serviceの略で、アマゾンが提供するクラウドコンピューティングサービスです。

クラウドコンピューティングサービスとは、これは私なりの解釈ですが、

全世界に実装したサービスを公開するための架け橋

AWSであります。

クラウドサービスは他にもたくさんあるのですが、AWSの特徴としては、

①どこからでもサービスのアクセスや設定、編集ができるところ

②セキュリティが強固なこと

が挙げられます。

主にEC2という仮想サーバーを設定してEC2を通してAWSを利用するのですが、まずはじめにAWS自体に登録しなければ使えません

てことで、早速アカウント作成から始めよーっと思いきや、

f:id:qwe-ima-poi:20181001190408p:plain

えっ?

原因全くわからない

けど、気持ち入れ替えてもう一度 アカウント作成 ポチッと!

f:id:qwe-ima-poi:20181001190408p:plain

え?

なんで、なんで

ここ登録できないとカリキュラム終了できないやないかーい!

色々調べてスタッフさんにも協力してもらって、どうやら原因は クレジットカードがどうとかこうとか。

試しに、普通にアマゾンでカード決済で買い物すると・・・・・・

買えちゃった( ^ω^ )w

誰に聞いても、解決できない問題立ちはだかるw

今日はこのエラーに4時間かけましたが、なんとか乗り越えたいこの壁

明日、クレジット会社に連絡します

おしまい