ヤマカサのプログラミング勉強日記

プログラミングに関する日記とどうでもよい雑記からなるブログです。

プログラミング

プロを目指す人のためのRuby入門 その16

第9章 例外処理を理解する プログラミングとはエラーとの戦いである。(ヤマカサ) はい。今回から例外処理について学んでいきます。Java では、try-catch 文を使って例外処理を記述しました。

CODE COMPLETE 第2版 上 その6

第5章 コンストラクションにおける設計 構成要素の設計 : ヒューリスティック 設計は非決定論的なプロセスなのでヒューリスティックを効果的に適用させることが大事です。 オブジェクト オブジェクト指向の設計では、現実世界のオブジェクトと人工的なオブ…

CODE COMPLETE 第2版 上 その5

第5章 コンストラクションにおける設計 久しぶりに CODE COMPLETE を読んでいきたいと思います。

CODE COMPLETE 第2版 上 その4

第4章 コンストラクションの重要な決断 コンストラクションのための前段階の作業を終えた後、プログラマが直接的・間接的に準備する事項に焦点を当てます。前段階の作業は上流工程に当たるので、プログラマ自身がその作業を行わない可能性もあります。

CODE COMPLETE 第2版 上 その3

第3章 2回測って、1度で切る:上流工程の必要性 ソフトウェアコンストラクションを行うために必要な前段階の作業についての章です。良い設計図がなければ良い家が建築できないのと同様に、ソフトウェアについても同じことが言えます。ユーザの要求を汲み…

CODE COMPLETE 第2版 上 その1

今日から CODE COMPLETE を読んでいきます。 第 1 章 ソフトウェアコンストラクションへようこそ

リーダブルコードを読む その11

15章 「分 / 時間カウンタ」を設計・実装する 最終章です。 実践例を通して読みにくいコードを読みやすいコードにしていく過程を学びます。 コードの計算量やメモリ使用量などを比較して解決策を決める。 読み終えた感想 この本を読むことだけでは可読性が高…

リーダブルコードを読む その10

