<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Seattle Consulting, Inc.</title>
    <description>The latest articles on DEV Community by Seattle Consulting, Inc. (@seattleconsulting).</description>
    <link>https://dev.to/seattleconsulting</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1012%2F5a6e9399-6a41-4e6a-bd8b-2bc27b08c5f4.png</url>
      <title>DEV Community: Seattle Consulting, Inc.</title>
      <link>https://dev.to/seattleconsulting</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/seattleconsulting"/>
    <language>en</language>
    <item>
      <title>Alexa Skill Blueprintsを使った簡単スキル作成</title>
      <dc:creator>KoichiMachida</dc:creator>
      <pubDate>Mon, 23 Sep 2019 14:10:46 +0000</pubDate>
      <link>https://dev.to/seattleconsulting/alexa-skill-blueprints-k3o</link>
      <guid>https://dev.to/seattleconsulting/alexa-skill-blueprints-k3o</guid>
      <description>&lt;h1&gt;
  
  
  Alexaを買ってみたけれど
&lt;/h1&gt;

&lt;p&gt;ITの業界に来て少しした頃、業界的な影響を受けてか知らずか、&lt;br&gt;
「我が家を便利にしてみたい！」という思いでAlexaを買ってみました。&lt;/p&gt;

&lt;p&gt;ところがどっこい！&lt;/p&gt;

&lt;p&gt;いざ導入してみても、毎日の天気予報と時々のタイマーぐらいにしか使っておらず……&lt;br&gt;
せっかく買ってみたのだから、いっそスキルを自作してみて試せないかと思ったりしてもどんな感じに出来上がるのかもイマイチイメージ出来ない。&lt;/p&gt;

&lt;p&gt;そんな「Alexaガチ初心者」の人間でもスキルを作成する【Alexa Skill Blueprints】といったものがあったのでご紹介。&lt;br&gt;
「スキルを作成してみたい方」のイメージ掴みとか、「ちょっとしたスキルだけ作りたい」といった方向け。&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Alexa Skill Blueprintsでできること
&lt;/h1&gt;

&lt;p&gt;一言で説明すると「Web上のテンプレートを埋めていってスキルを作成」するもの。&lt;br&gt;
記事作成時点で、グリーティングが4種類、試してみようが7種類。&lt;/p&gt;

&lt;p&gt;例えば【カスタムQ&amp;amp;A】を使ってスキルを作成すると、質問文を追加してそれに対する回答を追加していって…といった手順になります。&lt;br&gt;
ながら作業時用の自分用辞典みたいな使い方とかも出来そう。ゲームを遊んでいる時に「このブキについて教えて！」みたいな。&lt;/p&gt;

&lt;p&gt;今回はサボりがちな自宅筋トレをすべく、【パーソナルトレーナー】のスキルを作成していきます。&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  スキル作成までの手順
&lt;/h1&gt;

&lt;p&gt;【Alexa Skill Blueprints】の公式サイトに行くと、まずは右上に【Sign in】があるのでAlexaで使っているアカウントでログイン。&lt;/p&gt;

&lt;p&gt;【パーソナルトレーナー】のテンプレートを開くと、サンプルや作成手順が出てくるので、そのまま【作成する】を押してみます。&lt;/p&gt;

&lt;p&gt;すると出るわ出るわのトレーニング項目！&lt;br&gt;
「腕立て伏せ」「腹筋」「サイドプランク」「ツイスト」「左右立ち」etc…&lt;/p&gt;

&lt;p&gt;とりあえずいくつかの項目をセットして次へ行くと、さきほどセットしたトレーニングの秒数やスキルを起動する時間を聞かれるので、筋トレしたい秒数やセット数を記入していきます。&lt;/p&gt;

&lt;p&gt;その次は【Alexaのメッセージ】記入。&lt;br&gt;
始まりの挨拶や筋トレ実行中の応援メッセージを入力します。&lt;br&gt;
自分が応援してもらう内容を自分で記入していく様は中々シュール。&lt;/p&gt;

&lt;p&gt;最後にスキル名を記入して【スキルを作成】&lt;br&gt;
数分待てば自分で作成したスキルで筋トレが出来るようになります！！&lt;/p&gt;

&lt;p&gt;…いつの間にか筋トレの話になってしまいました。&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;意識したい点は、「発言させる内容はシンプルにする」ということ。&lt;br&gt;
あまり難しい文面や、長文は発言出来なかったり聞きづらかったりするので、分かりやすい内容を心がけると良いと思います。&lt;br&gt;
これはBlueprintsでの作成に限らず、コードを用いてのスキル作成等でも言えるので、常に意識しておきたいところ。&lt;/p&gt;

&lt;p&gt;スキルが不要になった場合は、【作成したスキル】から削除出来ます。&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;以上、すごいお手頃にAlexaスキルは作成出来るので、「Alexaいじり」を考えている人は是非試してみてください。&lt;/p&gt;

