Trot

駆け出し前プログラマの学習記録

入社準備

先日、第一志望の自社開発企業から内定をいただきました。暗中模索の独学が身を結んだことは本当に喜ばしいですが、まだまだスタートラインに立つ権利を得たところで、実務に入るここからが大切だと思います。入社日まで出来る限りダレずに勉強しようと思っ…

面接・現在の課題・新たな課題

私は独学でプログラミングを学んできたため、常に勉強の方向性についての悩みが付き纏いました。しかし最近は、熟練エンジニアの方々と接する面接から勉強の方向性についてのヒントを得られることにより、方向性についての悩みが随分と減りました。勿論、面…

Expressの進捗

引き続きExpressを学んでいます。Railsを試行錯誤して学んだ蓄積があるからでしょうか、まだ数日程度ですが、ミドルウェア定義、テンプレートエンジン(EJS)、ヴァリデーション、CRUD実装、ファイルアップロード実装、ログイン機能(express-session)の実装は…

Node.js + websocketsによるチャットアプリ

引き続きNode.jsを勉強しています。前回はRESTfulなAPIを作成しましたが、今回はチャットアプリに挑戦してみました。参考にしたのは以下の記事です。 完成品はこのような感じになります。 node.jsとwebsocketを使用してセッション中にリアルタイム通信する簡…

Node.js + Express + Sequelize によるRESTful API

先日、Node.js向けのWebアプリケーションフレームワークExpressに興味がわき、ここ数日間は主にExpressを勉強してみます。フレームワーク全体構成の理解も良いですが、兎にも角にも触ってみないことには始まらないと思ったため、「CRUD機能を実装する」を目…

新しい言語模索

RubyとRailsの学習を一段落させて、新しい言語を模索しています。動的型付け言語かつ軽量プログラミング言語のRubyを中心に据えて学習してきましたが、もっと幅を広げたいからです。「Rubyと異なる特徴を持っていること」を技術選定の基準として、とにかくい…

作業の山場

最近はSNSも控え作業に集中しています。11月からプログラミングの独学を始め、随分と寄り道をしてきましたが、作業の終わりが見えてきました。プログラミング仲間やメンターと言える人たちは全くいませんが、幸いなことに現在まで「勉強辛い...」となったこ…

プランB

どこで読んだかは忘れてしまいましたが、先日読んだエンジニアのインタビューで「常にプランBを持つ」というTipsが紹介されており、自分の現状に刺さりました。モノづくりの現場では時間と完成度のトレードオフが常にあり、限られた時間の中で完成度を最大化…

atcoder ABC B問題埋め100問突破

毎日少しずつ進めてやっとABCのB問題埋めが100問突破しました。最初は1日1問で精一杯な感じもありましたが、ここ1~2ヶ月は、すぐに1問解けた場合には追加でもう1問解いたりすることもありました。一般的な難易度のB問題であれば、かなり自信を持って解ける感…

AOJが楽しい

今まではatcoder以外知りませんでしたが、AOJのおかげで新しい選択肢が増えました。atcoderの過去問埋めと違い、問題の順番が整理されていているので、段階的にじっくり実力が伸ばせそうな気がします。ベクトルと行列の積を出力するプログラなど、実践的で面…

~3/8 今週の振り返り

少し遅れてしまいましたが簡単に振り返ります。 メタプログラミング Ruby 『メタプログラミング Ruby』を4章終了時点で一時休止を決定しました。理由は「今は必要性を感じないから」です。ブロックをオブジェクト化したProcオブジェクトの使い方やクラスメソ…

書評『僕は君たちに武器を配りたい』 

このブログで扱う対象は技術系のことに留めるようと思っていましたが、そればかりではあまりに機械的なので「名刺代わりにするためには私という個人をもう少し公開した方が良いかな」と思いました。書評は趣味の読書の一環ではありますが、少なくとも週に1冊…

『CPUの創りかた』との格闘

『プログラムはなぜ動くのか』で、教科書的に「CPUはコンピュータにおける処理の中枢を担う装置である」と知り、続いて「メモリから命令をフェッチして、それをレジスタに記憶してetc…」と覚えましたが、どうにも具体的に動くモノがないために漠然とした理解…

~2/23までの学習記録

まずは小さなところから書こうと思います。 ・競技プログラミング atcoderB問題埋めのゴールが見え始めたので、『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』の学習を開始しました。~P300までの基本編までは気長に読み進める予定です。…

~2/15 今週の振り返り

Docker 先週に引き続き、今週もDocker中心の学習内容となりました。この本を読みました。英語の本ですが非常に丁寧に書かれていて、今まで読んだDockerに関する文章の中では最もわかりやすく感じました。機能がない場合からスタートして、「これは実はこうす…

~2/9 今週の振り返り