リーダブルコード リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典 出版社/メーカー: オライリージャパン 発売日: 2012/06/23 メディア: 単行本(ソ…

AtCoder Beginner Contest 099に参加しよう

AtCoder Beginner Contest 099 6月10日の21:00にAtCoderでプログラミングコンテストがあるので参加したいと思います。前回は残連ながらB問題までしか解くことができませんでしたが、今回はC問題まで解けるように頑張ります。 abc099.contest.atcoder.jp

リーダブルコードを読む その10

リーダブルコード 13章を読み終わったので、第Ⅲ部が終わりました。 13章 短いコードを書く 「最も読みやすいコードは、何も書かれてないコードだ」という考えの下で議論が展開されています。コードを短くするために、ライブラリを利用することが推奨されてい…

リーダブルコードを読む その9

リーダブルコード 12章 コードに思いを込める コードの説明を簡単な言葉で書き、その説明の中のキーワードやフレーズに注目する。その説明に合わせてコードを書く。そうすることで、分割すべき下位問題を見つけることができる。 リーダブルコード ―より良い…

リーダブルコードを読む その8

リーダブルコード 第Ⅲ部 コードの再構成 11章 一度に1つのことを 関数の中に複数のタスクがあるコードは理解しにくいので、関数は一度に1つのことを行うべきです。改善方法は、関数のタスクを列挙し、タスクをそれぞれ別の異なる関数に分割します。 プログラ…

リーダブルコードを読む その7

リーダブルコード 第Ⅲ部 コードの再構成 第Ⅲ部では、コードを大きく書き換えて読みやすくします。内容は次の三つです。 ・プログラムの主目的と関係のない下位問題を抽出する。 ・コードを再構成して、一度にひとつのことをやるようにする。 ・最初にコード…

賞金10万円? bitFlyer Programming Contest

codeFlyer bitflyer2018-qual.contest.atcoder.jp 6 月 2 日(土)21 時 ~ 23 時にbitFlyer が主催するプログラミングコンテストがあるそうです。このコンテストはビットコインに関する問題が出題され、優秀な成績をおさめた人には、bitFlyerの内定が与えら…

リーダブルコードを読む その6

リーダブルコード リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典 出版社/メーカー: オライリージャパン 発売日: 2012/06/23 メディア: 単行本(ソ…

リーダブルコードを読む その5

リーダブルコード リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典 出版社/メーカー: オライリージャパン 発売日: 2012/06/23 メディア: 単行本(ソ…

リーダブルコードを読む その4

リーダブルコード 今日はリーダブルコードの7章を読みました。 7章 制御フローを読みやすくする コード制御フローを読みやすくするためには、 ・条件式の引数の並びを、(「調査対象の式: 値が変化しない」 演算子 「比較対象の式: 値があまり変化しない」)と…

リーダブルコードを読む その3

リーダブルコード 今日は6章を読みました。2章から6章までが第1部の「表面上の改善」として書かれています。 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) 作者: Dustin Boswell,Trevor Foucher,須藤功…

リーダブルコードを読む その2

リーダブルコード 今日はリーダブルコードの4章と5章を読みました。 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典 出版社/メーカー: オライリージ…

リーダブルコードを読む その1

リーダブルコード 読みやすく理解しやすいコードを記述するための考え方を学びたかったので、プログラム系の技術書として有名なリーダブルコードを読みたいと思います。僕が見ているブログでも取り上げられていたのも読もうと思った理由です。 yjkym.hatenab…

[Java] 多次元の配列のソート

yamakasa.net 多次元の配列のソート 競技プログラミングの問題を解いてるときに、多次元の配列のソートってどうやるんだろうと悩んだことがありました。ここで多次元の配列のソートとは、例えば次の二つの配列A, Bが与えられたとします。 A = {4, 2, 5, 6, 1…

アルゴリズムとデータ構造を学ぶ

アルゴリズムとデータ構造 競技プログラミングを勉強していく上でアルゴリズムとデータ構造は避けて通ることができないと思います。 今までは初歩的な問題のみを解いていたので、データの整列などを意識して使ってこなかったので、これからはステップアップ…

はてなブログにソースコードを行番号付きで貼り付ける

参考サイト am1tanaka.hatenablog.com Markdownでは、 ```java ソースコード ``` のように記述して、ソースコードを貼り付けていますが、この方法では行番号が付きません。 上記のサイトのように、デザインのカスタマイズのフッタを編集することで行番号を付…

AtCoderでプログラミングの問題を解く

AtCoderの問題を解く 競技プログラミングのサイトは色々あると思いますが、今回はAtCoderで問題を解いてみました。 AtCoderに登録をした後にすること 私は競技プログラミング初心者なので、AtCoder Beginners Selectionの問題から始めようと思います。 AtCod…

いもす法

いもす法 いもす法なるアルゴリズムを勉強しました。 いもす法は累積和の拡張によるアルゴリズムだそうです。

テキストエディタのフォント

可読性を上げるためのフォント コードを読みやすくするためには、自分にとって読みやすいフォントを選ぶことが大事だと思います。僕が使っているフォントは"Sorce Han Code JP"というものを使用しています。1, l, |といった文字の区別がつきやすいです。オー…

YoutubeでJavaを学ぶ

YoutubeでJavaの入門講座があったので、紹介します。 プログラミングで最初に躓きやすいのは環境設定をすることだと思いますが、この動画ではEclipseの導入から説明してくれます。この動画のチャンネルは"NCC新潟コンピュータ専門学校"ということなので、動…

読みやすいプログラムを書くために

プログラムを書く上で可読性を意識することは大事ですが、具体的にどのようなコードが読みやすいかといったことを僕はあまり理解していません。ジョブサポートというサイトで読みやすプログラムの書き方についての資料があったので、紹介します。 www.job-su…

アルゴリズムの問題を解く

今日からアルゴリズムの問題をyukicoderといサイトで公開されているもの利用して解きたいと思います。 今回は、 No.646 逆ピラミッド - yukicoder を解きました。 public class InvertedPyramid { public static void main(String[] args) { System.out.prin…

コレクションに関する操作

スッキリわかるJavaの3章は配列やリストに関する内容でした。配列を使うプログラムは、あらかじめ配列の要素数を宣言してから使う必要がありますが、ArrayListを使うと要素の追加の操作が簡単になりました。 昨日の線形探索 (全数探索) では、探索する配列に…