</description>
      <category>tutorial</category>
    </item>
    <item>
      <title>GCE + VSCode + docker-composeでリモート開発環境を構築する</title>
      <dc:creator>Kazuhiro Miyajima</dc:creator>
      <pubDate>Mon, 09 Sep 2019 09:24:29 +0000</pubDate>
      <link>https://dev.to/seattleconsulting/gce-docker-compose-3em</link>
      <guid>https://dev.to/seattleconsulting/gce-docker-compose-3em</guid>
      <description>&lt;p&gt;これを書いているのは2019年の9月ですが、今年はあまり暑くなくて過ごしやすい夏でしたね。&lt;br&gt;
とはいえ残暑の方が厳しい可能性もあるので、できればローカルのMacでDockerを立ち上げることで余計な熱源は減らしたいですよね。&lt;br&gt;
そこでGCE(Goodle Compute Engine)にインスタンスを立てて、VSCodeで繋いで、ローカルMacでの開発と遜色ない環境を構築する方法を紹介します。&lt;br&gt;
（Windowsも基本は同じ手順でイケると思いますが、手元にないので）&lt;/p&gt;

&lt;p&gt;Macが熱くならない以外にも、以下のメリットがあります。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ブラウザとターミナルとエディタ、ネットワークさえあれば開発できる&lt;/li&gt;
&lt;li&gt;強いマシンを買う必要がない=エコ&lt;/li&gt;
&lt;li&gt;ネットワークが速い（dockerイメージのpullやnode modulesのインストールなどで体感できる）&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  目次
&lt;/h2&gt;

&lt;p&gt;以下の手順で設定します。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;事前準備&lt;/li&gt;
&lt;li&gt;GCEインスタンス作成＆起動&lt;/li&gt;
&lt;li&gt;GCEインスタンス上で、個別プロジェクトのdocker-compose実行&lt;/li&gt;
&lt;li&gt;Visual Studio Code Insiders &amp;amp; Extensionsで開発&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  事前準備
&lt;/h2&gt;

&lt;p&gt;GCPアカウントの作成・設定は、この辺りを参考に適宜お願いします。&lt;br&gt;
&lt;a href="https://cloud.google.com/iam/docs/creating-managing-service-accounts?hl=ja"&gt;https://cloud.google.com/iam/docs/creating-managing-service-accounts?hl=ja&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;アカウント作成後、適当なGCPプロジェクトを作成または選択してください。&lt;/p&gt;

&lt;h2&gt;
  
  
  GCEでインスタンス作成＆起動
&lt;/h2&gt;

&lt;p&gt;この後の手順は、基本的にはこのチュートリアルの通り。&lt;br&gt;
&lt;a href="https://cloud.google.com/community/tutorials/docker-compose-on-container-optimized-os"&gt;https://cloud.google.com/community/tutorials/docker-compose-on-container-optimized-os&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;作成したプロジェクトでVMインスタンスを作成します。&lt;br&gt;
ブートディスクはDebian9のまま、&lt;br&gt;
リージョン、インスタンスサイズはお好みで。最初のビルド時はn1-standardくらいが良いと思います。&lt;br&gt;
あと、複数プロジェクトを同インスタンス内で使いたい場合は、storageが10GBだと足りなくなる可能性が高いので増やした方がよいやも。&lt;/p&gt;

&lt;h2&gt;
  
  
  GCEインスタンス上で、個別プロジェクトのdocker-compose実行
&lt;/h2&gt;

&lt;h3&gt;
  
  
  git, docker. docker-composeインストール
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;VMインスタンス一覧でSSHボタンクリックでブラウザターミナル起動
git&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo apt install git&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;docker, docker-composeのインストールはこの辺を参考に。&lt;br&gt;
&lt;a href="https://www.digitalocean.com/community/tutorials/how-to-install-docker-compose-on-debian-9"&gt;https://www.digitalocean.com/community/tutorials/how-to-install-docker-compose-on-debian-9&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;docker&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;code&gt;sudo apt update&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo apt update&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apt-cache policy docker-ce&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo apt install docker-ce&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo systemctl status docker&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docker --version&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;sudo usermod -aG docker ${USER}&lt;/code&gt; # sudo なしでdockerコマンド実行できるようにgroupに追加&lt;/li&gt;
&lt;li&gt;SSHログインし直す&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;docker-compose&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-&lt;/code&gt;uname -s&lt;code&gt;-&lt;/code&gt;uname -m&lt;code&gt;-o /usr/local/bin/docker-compose&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo chmod +x /usr/local/bin/docker-compose&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docker-compose --version&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  個別プロジェクトのソースコードをGitHubからcloneした後、docker-compose upを実行
&lt;/h3&gt;

&lt;p&gt;前準備として、このVMインスタンスからGitHubに接続できるように設定します。&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ブラウザターミナルで &lt;code&gt;ssh-keygen&lt;/code&gt; 実行。ファイル名はデフォルトのid_rsaでOK。パスフレーズを入れて忘れないようにする&lt;/li&gt;
&lt;li&gt;GitHubのSettings &amp;gt; SSH and PGP Keysページに上記で作った公開鍵（~/.ssh/id_rsa.pubの中身）を登録&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;これでVMインスタンス上でcloneできるはずです。&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;mkdir /home/&amp;lt;username&amp;gt;/projects&lt;/code&gt; （ディレクトリ名は何でも良いです）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cd projects&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git clone &amp;lt;githubなどのclone先URL&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cd &amp;lt;cloneしたプロジェクト&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docker-compose up -d&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  ポートを開ける（Optional）
&lt;/h3&gt;

