cinnamon416の日記

読者です 読者をやめる 読者になる 読者になる

cinnamon416の日記

研究、サークル、学生団体など日々の活動の記録

1年間一人暮らしをしてみて思うこと

1年前、新しいことにチャレンジすることを決心し、親の反対も少しあったが一人暮らしを始めた。

それまでの自分は、身の回りのこと、例えば掃除、洗濯、料理などを全て親に任せっきりでいた。しかしいつかは家を出て行くときが来て、いざ仕事に打ち込もうという時に自分の世話を自分で見ることができなかったら大変な思いをするだろう。

だから任せるだけでなく、出来ることを増やしたい。そう思いつつも行動できないまま二十歳になっていた。そんな負の連鎖を断ち切るために一人で暮らすことを決め、同時に新しいことにチャレンジすることを決心した。

  • 親に任せていたことをできるようになる
  • 家事をしつつ学業とバイトを両立する
  • 大学入学後は積極的に新しいことを始める

この1年間で何ができるようになり、何ができないのかを改まってみる。

できるようになったこと

洗濯

洗濯ができるようになった。(当たり前だけど←)
けど、今まではどうやって洗濯をしているのか本当に分からなかった。

洗濯は結構な頻度で洗濯機から取り出して干す作業が必要で、面倒なんだなってことがわかった。
親はそれを毎日家族みんなの分をやっていたんだって考えると、それに気づいたことは自分の中では大きな収穫だった。

親子丼

一人暮らしを始めた頃は料理をできるようになるぞ!と意気込んでいたが、それは最初だけだった。
次第に大学の課題に時間を取られていき、料理に対するモチベーションが低くなってしまった。
ただ、一つだけ、親子丼を作れるようになった。レシピを見なくても。

何か料理をしなくちゃいけない状況になったときは親子丼を作ることができるので、これも大きな収穫だと思っている。

新しいことに対するモチベーション

大学に入学し、新しいことに積極的にチャレンジできた。

特にサークルでは、グループでのウェブアプリケーションの開発に携わることができるという、貴重な機会を掴み取ることができた。
また、所属していた学生団体の活動を通じて地域の方々との関わりを深くすることができ、僕のふるさとに対する考えや、働くことに対する考えを見直すことができた。

これからもどんどん新しいことにチャレンジしていき、たくさんのことを学びたい。

できないこと

料理

レパートリーが親子丼しかないので、料理ができるとは言えない。
美味しい料理をもっと作ってみたい。

体調管理

11月に体調を崩し、それから頻繁に体調を崩した。
まともなものを食べていなかったのと、まともに寝ていなかったことが原因で、つまり体調管理ができなかった。
炭水化物だけではなく、栄養の取れる料理を準備する習慣と早寝早起きの習慣をつけなければいけない。

学業とバイトの両立

1学期は勉強を頑張って成績も良かったが、2学期に入り学業以外のサークルだったり学生団体だったりの活動の方の比重が重くなり、学業をおろそかにしてしまった。
スケジュール管理ができていなかったと言えるだろう。

与えられた課題は早いうちに終わらせ、余裕を持たせていかないと、マルチタスクに陥り大きなストレスにつながることがわかった。



一人暮らしはやらなきゃいけないことが多くストレスが溜まってしまうが、学ぶことがとても多かった。立派な大人になるためには出来ることをこれからも増やしていきたい。

正規表現

正規表現とは、「いくつかの文字列を一つの形式で表現するための表現方法」のこと。
この表現方法を利用すれば、たくさんの文章の中から容易に見つけたい文字列を検索することができる。

普通の文字列

単純にその文字列にマッチする。

正規表現 マッチする文字列
やあ やあ、こんにちは

この中のどれか => |

いくつかのパターンを候補にできる。

正規表現 マッチする文字列
こんにちは|今日は| こんにちは、ケン, 今日はもうおしまい

アンカー => ^ , $

パターンの位置を指定するメタ文字。
アンカーを使うと対象の文字列のどこにパターンが現れなければいけないかを指定できる。
行の先頭 => ^
行末 => $

正規表現 マッチする文字列
^やあ やあ、ケン
じゃん$ これ、いいじゃん
^ハイ$ ハイ

どれか1文字 => [ ]

いくつかの文字を[]で囲むことで、「これらの文字の中でどれか1文字」という表現ができる。

正規表現 マッチする文字列
こんにち[はわ] こんにちは, こんにちわ
ども[〜ー…!、] どもーっす, ども〜。, ものども!

なんでも1文字 => .

「.」はなんでも1文字にマッチするメタ文字。
スペースやタブなどの目に見えない文字にもマッチする。

正規表現 マッチする文字列
うわっ、...! うわっ、出たっ!, うわっ、それか!

繰り返し => + , *

繰り返しを意味するメタ文字を置くことで、直前の文字が連続することを表現できる。
「+」は一回以上の繰り返しを意味する。
「*」は0回以上の繰り返しを意味する。つまり、あってもなくても構わないし連続していても構わないことを意味する。
「{m,n}」を使えば繰り返し回数を限定できる。「m回以上、n回以下」

正規表現 マッチする文字列
は+ ははは,
^ええーっ!* ええーっ!!!, ええーっもう帰ったの
ぷ{3,} ぷぷぷ, うぷぷぷ

あるかないか => ?

直前の1文字があってもなくてもいいことを表現できる。

正規表現 マッチする文字列
盛った[!!]?$ だいぶ盛った!, 完璧に盛った

パターンをまとめる => ()

「()」で1文字以上のパターンをまとめることができる。

