2025/1/20 学習記録

## 現状：
エンジニアへの未経験転職。
就職先も決まり、2月からひよこエンジニアに。

2025年は頑張ろうということで、2025年学習記録14日目。
連日、引っ越しのための手続きにフラストレーションの溜まるやり取りにうんざり。
荷作りに時間が取られてました。

内容は常に書き散らしのメモです、あしからず。

当面の目標：LPIC101,102合格


# Linux

## `パーティション`

物理ディスクを論理的に分割した領域のこと。
1つのハードディスクを複数の独立した部分に分け、別々のディスクのように扱う。

### パーティションの種類

1. 基本パーティション:
    - 1台のディスクに最大4つまで作成可能
    - システムの起動に使用される[5]
    - デバイスファイル名は/dev/sda1, /dev/sda2などとなる
2. 拡張パーティション:
    - 基本パーティションの1つを拡張パーティションとして使用可能
    - 直接ファイルシステムを作成できない
    - 論理パーティションを格納するための枠組み
3. 論理パーティション:
    - 拡張パーティション内に作成される
    - デバイスファイル名は/dev/sda5以降となる

### パーティションを作成する主な目的

- データの保護: あるパーティションでトラブルが発生しても、他のパーティションのデータを守ることができる
- システム管理の効率化: システム領域とデータ領域を分けることで、再インストールやバックアップが容易になる
- パフォーマンスの最適化: 用途に応じてパーティションを分けることで、ファイルシステムのパフォーマンスを向上させることができる

Linuxでは、作成したパーティションを任意の場所にマウントして使用します[2]。これにより、柔軟なディスク管理が可能となり、システムの効率的な運用やデータの安全性向上に寄与します。

### Citations:

[1] https://linuc.org/study/knowledge/347/
[2] https://eng-entrance.com/linux-partition
[3] https://www.infra-manual.com/partition/
[4] https://qiita.com/kakkie/items/8f960f2dc5eb6e591d9d
[5] https://www.infra-linux.com/menu-linux5/basic-ext-partition/
[6] https://ameblo.jp/bakery-diary/entry-12639340661.html
[7] https://l-study.arcjp.com/lpic/linux-essentials/linux-essentials-online-text/le-4-4/
[8] https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/5/html/installation_guide/ch-partitions-x86


## `/dev/hdc`

IDE接続のセカンダリマスターに接続されたデバイスを表すデバイスファイル。

### 割り当てられるデバイス

1. IDE CD-ROMドライブ[1]
2. IDEハードディスクドライブ（HDD）[2][3]

IDEは古いインターフェース規格で、プライマリとセカンダリの2つのチャネルがあり、各チャネルにマスターとスレーブの2つのデバイスを接続できる。

カーネル2.6.18以降のLinuxシステムでは、libataドライバの導入により、IDEデバイスもSCSIデバイスとして扱われるようになった。
→現代のシステムでは`/dev/hdc`の代わりに`/dev/sdX`という形式のデバイスファイルが使用される可能性が高い。

### Citations:

[1] https://www.linux-jp.org/?p=735
[2] [https://tech.pjin.jp/blog/2012/10/30/linuxserver-１３回　ハードディスクの管理とパーティシ/](https://tech.pjin.jp/blog/2012/10/30/linuxserver-%EF%BC%91%EF%BC%93%E5%9B%9E%E3%80%80%E3%83%8F%E3%83%BC%E3%83%89%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%81%AE%E7%AE%A1%E7%90%86%E3%81%A8%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7/)
[3] https://qiita.com/kakkie/items/8f960f2dc5eb6e591d9d
[4] https://www.infraexpert.com/infra/linux25.html
[5] https://manual.atmark-techno.com/armadillo-9/armadillo-9_startup_guide_ja-1.1.6/ch05.html
[6] [https://www.dell.com/support/kbdoc/ja-jp/000132092/ubuntu-linux-の-ハードドライブ-と-デバイスの用語-の説明](https://www.dell.com/support/kbdoc/ja-jp/000132092/ubuntu-linux-%E3%81%AE-%E3%83%8F%E3%83%BC%E3%83%89%E3%83%89%E3%83%A9%E3%82%A4%E3%83%96-%E3%81%A8-%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%AE%E7%94%A8%E8%AA%9E-%E3%81%AE%E8%AA%AC%E6%98%8E)
[7] https://users.miraclelinux.com/technet/document/linux/training/1_3_1.html
[8] https://www.tsukuba-tech.ac.jp/repo/dspace/bitstream/10460/549/1/Tec08_1_09.pdf
















# Ruby
## `include?()`メソッド

指定した要素が配列や文字列内に含まれているかを判定するメソッド。

### 特徴

1. 返り値：
    - 指定した要素が含まれている場合は`true`を返します。
    - 指定した要素が含まれていない場合は`false`を返します[1]。
2. 使用方法：
配列や文字列に対して、ドット記法で呼び出します。例えば：
    
    ```ruby
    array = ["foo", "bar"]
    puts array.include?("bar")  # true
    puts array.include?("baz")  # false
    
    ```
    
3. 活用例：
    - 配列内の要素の存在確認：
        
        ```ruby
        numbers = [1, 2, 3, 4, 5]
        puts numbers.include?(3)  # true
        puts numbers.include?(6)  # false
        
        ```
        
    - 文字列内の部分文字列の確認：
        
        ```ruby
        string = "Hello, world!"
        puts string.include?("world")  # true
        puts string.include?("Ruby")   # false
        
        ```
        
4. 条件分岐との組み合わせ：
include?メソッドはif文と組み合わせて使用することで、特定の条件に基づいた処理を行うことができます[1][3]。

### 配列内に文字が含まれているか確認する方法

```ruby
# stringに引数に指定した値が含まれているか確認する
array = []
array << gets.split.map(&:to_i)
if array.include?(2)
  puts array.count(2)
end
```

### Citations:

[1] https://qiita.com/ta--i/items/3a7004d890bccf7ad2c1
[2] https://magazine.techacademy.jp/magazine/19475
[3] https://qiita.com/mr0216/items/e3037408d0676e53481c
[4] https://zenn.dev/take_tech/articles/d2a4e7d17b6180
[5] https://style.potepan.com/articles/16207.html
[6] https://dexall.co.jp/articles/?p=133
[7] https://docs.ruby-lang.org/ja/latest/method/Array/i/include=3f.html
[8] https://www.sejuku.net/blog/16057

















### 今日はここまで！