&lt;p&gt;ここまでで、ポート80でリクエストを受けられるようなdocker-compose環境であれば、&lt;br&gt;
VMインスタンス一覧画面の外部IPリンクをクリックすればブラウザで実行結果を確認できます。&lt;br&gt;
80以外のポートを開けたい場合は、以下を追加で実施してください。&lt;br&gt;
SPAの開発環境であれば、2つくらいは開けたくなると思います。&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;GCPのVPCネットワーク &amp;gt; ファイヤーウォールルールをクリック&lt;/li&gt;
&lt;li&gt;ファイヤーウォールを作成をクリック&lt;/li&gt;
&lt;li&gt;名前とターゲットタグに &lt;code&gt;http-8080&lt;/code&gt; 、プロトコルとポートに許可したいポートを指定（例：tcp:8080,3000,3100）&lt;/li&gt;
&lt;li&gt;VMインスタンスの編集画面で、ネットワークタグに &lt;code&gt;http-8080&lt;/code&gt; を追加&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;これで &lt;code&gt;http://&amp;lt;外部IP&amp;gt;:&amp;lt;ポート&amp;gt;/&lt;/code&gt; にブラウザで接続できると思います。&lt;br&gt;
SPAなどの場合、通信先IPの指定も忘れずに。&lt;/p&gt;

&lt;h2&gt;
  
  
  Visual Studio Code Insiders &amp;amp; Extensionsで開発
&lt;/h2&gt;

&lt;p&gt;Visual Studio Code Insidersをインストールします。&lt;br&gt;
2019年8月現在、Visual Studio Code（以下VSCode）正式版ではRemote SSHなどが動作しないのでInsiders版をローカルPCにインストールします。&lt;br&gt;
&lt;a href="https://code.visualstudio.com/docs/?dv=osx&amp;amp;build=insiders"&gt;https://code.visualstudio.com/docs/?dv=osx&amp;amp;build=insiders&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Remote Developmentをインストール
&lt;/h3&gt;

&lt;p&gt;以下のExtension全部入りのExtensionであるRemote Developmentをインストールします。&lt;br&gt;
VSCode Insiders版のExtensionタブで「Remote Development」で検索してください。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remote Containers&lt;/li&gt;
&lt;li&gt;Remote SSH&lt;/li&gt;
&lt;li&gt;Remote WSL&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  VMインスタンス側の接続設定
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;VMインスタンス編集画面で、SSH認証鍵欄にローカルMacの公開鍵を追加して保存
（またはVMインスタンス内のauthorized_keys に公開鍵を追加）&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  ローカル側の接続設定
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;ローカルMacの~/.ssh/config を編集
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Host &amp;lt;ホスト名&amp;gt;
  Hostname &amp;lt;立ち上げたVMインスタンスの外部IP&amp;gt;
  User &amp;lt;GCPユーザー名&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;VSCode のRemote SSHタブ上に、上記で追加した&amp;lt;ホスト名&amp;gt;が出てくるのでダブルクリック&lt;/li&gt;
&lt;li&gt;接続完了&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;接続できない場合は、以下を疑ってみてください。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;~/.ssh/config のユーザー名がGCPユーザー名ではない、または外部IPが違う&lt;/li&gt;
&lt;li&gt;ssh初回接続をVSCodeで実施してしまうと、ローカルMacのknown_hostsに追加するところで止まってしまうので、ターミナルなどで一度ssh接続してみる&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  余談
&lt;/h2&gt;

&lt;p&gt;本当は、GCEのContainer-Optimized OS(COS)を使ってリモート環境を構築し始めたんですが、VSCodeのRemote Serverインストールでコケたのでやめました。&lt;br&gt;
Container-Optimized OS の機能と利点はこちら。&lt;br&gt;
&lt;a href="https://cloud.google.com/container-optimized-os/docs/concepts/features-and-benefits?hl=ja"&gt;https://cloud.google.com/container-optimized-os/docs/concepts/features-and-benefits?hl=ja&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;また、Cloud Shellのコードエディタで開発できるようにしようかと思いましたが、VMインスタンスからCloud Shell上にソースコードを同期する必要があるため、面倒なのでやめました。&lt;br&gt;
素直にVSCodeでソースを書きましょう。&lt;/p&gt;

&lt;p&gt;では、良いリモート開発ライフを。&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>gce</category>
      <category>docker</category>
      <category>dockercompose</category>
    </item>
    <item>
      <title>もっと早く出会いたかった git command 達</title>
      <dc:creator>yanskun</dc:creator>
      <pubDate>Thu, 05 Sep 2019 15:29:13 +0000</pubDate>
      <link>https://dev.to/seattleconsulting/git-command-26cm</link>
      <guid>https://dev.to/seattleconsulting/git-command-26cm</guid>
      <description>&lt;h1&gt;
  
  
  はじめに
&lt;/h1&gt;

&lt;p&gt;いわゆる ｎ番煎じ&lt;br&gt;
業務で使うコマンドの中でも特に気に入ってるものを並べました。&lt;/p&gt;