正規表現 マッチする文字列
(まじ|マジ)で ま、マジで?, まじでそう思います
(ほわん)+ ほわんほわんしてるね, 心がほわんとする

メタ文字を普通の文字として検索したい => \

メタ文字の直前に「\」を付加すれば普通の文字として検索できる

正規表現 マッチする文字列
a\* a*

以上、正規表現の一部を記載したが、調べて見たらもっとたくさんの表現がありそうなので、気が向いたら追記していく。

iTerm2で色がつかなかった

iTerm2でプロンプトの色を設定してるのに、色が白黒にしかならなかった。

iTerm2で色がつかなくて困った件

プロファイルの設定で、"Minimum contrast"がマックスになっていた。 どうりでコントラストがつかないわけだ。

ずっと悩んでいたが解決した。

MacでのC言語プログラミングの実行

C言語の開発環境の設定(Mac)

MacC言語プログラミングを作成するためのコンパイラ(gcc)をインストールする。

  • Xcodeを開き、メニューの「Xcode」-「OpenDeveropTool」-「MoreDeveropTools…」をクリック
  • 「AppleDeveroper」ページが表示されるので、AppleIDとパスワードを入力する
  • 「Downloads for Apple Deveropers」から「Command Line Tools for Xcode」のdmgファイルをダウンロードする
  • ダウンロードしたdmgファイルを開き、インストールを進める

C言語プログラムの実行

  • プログラムをhello.cというファイル名で作成し、保存する
  • Terminalで保存したファイルのディレクトリに移動する
  • gccコマンドで、hello.cをコンパイルする:gcc hello.c
  • コンパイルが成功すると、実行ファイル(a.out)が作成される
  • プログラムを実行する:./a.out

コンパイル後に生成される実行ファイル(a.out)の名前を変更する

gcc プログラム名 -o 実行ファイル名とすれば、生成される実行ファイルの名前を決めることができる。

風邪対策

風邪をひいてしまったので、治す方法を調べた。

内科医に聞いた!風邪を最短で治す方法

  • 暖かくして水分はこまめにとる!
  • ビタミンCをとる!
  • たくさん寝る!

以上!おやすみ!( ˘ω˘)スヤァ

MACでよく使うショートカットキー

ウィンドウの操作

  • command + Q アプリケーションを終了する
  • command + W ウィンドウを閉じる
  • command + M ウィンドウをDockにしまう
  • command + H ウィンドウを隠す

Finderの操作

  • command + C コピーする
  • command + X 切り取る
  • command + V 貼り付ける
  • command + A 全選択
  • command + R 更新する
  • command + S 保存する
  • command + P 印刷する
  • command + delete ファイルをゴミ箱に移動する
  • command + D ファイルを複製する
  • command + F 検索する
  • command + I ファイルの情報を見る
  • return ファイル名を変更
  • command + ↑ 上のディレクトリに移動
  • command + ↓ 下のディレクトリに移動

Chromeの操作

  • command + T 新しいタブを開く
  • command + D ブックマークに登録する
  • command + option + I デベロッパツールを開く
  • command + [ 前のページを開く
  • command + ] 次のページを開く
  • control + tab 右のタブに移動
  • control + shift + tab 左のタブに移動
  • command + shift + H ホームフォルダを開く
  • command + N 新しいウィンドウを開く
  • command + 1 1つ目のタブに移動(2,3,4…も同様)

その他アプリケーションの操作

  • command + shift + 4 範囲を指定してスクリーンショットを撮影する
  • command + tab アプリケーションの切り替え
  • command + space Spotlightを開く
  • control + space 入力切り替え
  • command + , アプリケーションの環境設定を開く

Wordの操作

  • command + E 中央ぞろえ
  • command + R 右ぞろえ
  • command + shift + >(<) 文字の大きさを変更
  • command + = 下付き文字
  • command + shift + = 上付き文字

Pythonのリスト操作

リストの結合 extend()

s.extend(t) オブジェクトsにtの内容を追加する
s += t s.extend(t)と同じ結果になる

指定した位置に要素を追加 insert()

s.insert(i,x) オブジェクトsのi(インデックス)で指定した位置にxを挿入する

インデックスで指定した要素を削除する del

del s[i:j] インデックスiからjまでの要素を削除する

位置がわからない要素を削除する remove()

s.remove(x) sからxに合致する最初の要素を取り除く

要素のインデックスを知る index()

s.index(x) sの中でxが最初に出現するインデックスを返す

その値はあるか in

x in s オブジェクトsの要素にxがあればTrue、なければFalseを返す

その値はリストにいくつあるか count()

s.count(x) sの中にxが出現する回数を返す

要素の並び替え sort()

リスト(list)オブジェクト専用のメソッドで要素の並び替えを行う
s.sort() sの要素を昇順で並び替える
s.sort(reverse=True) sの要素を降順で並び替える

リストのコピー

a = [1,2,3]
b = a
print(b)
a[0] = 'ほげほげ'
print(a)
print(b)

結果

[1,2,3]
['ほげほげ',2,3]
['ほげほげ',2,3]

リストaに対する操作はリストbにも反映されている → "参照の代入"

"リストの本物のコピー"を作成するには

  • copy()メソッドを使う
  • list()関数を使う
  • リストをスライスして新しいリストを作る
a = [1,2,3]
b = a.copy()
c = list(a)
d = a[:]
a[0] = 'ほげほげ'
print(a)
print(b)
print(c)
print(d)

結果

['ほげほげ',2,3]
[1,2,3]
[1,2,3]
[1,2,3]