0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

2025/1/8 学習記録

Posted at

現状:

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

2025年は頑張ろうということで、2025年学習記録8日目。
(昨日は実家の相談で学習なし)

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

当面の目標:LPIC101,102合格

Ruby(paiza)

  • まだCランクしか無理なので日々頑張る。
S = gets.chomp
T = gets.chomp

# 一文字ずつ分解
# 一致する文字列があるかsort
# 無ければその文字を大文字または小文字に変換する

T_array = T.split("")

for i in T_array do
    unless S.include?(i)
        i.swapcase!
    end
end

conT = T_array.join

puts conT

swapcaseメソッド

文字列内のすべての大文字を小文字に、すべての小文字を大文字に変換する。

swapcaseメソッドは非破壊的で、元の文字列を変更せずに新しい文字列を返します。元の文字列を直接変更したい場合は、破壊的メソッドであるswapcase!を使用します[3]:

使用例

str = "Hello World"
swapped_str = str.swapcase
puts swapped_str  # 出力: "hELLO wORLD"

str = "Hello World"
str.swapcase!
puts str  # 出力: "hELLO wORLD"

このメソッドはUnicode文字列にも対応しており、アルファベット以外の文字(数字、記号、日本語など)はそのまま保持されます[3]。

Citations:

[1] https://dev.cajon.co.jp/how/ruby/ruby文字列の大文字変換と小文字変換の方法/
[2] https://qiita.com/mat827/items/ebfe189d652b619b3e6d
[3] https://job-info.hateblo.jp/entry/2024/08/24/165630
[4] https://docs.ruby-lang.org/ja/2.3.0/method/String/i/upcase.html

joinメソッド

配列の要素を連結して文字列に変換する。

使用例

original_string = "foo,bar,baz"
array = original_string.split(',')
restored_string = array.join(',')

puts restored_string  # 出力: "foo,bar,baz"

joinメソッドの引数には、元の文字列で使用されていた区切り文字を指定します。この例では、カンマ(',')を使用しています[6]。

joinメソッドに引数を渡さない場合、単純に要素同士を結合して文字列に変換します[4]。例えば:

array = ['foo', 'bar', 'baz']
result = array.join

puts result  # 出力: "foobarbaz"

Citations:

[1] http://taustation.com/ruby-string-array-range-comversion/
[2] https://www.delftstack.com/ja/howto/ruby/array-to-string-ruby/
[3] https://qiita.com/beanzou/items/a9253ee083aeac9fc608
[4] https://kyoheiex.hatenablog.jp/entry/2024/07/01/115806
[5] https://pikawaka.com/ruby/split
[6] https://rubytips86.hatenablog.com/entry/2014/03/25/141326
[7] https://pikawaka.com/ruby/to_a

Linux

APT(Advanced Package Tool)

Debian系のLinuxディストリビューションで使用されるパッケージ管理システム。

概要

  • パッケージ管理: APTは、ソフトウェアのインストール、更新、削除を自動的に行うためのシステムであり、ユーザーが手動で依存関係を解決する必要がありません[1][3][9]。
  • リポジトリとの連携: APTは、インターネット上のリポジトリからパッケージを取得し、これにより最新のソフトウェアを簡単にインストールできます[2][6][8]。
  • 依存関係の解決: 必要なパッケージを自動的にインストールし、ソフトウェア間の衝突を回避します[1][4][6]。

主なコマンド

  • apt-get: パッケージのインストールやアップデートを行うためのコマンドです。例えば、apt-get install package_nameで指定したパッケージをインストールします[2][4][6]。
  • apt-cache: パッケージ情報の検索や表示を行うためのコマンドです。例えば、apt-cache search keywordでキーワードに関連するパッケージを検索します[2][4][7]。
  • aptitude: より高機能なパッケージ管理ツールで、対話的な操作や高度な検索機能を提供します[1][3][9]。

特徴

  1. ユーザーフレンドリー: シンプルなコマンドで操作できるため、初心者でも扱いやすい[1][6]。
  2. オフライン操作: 一度キャッシュされたパッケージ情報を利用してオフラインでも操作可能です[2]。
  3. 広範なサポート: Debianだけでなく、その派生ディストリビューション(Ubuntuなど)でも広く使用されています[1][9]。