&lt;p&gt;初心者から、中級者向け？だと思います。&lt;/p&gt;

&lt;p&gt;コマンドを覚えると開発がより楽しくなると思います。&lt;br&gt;
あんなこともできるこんなこともできる、できるが増えるって素晴らしいですね。&lt;/p&gt;

&lt;h2&gt;
  
  
  便利コマンド
&lt;/h2&gt;

&lt;h3&gt;
  
  
  差分をステージングエリアに追加する
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add -p
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★★★&lt;br&gt;
基本的に、このオプションでしか add はしない。&lt;/p&gt;

&lt;h3&gt;
  
  
  差分を取り消す
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout {FILE_NAME}
git checkout # 全部なかったことに。
git checkout -p # もある
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★☆☆☆☆&lt;br&gt;
時々使うけど、結構危険だと思う。&lt;/p&gt;

&lt;h3&gt;
  
  
  ステージングエリアから戻す(add する前に戻す)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reset {FILE_NAME}
git reset # 全部戻す
git reset -p # もある
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度:★★★☆☆&lt;br&gt;
コミットしようとした時に、「あれなんでこいついるの？」ってなった時に使う&lt;br&gt;
コミット前には必ず &lt;code&gt;git status&lt;/code&gt; しましょう。&lt;/p&gt;

&lt;h3&gt;
  
  
  指定したユーザーのコミットログを見る
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git log --committer={USER_NAME}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;重要度:★★☆☆☆&lt;br&gt;
怪しい人を見つけた時に。&lt;/p&gt;

&lt;h3&gt;
  
  
  コミットIDを指定して、中身を確認する
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git show {COMMIT_ID}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;重要度：★★★★☆&lt;br&gt;
怪しいコミットがあった時に。&lt;br&gt;
pull したらコミットをたくさん取り込んだ時によく使う。&lt;/p&gt;

&lt;h3&gt;
  
  
  別のブランチからファイル/コミットを持ってくる
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout {BRANCH_NAME} {FILE_NAME}

git cherry-pick {COMMIT_ID}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★☆☆&lt;br&gt;
別のブランチの作業者が作った共通部品を盗みたい時に。&lt;/p&gt;

&lt;h3&gt;
  
  
  直前のコミットを修正する
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit --amend # コミットメッセージも変えられる
git commit --amend --no-edit # vim をスキップ
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度:★★★★☆&lt;br&gt;
「この差分もこのコミットに乗せたい」という時に。&lt;/p&gt;

&lt;h3&gt;
  
  
  ファイル名の変更
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git mv {OLD_NAME} {NEW_NNAME}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★★★&lt;br&gt;
普通にエクスプローラーから名前をすると delete と create になってしまう。&lt;br&gt;
これでファイル名を変更するとログに変更が残るから嬉しい。&lt;br&gt;
（これもオプションがあるわけじゃないけど、意外と使ってる人が少ない...。のでランクイン)&lt;/p&gt;

&lt;h3&gt;
  
  
  特定のファイルの歴史を確認
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git log -- {FILE_NAME}
git blame {FILE_NAME}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度:★★★☆☆&lt;/p&gt;

&lt;p&gt;blame の方が有名だけど、 log で見るのも便利な時がある。&lt;/p&gt;

&lt;h3&gt;
  
  
  マージ済みのブランチの確認
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch --merged
git branch --no-merged # その逆
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★★☆&lt;br&gt;
削除して良いローカルブランチを見つける。&lt;/p&gt;

&lt;h3&gt;
  
  
  直前のブランチを指定して〇〇
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout - # ブランチ切り替え
git merge - #  マージ
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★★★&lt;br&gt;
ひょっとしたら一番便利かもしれない。&lt;br&gt;
ブランチ名が長くて打ってらんない時に。&lt;br&gt;
ブランチ名を忘れちゃった時に。&lt;/p&gt;

&lt;h3&gt;
  
  
  マージしたらコンフリクトしたのでなかったことに
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git merge --abort
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★☆☆&lt;br&gt;
他の人に聞かないと解消できない時に。&lt;/p&gt;

&lt;h3&gt;
  
  
  ざっくりした差分をみる
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git diff --stat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★☆☆&lt;br&gt;
ファイル名と、そのファイルが何行変わったかだけを表示&lt;/p&gt;

&lt;h3&gt;
  
  
  ステージングエリアの差分を見る
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git diff --cached
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;立ち度：★★★★☆&lt;br&gt;
直前のコミットと、ステージングエリアとの差分を見る。&lt;br&gt;
add + commit を連結して考えてると不要。（結構危険な考えです、やめましょう）&lt;br&gt;
あれ？これコミットしたら何がリモートに上がっちゃうんだろう、と気になって見てください。&lt;/p&gt;

&lt;h3&gt;
  
  
  リモート削除されたローカルブランチを削除する
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote prune origin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;立ち度：★★★☆☆&lt;br&gt;
branch 名の予測変換が有効になっている場合、&lt;br&gt;
削除されたブランチ名に勝手に変換されてしまって &lt;br&gt;
嫌な気持ちになったことないでしょうか？僕はあります、たくさん&lt;br&gt;
時々綺麗にすると家と同じで気持ちがいいです。&lt;/p&gt;