今週も色々なことを勉強しました。書ききれないので、まず細々としたものを以下に簡単にまとめます。 ・『Practical Object-Oriented Design』(残り30%程度) Practical Object-Oriented Design: An Agile Primer Using Ruby (2nd Edition) 作者:Sandi Metz …

『コーディングを支える技術』を読了

タイトル通りです。簡単に感想を書こうと思います。望外の面白さだったため、お風呂に入りながら読んだりもしましたが、基本的には毎日30分ほどかけて数日読みきりました。 C、FORTRAN、Lisp、Perl、Java、Ruby、Javascript、など様々な言語を使ったサンプル…

最近読んだ本

読んだ本 『ゼロからはじめるLinuxサーバー構築・運用ガイド』 『プログラムはなぜ動くのか』 『ゼロからわかるAmazon Web Services 超入門』 1は隅から隅まで読んではいません。私はAWSの勉強をしているのですが、1で活用しているのはさくらVPSです。しかし…

atcoderコンテストに初参加

Twitterの利便性を知って以来、勉強の進捗は主にtwitterに記録することにしています。ブログはどうしても書くのに時間がかかりすぎるからです。「ブログを書く暇があればコードを書いたり本を読んだりしたい」というのが本音です。とはいえ、長期的な展望を…

1月11日の学習ノート atcoder abc128 B問題 Rubyの解答

ABC128回のB問題についての学習ノートです。検索して見ると、複数箇所で「明らかにB問題の範囲を超えた問題」「C問題相当」などと言われていました。実際、私にとっては結構な難問で、理解に苦労しました。「atcoderは毎日長くても1時間まで」と決めているの…

Railsチュートリアル完走

Railsチュートリアルを完走しました。私は「プログラミング学習開始から2ヶ月でRailsチュートリアル終了」を大体の目処に勉強していたので、中々に感慨深いものがありました。ただ一方で、チュートリアルが終盤に差し掛かるに連れて、「これ、実践しないと身…

1月7日の学習ノート atcoder エラー地獄

atcoder ABC 131のB問題 bite eatingに挑戦していました。問題を解くためのロジックは理解していたつもりだったのですが、エラーを繰り返し、2日がかりで解決することができました。考え続けると案外上手くいくものです。 エラーの数々 入出力の誤り、場合分…

1月6日の学習ノート railsチュートリアル12章終了

今日の進捗は主に2つあります。 1つ目は、railsチュートリアルの12章終了です。 railsチュートリアル12章を終わらせました。今思うと、安全なパスワードの保存方法、session、cookiesを活用したログイン状態の維持、パスワードを忘れた時の対処法など、6章~1…

The Modern JavaScript Tutorial Fundamentalsまで終了

最近は毎日30分ほど時間を割いてこのサイトで学習しています。 JavaScript Fundamentalsまで終了しました。今のところ、Javascriptは言語的にはメインとしているRubyと思ったほど遠くない印象です。ただ、undefinedという型が存在する、「0」がfalseになるな…

1月5日の学習ノート Atcoder B Ordinary Number

毎日継続中のAtcoderから1問です。 B - Ordinary Number 問題文 {1, 2, ..., n} の順列 p = {p1, p2, ..., pn} があります。 以下の条件を満たすような pi (1

Javascriptの学習理由

様々な記事で「バックエンド志向ならRubyやPHPを学びましょう」と記載されていることが多く、あたかもフロントエンドの知識があまり重要ではないと錯覚しそうになりますが、フロントエンドorバックエンドという分類は便宜上の二分法に過ぎず、実際にはその両…

1月4日の学習ノート  atcoder B問題 Good Distance

B問題を10問ほど解いてきましたが、手の付けどころがわからないと感じる経験はありませんでした。しかし今回の問題は、見て10分ほど考えた段階で、「今の知識の組み合わせではかなり難しい」と感じました。そこで様々な方の解答を見る勉強に切り替えました。…

1月3日の学習ノート Javascriptにおける論理演算子の取り扱いと注意点

学習リソースはこちらのサイト。 Andの特性 オペランドが3つ以上の場合の特徴的な振る舞い。 The rules above are similar to OR. The difference is that AND returns the first falsy value while OR returns the first truthy one. If all operands have …

1月2日の学習ノート Atcoder Problems のA問題埋め終了

プログラミングの学習を開始し、Ruby界隈で有名なチェリー本を読んでいたのですが、写経ばかりで自分の頭で考えたコードを実装する教材を探していた時に運よく巡り会うことができたのがatcoderでした。思考をコードに落とし込む非常に良い訓練として活用する…

1月1日の学習メモ Operator Precedence

Javascriptの学習 学習ソースはこのサイト。他言語経験者なので文法説明的な箇所は流し読みして、実践で慣らせば十分と思っていましたが、言語問わず有益な内容と思えたので読み飛ばさずに最初からきっちり読むことにしました。チュートリアルという名の通り…