EurekaMoments

ロボットや自動車の自律移動に関する知識や技術、プログラミング、ソフトウェア開発について勉強したことをメモするブログ

連結リストから重複したノードを全て削除する問題とC++サンプルコード

背景

プログラミングテストの練習問題として、
連結リストから重複したノードを全て削除
する問題を解いたので、その解法をメモ
しておく。

目次

  • 背景
  • 目次
  • 連結リストに関する類題
  • 問題
  • 解法
続きを読む

重複したノードを含んだ連結リストをユニークなリストにする問題とC++サンプルコード

背景

プログラミングテストの練習問題として、
重複したノードを含んだ連結リストをユニークに
する問題を解いたので、その解法をメモしておく。

目次

  • 背景
  • 目次
  • 連結リストに関する類題
  • 問題
  • 解法
続きを読む

IntelliJ IDEAでJavaコードのユニットテストをする手順

背景

Javaを勉強するにあたり、開発環境としてIntelliJ IDEAを使い始めた。
作成したクラスのユニットテストコードを作成・実行する機能がとても
便利なので、その際の手順をメモしておく。

目次

  • 背景
  • 目次
  • JUnitによるユニットテスト
  • ユニットテスト実行手順
    • 1. テスト対象のクラスを作成する
    • 2. テストコード用ディレクトリを作成する
    • 3. 作成したディレクトリをテスト用に設定する
    • 4. テスト用クラスを作成する
    • 5. テストコードの中身を記述する
    • 6. テストコードを実行する
続きを読む

連結リストのサイクル検出問題とC++サンプルコード

背景

コーディングインタビューの練習問題として、
連結リストのサイクル検出問題を解いたので、
その解法をメモしておく。

目次

  • 背景
  • 目次
  • 連結リストとは
  • サイクル検出
  • 解法
続きを読む

「スッキリわかるJava入門 実践編」を読んで為になった事のメモ

背景

上記の書籍を読んで、Javaによる実践的なソフトウェア開発を
するために必要な知識を得られたので、その中から特に印象に
残ったものをメモしておく。

関連記事

これの前段階である入門編を読んだ際のまとめ記事はこちら。
www.eureka-moments-blog.com

目次

  • 背景
  • 関連記事
  • 目次
  • メモ
    • 2つのインスタンスが等価かを判定するequals()
    • オブジェクト自身のハッシュ値を返すhashCode()
    • インスタンスの自然順序付け
    • null安全に配慮したOptionalクラス
    • 関数オブジェクトの代入
    • 標準関数インターフェース
    • ラムダ式の省略記法
    • 高階関数による宣言的な記述
    • タイムゾーンの操作
    • ファイル操作時の例外処理
    • XMLファイルを操作するためのJAXP
    • OSSライブラリJacksonを使ったJSONファイルの操作
    • javadocによる仕様書の自動生成
    • チーム開発
      • チーム開発に必要なもの
      • アジャイル開発の進め方
      • スクラム
      • プロダクトバックログ
      • スプリントバックログ
      • 障害リスト
      • スプリント計画ミーティング
      • デイリースクラム
      • スプリント・レビュー
      • スプリント・レトロスペクティブ
      • デイリースクラムの実践ポイント
    • Threadクラスによる並列処理
    • synchronizedによる排他制御
続きを読む

Javaに入門して印象的だったことのまとめ

背景

上記書籍を読んで、Javaの基本および、C++やPythonのような
多言語との違いがいろいろわかったので、その中から特に
印象的だったものをメモしておく。

目次

  • 背景
  • 目次
  • メモ
    • ファイル名は「クラス名.java」とする
    • 1バイトのデータはbyte型
    • 定数の宣言ではfinalとつける
    • 文字列を記述する際のエスケープシーケンス
    • 整数型としてのchar型
    • 文字列を数値に変換する命令
    • 文字列の比較
    • 配列変数の作成
    • ガベージコレクション
    • 引数に配列を用いる
    • 複数のクラスファイルをまとめたJARファイル
    • import宣言は入力軽減機能
    • パッケージ名の付け方について推奨されるルール
    • Java APIの使い方
    • 暗黙のコンストラクタ
    • extendsによる継承
    • 継承を禁止するためのfinal
    • 親クラスのコンストラクタの呼び出し
    • 抽象メソッドとして宣言するabstract
    • 抽象クラスはnewによるインスタンス化が禁止される
    • 特に抽象度が高い抽象クラスを宣言するインターフェース
    • キャストしても大丈夫かチェックするinstanceof演算子
    • 最低限の機能を備えたObjectクラス
    • staticメソッドはインスタンスを1つも生み出さずに呼び出せる
    • StringBuilderを用いた文字列の連結
    • 文字列連結で+演算子が遅い理由
続きを読む