&lt;h2&gt;
  
  
  ネタ系
&lt;/h2&gt;

&lt;h3&gt;
  
  
  コミット数のランキング
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git shortlog --summary -n
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;楽しさ:★★★★☆&lt;br&gt;
努力を誰となく認められたい時に。&lt;br&gt;
Git はあなたのコミット数を見てくれてます。&lt;/p&gt;

&lt;h2&gt;
  
  
  最後に
&lt;/h2&gt;

&lt;p&gt;どうでしょうか。&lt;br&gt;
git command でもっと楽しもうって気になれましたでしょうか。&lt;br&gt;
CLI での git 操作ができるようになるともっと楽しく開発ができるかもしれません。&lt;br&gt;
僕は楽しいです。&lt;/p&gt;

&lt;p&gt;結構便利コマンド多いなって思います。&lt;br&gt;
shell環境整えたら git command を愛する人になったので、たくさん知りたいです。&lt;br&gt;
「これも使いなよ」っていう、とっておきのコマンドがあったら教えてください。&lt;/p&gt;

&lt;h2&gt;
  
  
  おまけ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  僕の git の alias を晒します
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;＄ git config --list | grep alias
alias.b=branch
alias.s=status
alias.co=checkout
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;あんまりたくさん作ってもしょうがないかな派です。&lt;/p&gt;

&lt;p&gt;ありがとうございました。&lt;/p&gt;

</description>
      <category>git</category>
      <category>beginners</category>
    </item>
    <item>
      <title>未経験中途入社エンジニアが初現場で学んだこと</title>
      <dc:creator>ryohei.nagaoka</dc:creator>
      <pubDate>Tue, 03 Sep 2019 02:26:47 +0000</pubDate>
      <link>https://dev.to/seattleconsulting/-ef7</link>
      <guid>https://dev.to/seattleconsulting/-ef7</guid>
      <description>&lt;h2&gt;
  
  
  はじめに
&lt;/h2&gt;

&lt;p&gt;不動産賃貸管理会社の営業という割とローカルな仕事に３年間務めた後、IT業界へ飛び込みました。入社後３か月の研修を経て、初の現場に参画することになりましたが、参画初日の正直な感想は本当にこのプロジェクトやっていけるのか・・・というとても大きな不安でした。&lt;/p&gt;

&lt;p&gt;そんな不安からスタートした初現場でしたが、なんとか走りきることができたので、そこで学んだことをこちらに残していこうと思います。&lt;/p&gt;

&lt;p&gt;私のように、研修や自己学習と実際のプロジェクトの"規模"の違いから大きな不安に駆られる人は少なくないと思います。そんな人達の助けになれば嬉しいです！！&lt;/p&gt;

&lt;h2&gt;
  
  
  "分からない"を知ってもらう
&lt;/h2&gt;

&lt;p&gt;私がプロジェクトに参画して最初の業務は要件定義書を読み、既存の設計書を元に今回のプロジェクト用の設計書を書き起こすというものでした。&lt;/p&gt;

&lt;p&gt;しかし、既存の設計書があるにしろ、設計書を書いたことも無ければ、何が書いてあるのかも良く分からない。"分からない"が多すぎて本当に困った。というのがその時の感想です。&lt;/p&gt;

&lt;p&gt;こんな時に重要なのが、"分からない"ということをメンバーや先輩に知ってもらうことです。&lt;/p&gt;

&lt;p&gt;基本的に先輩方は、新人エンジニアに対して"仕事ができる"とは思っていません。&lt;br&gt;
"分からないこと"をキャッチアップして成長することを期待しています。&lt;/p&gt;

&lt;p&gt;逆に一番やってはいけないのが、&lt;strong&gt;分かっているかのように振舞うこと&lt;/strong&gt;です。&lt;/p&gt;

&lt;p&gt;私は前職でお客様との話の中で分からないことが出てきた際に、正直に分からないと伝えてしまうと「そんなことも分からないのか！！無能め！！お前の会社とは契約しない！！」なんてことになりかねないので、虚勢を張ってその場を凌げと先輩に教えられて来ました。&lt;br&gt;
その為、そんな窮地に立たされた際に虚勢を張って上手いこと窮地を回避する悪い癖がついていてしまっており、本当に苦労した点です。&lt;br&gt;
未だに癖が出てきてしまうことがあるので、常に意識して業務にあたっています。&lt;/p&gt;

&lt;h2&gt;
  
  
  "分からない"に直面した時は
&lt;/h2&gt;

