山傘のプログラミング勉強日記

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

プログラミング

リーダブルコードを読む その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] 多次元の配列のソート

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

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

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

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

参考サイト 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を使うと要素の追加の操作が簡単になりました。 昨日の線形探索 (全数探索) では、探索する配列に…

日付に関する操作

スッキリわかるJavaの2章は日付に関するものでした。Java8から日付に関する新しいAPIが加わったことから、日付に関する操作の利便性が上がったそうです。LocalDateTimeクラスによって、抽象度の高い日付を定義できるようになったことが分かりました。 練習問…

文字列の操作

スッキリわかるJavaの1章では、文字列の操作の内容でした。正規表現など知らなかったこともあり、初めて使うメソッドばかりでした。 練習問題の中に、文字列の末尾に"¥"があるかどうかを調べる問題がありました。これは、matchesかendsWithを使うことで対応…

スッキリわかるJava入門実践編第2版

今日から、“スッキリわかるJava入門実践編第2版”でJavaの勉強を始めようと思います。わかりやすいJavaの方は後100ページほどで終わるので、新しい本で勉強します。

ニコニコ動画でJavaを学ぶ

ニコニコ動画のJavaを用いてゲームプログラミングを学ぶという動画の紹介。 この動画はT.UmezawaさんがRPGの制作を通してJavaを学ぶというものです。非常に丁寧な解説で、初めてプログラミングをするという人や、僕みたいな少しJavaの勉強をしたことがあると…