GitHubのユーザー名を変更する

なぜしようと思ったか

はじめにGitHubに登録したユーザー名が適当すぎたため、そのうち変更したいな〜と考えていたため実施しました。

何をしたか

  • GitHub上でユーザー名の変更
  • 自分が使用するPCの設定を変更

手順

1. GitHub上でユーザー名を変更する

この変更は、GitHubサイト上のSettingsAccountChange usernameから行えます。

Change usernameを押すとダイアログが表示され、それに同意するとusernameの編集が行えます。

注意として、GitHub側で変更前のリポジトリから変更後のリポジトリへのリダイレクトは設定してくれるみたいですが、ユーザープロフィールなどはリダイレクトが設定されずにNot foundとなってしまうようです。
ダイアログをよく読んで、それでもよいということであれば実行しましょう。

2. Gitの設定

まずは自分のPCのgitの設定を確認してみます。

ターミナルを開いて

$ git config --global -l

を入力します。

すると、一度設定したことがあるなら

user.name=<以前のユーザー名>
user.email=<使用しているメールアドレス>

という表示があると思います。

このユーザー名を変更後のものに直すために、以下のコマンドを実行します。

$ git config --global user.name "<変更後のユーザー名>"

これでGitの設定は完了です。

3. ローカルリポジトリの設定

次に、もしすでに自分のリポジトリをローカルで開発している場合に必要な設定をします。

まず、実際に開発しているローカルのリポジトリに移動し、

$ cd <開発しているディレクトリへのパス>

そして、$ git remote -vを実行すると

origin   git@github.com:guri3/note.git (fetch)
origin  git@github.com:guri3/note.git (push)

という表示があることがわかります。

これは、git fetchgit pushする際のリモートリポジトリを示しているので、この値を変更後のものに合わせます。

$ git remote set-url origin git@github.com:<変更後のユーザー名>/<リポジトリ名>.git

これで、ユーザー名を変更しても以前のようにGitHubを使用することができます。

まとめ

gitの設定に関する詳細はこのページから読めます。

使い始める-最初のGitの構成

もっと良い方法や、間違いなどありましたら指摘いただきたいです。

情熱プログラマーを読んで

概要

「情熱プログラマー ソフトウェア開発者の幸せな生き方」を読んだ経緯や考えたことなどの記録です。

なぜこの本を読もうと思ったか

少し前に約一週間のインターンシップに参加したのですが、そこでのエンジニアの人々の働き方や考え方に触れてかなり衝撃を受けました。

それから、自分がエンジニアとして活躍するために何を学べばいいのか、またどのように学べばいいのかを今一度考える必要があるなと思いました。

そう思い、前から気になっていたけれどなかなか読む機会がなかったこの本を読むに至りました。

感想

この本は、ソフトウェア開発者に向けて書いてあります。

しかし、僕が読んだ印象だと、これはソフトウェア開発者だけでなく自分の生活をもっと充実させたいと考えている全ての人に言えることなのかなと思いました。

  • 自分を売り込みたいと考えている分野を調べ、将来を予測して求められるであろうスキルを取得する。
  • その分野で活躍している人に積極的に話をしてつながりを持つ。
  • たとえ分野が違うとしても、ともにビジネスをする同僚として気遣う。

たしかにそうだな、これができたら成長できるだろうなという話が盛りだくさんでした。

また、この本のいいところは一つ一つのTipsに対してそれを実現するための具体的な行動が示されているところだと思います。
それも大体は今すぐできるような簡単なことが書いてあるので、自分の行動を具体的に変えるモチベーションになると思いました。

実はこのようにブログで思ったことを発信してみるということも書いてあり、自分の考えを整理するためにもいいなと思ってこのような感想を書いています。

終わりに

とてもよい本だったので、最近やる気が出ないなとかマンネリ感があるなと感じる時に読み返したい本だなと思いました。
少しでも多く実践できるよう頑張っていきたいです。

Rubyでスタックを扱う

Arrayをスタックとして扱えるので簡単
Array#pushで末尾に追加、Array#popで末尾から取り出し
例として逆ポーランド記法で与えられた数式を計算する

1 2 + 3 4 - *

を入力

input = gets.chomp.split(' ')
stack = []

input.each do |c|
  case c
  when '+'
    a = stack.pop
    b = stack.pop
    stack.push(b + a)
  when '-'
    a = stack.pop
    b = stack.pop
    stack.push(b - a)
  when '*'
    a = stack.pop
    b = stack.pop
    stack.push(b * a)
  else
    stack.push(c.to_i)
  end
end

puts stack

出力は-3となる

Rubyでのキューの扱い

Rubyでは、Array#shiftを使用して簡単にキューを実現できる

キューで一定時間のプロセスを順番に実行していく、ラウンドロビンスケジューリングを実装する。

# 入力
5 100
p1 150
p2 80
p3 200
p4 350
p5 20
n, q = gets.chomp.split(' ').map(&:to_i)

a = []
now = 0

n.times do
  tmp = gets.chomp.split(' ')
  a << tmp
end

while !a.empty? do
  process = a.shift
  if process[1].to_i - q <= 0
    now += process[1].to_i
    puts "#{process[0]} #{now}"
  else
    process[1] = process[1].to_i - q
    now += q
    a << process
  end
end
# 出力
p2 180
p5 400
p1 450
p3 550
p4 800

Rubyで選択ソート

選択ソート

# a: int型の配列
# n: 配列の大きさ

def selectionSort(a, n)
  min_index = 0
  (0..n-1).each do |i|
    min_index = i
    (i..n-1).each do |j|
      if a[j] < a[min_index]
        min_index = j
      end
    end
    if a[min_index] < a[i]
      tmp = a[i]
      a[i] = a[min_index]
      a[min_index] = tmp
    end
  end
end

Rubyでバブルソート

バブルソート

# a: int型の配列
# n: 配列の大きさ

def bubbleSort(a, n)
  (0..n-1).each do |i|
    (i+1..n-1).to_a.reverse_each do |j|
      if a[j] < a[j-1]
        tmp = a[j]
        a[j] = a[j-1]
        a[j-1] = tmp
      end
    end
  end
end

Rubyで挿入ソート

挿入ソート

# a: intの配列
# n: 配列の大きさ

def insertionSort(a, n)
  (1..n-1).each do |i|
    tmp = a[i]
    j = i - 1
    while j >= 0 && a[j] > tmp do
      a[j+1] = a[j]
      j -= 1
      a[j+1] = tmp
    end
  end
end