&lt;p&gt;"分からない"を知ってもらうことはできましたが、それで解決ではありません。&lt;br&gt;
"分からない"を"分かる"状態にして初めて解決です。&lt;br&gt;
その方法ですが、即上司やメンバーに聞くのはNGです。&lt;br&gt;
自分で解決する気は無いのか？？と疑念や不安を与えてしまいます。&lt;br&gt;
それに、自分で解決する能力も成長しません。&lt;br&gt;
なのでこんな時は、&lt;br&gt;
「自分で調べる→解決できなければ上司やメンバーに聞く」このステップでやってみましょう。&lt;br&gt;
自分で調べることによって、自己解決力が上がります。&lt;br&gt;
そして、そこで解決できれば上司やメンバーに聞く時間も取ることはありません。&lt;br&gt;
しかし、"調べすぎる"のは良くありません。&lt;br&gt;
1時間調べて分からないこともあります。というより、15分調べて分からないことは大体1時間調べても分かりません(※個人差があります)&lt;br&gt;
なので私は、15分調べて分からなければ聞くという風に実行しています。&lt;br&gt;
調べることに熱中しすぎて15分過ぎていることもあるので、タイマーを設定しておくのも良さそうです。&lt;br&gt;
そうして分かった事、解決したことはメンバーに展開したり、コミュニケーションツール等でアウトプットすると、ほかの社員の知識にもなりますし、自分の知識の定着にも繋がります。&lt;br&gt;
ここまでできれば120点ですね！！&lt;/p&gt;

&lt;h2&gt;
  
  
  質問の仕方を考える
&lt;/h2&gt;

&lt;p&gt;15分調べて、分からない。&lt;br&gt;
次のステップは質問をすることだと思いますが、ここも注意が必要です。&lt;br&gt;
私が質問をするとよく言われた言葉があります。&lt;br&gt;
「何を聞きたいのかわからない」&lt;br&gt;
なぜこのやり取りが発生してしまうのか。&lt;br&gt;
それは質問の仕方に原因がありました。&lt;br&gt;
私の場合、何をやったのか1~10まで全て話した後、聞きたいことを話すという順序で質問をしていました。&lt;br&gt;
質問の仕方としては0点です。&lt;br&gt;
いくら仕事のできるスーパーエンジニアといえど、1~10まで話を聞いてられません。&lt;br&gt;
では、どう聞くのが正解か。&lt;br&gt;
仕事のできるスーパーエンジニアな上司に聞いてみました。&lt;br&gt;
上司曰く、&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;①やりたいことを伝える&lt;br&gt;
②起きている事象を伝える&lt;br&gt;
③事象を引き起こした行動となぜその行動を行ったのか伝える&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;この順序で質問をしてもらうのが聞きやすいようです。&lt;/p&gt;

&lt;p&gt;質問を受ける側としては、どこまで自分で考えて何を行ったのかを知りたい。&lt;br&gt;
考え方が合っていて行動が間違っているなら行動のヒントを与えるし、&lt;br&gt;
考え方がそもそも間違っているのであれば、考え方から教える。&lt;/p&gt;

&lt;p&gt;とのことです。&lt;br&gt;
ここに関しては、正解は色々あると思うのですが、&lt;br&gt;
"やりたいことを伝える"の手順を一番最初に持ってくるのは、変わらないと思います。&lt;br&gt;
その後の説明の部分が明後日の方向に向かってしまっていても、やりたいことは分かっているからアドバイスしやすいはずです。&lt;/p&gt;

&lt;h2&gt;
  
  
  "分からないこと"が"分からない"
&lt;/h2&gt;

&lt;p&gt;初めて設計書やソースコードを見たときに起こった現象ですが、新人エンジニアにはよく起こります。実際、新人エンジニア間では、&lt;br&gt;
A「何が分からないのか分からん！！」&lt;br&gt;
B「出た出た いつもの笑」&lt;br&gt;
なんて会話がよく発生してました。&lt;br&gt;
この現象が起きるときは大体、ドキュメントの中に"分からない"が混在しています。&lt;br&gt;
"分からない"と"分からない"が手を繋いでできているドキュメントです。&lt;br&gt;
そりゃ分かるはずがないのです。&lt;br&gt;
なので落ち着いて一つ一つ解決していきましょう。&lt;br&gt;
具体的には、ドキュメントの単語やトピック一つ一つに対して、これが何か説明できるか？という疑問を自分にぶつけてみましょう。&lt;br&gt;
ここで説明できないものは全て"分からない"ものです。&lt;br&gt;
この"分からない"を全て解消したころには、ドキュメントが読めるようになっています。&lt;br&gt;
ただこの過程は時間がかかるので、一度上司に相談をしましょう。&lt;br&gt;
先程も言った通りここで"分からない"を隠蔽してはいけません。&lt;br&gt;
"分からない"ことは悪ではありませんが"分からない"を隠蔽することは確実に悪なので、意識しましょう。&lt;/p&gt;

&lt;h2&gt;
  
  
  認識合わせをする
&lt;/h2&gt;

&lt;p&gt;新人エンジニアのタスクといえば、基本的に上司から「こういうものを作って」と任されるのがほとんどだと思います。&lt;br&gt;
そんな時、自分の成果物のイメージと上司の成果物のイメージに違いがあることは本当によくあるパターンです。下手をすると、意気揚々と成果物完成しました！！なんて上司に持っていっても、「全然違うじゃねえか！！！全部やり直せ！！！」なんていう大事故に繋がりかねません。&lt;br&gt;
作業していた時間が全て無駄になってしまうので、なんとしても避けなければなりません。&lt;/p&gt;

&lt;p&gt;こんな大事故を避けるには、&lt;strong&gt;認識合わせ&lt;/strong&gt;が重要になってきます。&lt;/p&gt;