Citations:

[1] https://linuc.org/study/knowledge/432/
[2] https://envader.plus/course/5/scenario/1029
[3] https://e-words.jp/w/APT.html
[4] https://www.infraexpert.com/infra/linux09.html
[5] https://www.debian.org/doc/manuals/debian-faq/pkgtools.ja.html
[6] https://xexeq.jp/blogs/media/it-glossary34
[7] https://pineof.com/advanced-package-tool/
[8] https://qiita.com/tttmurakami/items/59c8552c7b6fb6498c73
[9] https://ja.wikipedia.org/wiki/APT

rpm2cpio

RPMパッケージファイルをcpioアーカイブ形式に変換するコマンドラインツール

機能

  • 変換: 指定されたRPMファイル(.rpm)をcpio形式に変換し、その内容を標準出力に出力します。
  • 標準入力の利用: 引数に「-」を指定することで、標準入力からRPMデータを読み込むことも可能です。

使用例

  1. RPMファイルをcpio形式に変換して出力する:
    rpm2cpio package.rpm > package.cpio
    
  2. 標準出力に直接出力し、cpioコマンドと組み合わせて使用する:
    rpm2cpio package.rpm | cpio -idv
    

目的

rpm2cpioは、RPMパッケージの内容を確認したり、特定のファイルを抽出したりする際に役立ちます。これにより、パッケージをインストールせずにその内容を調べることができます。

Citations:
[1] https://kazmax.zpp.jp/cmd/r/rpm2cpio.8.html
[2] https://ameblo.jp/hbnizm31/entry-11640549599.html
[3] https://qiita.com/hikotaro_san/items/d9798af514d7da2e89c1
[4] https://docs.oracle.com/cd/E56342_01/html/E54074/rpm2cpio-1.html
[5] https://atmarkit.itmedia.co.jp/flinux/rensai/linuxtips/522rpmcpio.html
[6] https://qiita.com/tkj/items/0c4ea811b4c656db727a
[7] http://www.netlaputa.ne.jp/~utty/linuxmld/rpm2cpio1.html
[8] https://ja.manpages.org/rpm2cpio/8

  • Linuxでは「2」を「to」のように使用する傾向がある???

cpio形式

ファイルとディレクトリをアーカイブするためのフォーマット。

特徴

  1. アーカイブ形式:
    • cpioは、複数のファイルを一つのアーカイブにまとめるための形式で、各ファイルの前にメタデータとしてヘッダー情報が付加されます。
  2. 非圧縮:
    • cpio自体はデータを圧縮しませんが、他の圧縮ツール(例えばgzip)と組み合わせて使用することが一般的です。
  3. ヘッダー構造:
    • cpioアーカイブには、ASCII形式とバイナリ形式の2種類のヘッダーがあります。ASCII形式は人間が読める形でメタデータを保持し、バイナリ形式は機械可読性が高いです。
  4. 互換性:
    • cpioはUnix系システム間で広く互換性があり、さまざまなプラットフォームで利用可能です。
  5. 用途:
    • ソフトウェアの配布やデータバックアップ、システム管理などに利用されます。

使用例

  • cpioコマンドを使用して、新しいアーカイブを作成したり、既存のアーカイブからファイルを抽出したりすることができます。

cpio形式は、特にファイル管理やバックアップ処理において便利なツールです。

Citations:

[1] https://products.aspose.com/zip/ja/most-common-archives/what-is-cpio/
[2] https://docs.aspose.com/zip/ja/net/cpio-archiving/
[3] https://www.ibm.com/docs/ja/zos/2.4.0?topic=descriptions-cpio-copy-inout-file-archives
[4] https://www.ibm.com/docs/ja/zos/2.5.0?topic=formats-cpio-format-cpio-archives
[5] https://www.weblio.jp/content/cpio
[6] https://www.ibm.com/docs/ja/aix/7.2?topic=c-cpio-command
[7] https://surf.st.seikei.ac.jp/~nakano/JMwww/html/GNU_cpio/man1/cpio.1.html
[8] https://man.plustar.jp/manpage/man1/cpio.1.html

今日はここまで!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?