&lt;p&gt;上司からこういうものを作ってと説明があった場合は、その説明を復唱するのも一つの認識合わせですし、簡単に成果物を絵に書いてみて、こんな感じのものを作ろうとしていますと一度見せてみるのも良いと思います。&lt;br&gt;
お互いに認識を合わせて、無駄な時間の使い方をしないようにしましょう。&lt;/p&gt;

&lt;h2&gt;
  
  
  定点報告をする
&lt;/h2&gt;

&lt;p&gt;「定点報告」非常に重要です。&lt;br&gt;
定点報告をすることによって、認識合わせのステップでは拾いきれなかったイメージのズレを修正することができます。1時間間隔の報告であれば、1時間の間の進捗に対してイメージのズレや修正点のアドバイスを頂けるので成果物がよりクオリティの高いものとなります。&lt;br&gt;
また、1時間の間に"なにをやったのか"を報告しなければならないので、無駄な時間の使い方をしなくなり、作業効率アップにも繋がります。&lt;/p&gt;

&lt;h2&gt;
  
  
  図を描く
&lt;/h2&gt;

&lt;p&gt;画面からサーバー側へどのように情報が渡って、どのような処理が行われてデータベースから欲しい情報が得られるのか・・・&lt;br&gt;
このような複雑な情報は頭の中でイメージするには、限界がある上に、頭の中のメモリを大幅に取られてしまいます。頭の中のメモリを取られて過ぎてしまうと、本来の作業に割くメモリが無くなり作業効率が落ちてしまいます。&lt;br&gt;
こんな時は、図を描いてみましょう。図を描くことによってイメージで頭の中のメモリが取られることがなく、本来の作業に全てメモリを使うことができます。&lt;br&gt;
そしてこの作業の中で出てきた発想は図に書き足す事によってメモリが埋まっていくことを防ぎ、さらに新たな発想に繋げることができます。&lt;br&gt;
頭の中のメモリは有限ですが、図を描くための紙さえあればメモリを無限に増やすことができるので図を書きまくりましょう。&lt;/p&gt;

&lt;h2&gt;
  
  
  タスクの目的を常に意識する
&lt;/h2&gt;

&lt;p&gt;"何の為に今のタスクに取り組んでいるか"ここを捉えているかいないかでタスクのクオリティに大きな違いが出てきます。&lt;br&gt;
例えば、大半の新人エンジニアが最初に担当するのがテスト工程ですが、ここでありがちなのが"テストを消化する"ことが目的になってしまっているパターンです。&lt;br&gt;
このパターンだと、テスト項目書に書いてある結果になるかどうかだけを見てしまう為、タスクの完了時の評価を5段階評価(☆☆☆☆☆)にすると星3(★★★☆☆)といったところでしょうか。&lt;br&gt;
テストは作成したアプリが正常な動きをするか、異常な動きをしていないかを確認する工程です。&lt;br&gt;
この点を意識できていると、テスト消化の際に「項目書通りの動きはしたけど、レイアウトが崩れているなぁ」とか「項目書通りの画面は表示されたけど、表示されるまでのローディング画面が長かったなぁ」とか項目書で拾い切れていない不具合も拾うことができます。(実際に不具合かどうかは別として)ここまでできれば星5(★★★★★)じゃないでしょうか！！&lt;br&gt;
このように、タスクの目的を意識することによって視野が広がりますし、求められている成果物に限りなく近いものを作ることができます。場合によっては求められている以上の成果物を作ることも可能です。&lt;br&gt;
結果自分の成長にも繋がるところだと思うので、ぜひ意識してみましょう！&lt;/p&gt;

&lt;h2&gt;
  
  
  手を動かす
&lt;/h2&gt;

&lt;p&gt;これは実際にプログラムを組む際に大きく役立ちます。&lt;br&gt;
思っている処理にする為には、&lt;br&gt;
どのようなプログラムを組まなければいけないのか。&lt;br&gt;
ずっと頭の中で考え、進捗が上がらないことが多々ありました。&lt;br&gt;
このような状態を抜け出すには、とにかく手を動かすことが重要です。&lt;br&gt;
では具体的に何をするのか。&lt;br&gt;
ポイントは3点&lt;/p&gt;

&lt;p&gt;①仮説を立てる&lt;br&gt;
②仮説を実践してみる&lt;br&gt;
③振り返り&lt;/p&gt;

&lt;p&gt;このサイクルを素早く繰り返すことが、ゴールへの近道です。&lt;br&gt;
頭の中で仮説がたったら実践してみる、そこで失敗したとしても&lt;br&gt;
振り返りを行い、それを元に新たな仮説を立てる。&lt;br&gt;
頭の中だけでは絶対に答えは出ません。&lt;br&gt;
手を動かしてみましょう！！&lt;/p&gt;

&lt;h2&gt;
  
  
  タスク完了の時間は想定よりも多めに伝える
&lt;/h2&gt;

&lt;p&gt;上司からタスクを振られると共に、どれくらいでタスクを完了できるのかも&lt;br&gt;
一緒に聞かれることが多々あります。&lt;br&gt;
この場合、根拠のない想定時間をそのまま伝えるのは圧倒的に間違いです。&lt;br&gt;
私はよく、やったことのないタスクではあるがなんとなくこのくらいの時間で終わるだろうという想定で完了時間を報告していましたが、一度も報告通りの時間に完了したことはありません。&lt;br&gt;
基本的に、報告した時間内にタスクが終わらないというのはNGです。&lt;br&gt;
その為、根拠のある想定時間とイレギュラーが発生した際のことも含めて+αのタスク完了時間を報告するのがベストです。&lt;br&gt;
根拠のある想定時間の算出は、経験があるタスクであればある程度割り出すことは可能ですが、新人エンジニアには経験が無い為、すぐに算出することはできません。&lt;br&gt;
その為、少しタスクに着手してみて着手した上での進捗と掛かった時間から想定時間を算出するのが良いです。&lt;br&gt;
想定時間を算出できたら、＋αの時間を乗っけて報告するのがベストです。&lt;br&gt;
＋αの時間についてはなんとも難しいのですが、想定の3倍の時間で報告→了承を得るができればベストです。&lt;br&gt;
しかし、上司ならまだしもお客様との対話の中で安易に3倍の時間を報告するのは危険です。&lt;br&gt;
お客様の想定が1時間だった時に3時間で報告をしてしまうと、信用を失うことに繋がりかねません。&lt;br&gt;
まぁ上司だからと言って何も考えずに3倍の時間を伝えるのもまたちょっと違う話かなとは思いますけどね・・・&lt;br&gt;
ここは上司との対話の中で丁度良い頃合いを見つけていきましょう。&lt;/p&gt;

&lt;h2&gt;
  
  
  ショートカットキーを使いまくる
&lt;/h2&gt;

&lt;p&gt;スーパーエンジニアの上司曰く、仕事ができない人には決まって共通点があるとのこと。&lt;br&gt;
それは、&lt;strong&gt;ショートカットキーを使わない&lt;/strong&gt;ことです。&lt;br&gt;
細かい点ではあるのですが、１日の限られた時間のなかで多くの作業を行うにあたり、一番わかりやすくタスクの時間短縮ができるのがショートカットキー。&lt;br&gt;
アプリやウィンドウを切り替えるAlt+Tabキーや指定範囲をコピーするCtrl+C、ペーストするCtrl+v等はよく使った印象があります。&lt;br&gt;
一番感動したのは、エクセルのセルに文字を打ち込むときに、毎回セルをダブルクリックしていたのをセルを指定してF2キーを押すこと。&lt;br&gt;
こういったショートカットキーは、ショートカットキー 一覧 等で検索すれば紹介しているページがたくさん出てくるので調べて便利そうなものはどんどん使っていきましょう。&lt;/p&gt;

&lt;h2&gt;
  
  
  エラー文から逃げない
&lt;/h2&gt;

&lt;p&gt;エラーが起こった際は、ログを見て原因を特定し、修正をするという流れになりますが、新人エンジニアの場合、原因を特定する場面でかなり躓く印象があります。&lt;br&gt;
私を含め、周りの新人エンジニアも良くやっていたことなのですが、&lt;br&gt;
エラー文から目を背けるのはやめましょう。一生解決できません。&lt;br&gt;
何故か新人エンジニアがそろってやりがちなのですが、&lt;/p&gt;

&lt;p&gt;①エラー発生&lt;br&gt;
②ログを見る&lt;br&gt;
③エラー文をを発見&lt;br&gt;
④よくわからないから、原因と思われる部分をなんとなく修正してみる。&lt;/p&gt;

&lt;p&gt;何故なのか。自分でやっていてよく分からないのですが、&lt;br&gt;
無意識にエラー文から目を背けてしまっています。&lt;/p&gt;

&lt;p&gt;エラー文には問題解決のヒントが書いています。&lt;br&gt;
エラー文と向き合いましょう。&lt;br&gt;
調べればエラー文の意味は分かるはずです。&lt;br&gt;
エラー対処はエンジニアである以上避けては通れないので、&lt;br&gt;
今のうちにコツを掴みましょう！！&lt;/p&gt;

&lt;h2&gt;
  
  
  最後に
&lt;/h2&gt;

&lt;p&gt;長文にお付き合い頂きありがとうございました。&lt;/p&gt;

&lt;p&gt;私自身、まだまだ注意されることも多いですし、&lt;br&gt;
今回書いたことの中でも意識から外れてしまう点がいくつか&lt;br&gt;
あったりするので戒めの意味も込めて書いてみました。&lt;/p&gt;

&lt;p&gt;新人エンジニアというのは、できないことばかりで&lt;br&gt;
自信を失ってしまうこともあると思います。&lt;/p&gt;

&lt;p&gt;ですが、コツコツ積み重ねていけばきっと結果はついてくるはずです。&lt;br&gt;
現に私は初現場で、分からないことばかりで上司からコテンパンにされましたが、&lt;br&gt;
結果として多くの成果物をプロジェクトの中で残すことができました。&lt;/p&gt;

&lt;p&gt;どんどん挑戦して、レベルアップしていきましょう！！&lt;/p&gt;

</description>
      <category>beginners</category>
    </item>
  </channel>
</rss>
