Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | MatchData | names

概要

MatchData#names

詳細

名前付きキャプチャの名前を文字列配列で返します。

サンプルコード
require 'tbpgr_utils'

"hogehigehage" =~ /(?<ho>ho.*)(?<hi>hi.*)(?<ha>ha.*)/

bulk_puts_eval binding, <<-EOS
$~
$~[:ho]
$~[:hi]
$~[:ha]
$~.names
EOS

__END__
下記はTbpgrUtils gemの機能
bulk_puts_eval

https://rubygems.org/gems/tbpgr_utils
https://github.com/tbpgr/tbpgr_utils

出力

$~       # =>                   #<MatchData "hogehigehage" ho:"hoge" hi:"hige" ha:"hage">
$~[:ho]  # => "hoge"
$~[:hi]  # => "hige"
$~[:ha]  # => "hage"
$~.names # => ["ho", "hi", "ha"]

GitHub | 新規リポジトリの作成手順

概要

新規リポジトリの作成手順

詳細

新規リポジトリの作成手順について

手順

GitHub手順
  • 画面右上のメニューの「+」アイコンをクリック
  • Repository nameに任意の名前を入力
  • Descriptionに任意の説明を入力
  • Public/Privateを選択
  • READMEを生成したい場合は、Initialize this repository with a READMEにチェック
  • .gitignoreのひな形が欲しい場合は、 Add .gitignore のリストから対象言語を選択
  • LICENSEファイルが欲しい場合は、Add a license のリストから対象のライセンスを選択
ローカル環境手順
git clone git@github.com:tbpgr/github_sample.git
  • ローカル編集。hoge.txtを追加してgitに追加
$ echo hoge > hoge.txt
$ git add -A
$ git commit -m "add hoge.txt"
  • 変更をpushします
$ git push

画像

新規リポジトリ作成画面

実際に作成されたリポジトリ

.gitignoreのひな形(Ruby選択時)

*.gem
*.rbc
/.config
/coverage/
/InstalledFiles
/pkg/
/spec/reports/
/test/tmp/
/test/version_tmp/
/tmp/

## Specific to RubyMotion:
.dat*
.repl_history
build/

## Documentation cache and generated files:
/.yardoc/
/_yardoc/
/doc/
/rdoc/

## Environment normalisation:
/.bundle/
/lib/bundler/man/

# for a library or gem, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# Gemfile.lock
# .ruby-version
# .ruby-gemset

# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
.rvmrc

LICENSEファイル

The MIT License (MIT)

Copyright (c) 2014 tbpgr

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

README

github_sample
=============

github_sample_description

GitHub | GitHub Flavored Markdown(GFM)

概要

GitHub Flavored Markdown(GFM)

詳細

GitHubのIssue,Wiki,READMEなどはGitHubが独自拡張したMarkdown形式である
GitHub Flavored Markdown(GFM)がサポートされています。

記法に関する詳細は下記URL参照
https://help.github.com/articles/github-flavored-markdown

標準的なMarkdown記法との違い

undersocored形式の文字への表示

標準ではundersocored形式文字はイタリックで表示されます。
GitHubではソースコードを扱うことが多く、ソースコードでは変数名・メソッド名などで頻繁に
undersocored形式を利用します。
こういった際にイタリック表示されるのは、好ましくないためGFMではイタリックにしません。

リンクテキストの略記

標準ではリンクテキストを利用するには () を利用します。
GFMではURLを記述してあれば、自動的にリンクに変換します。

http://example.com
取り消し線

標準では取り消し線はサポートされていませんが、GFMでは以下の記法をサポートします。

~~some missing~~
コードブロック

標準ではスペース4でコードブロックを表します

code title

    code line1
    code line2
    code line3

GFMでは下記のようにフェンスで囲うことでより見やすく記述することができます。

code title

~~~
code line1
code line2
code line3
~~~

~~~は```でもよい。

シンタックスハイライト

コードブロックに言語名などを指定することでシンタックスハイライトを利用できます

~~~ruby
class RubyClass
  def ruby_method
    "ret"
  end
end
~~~
テーブル

下記の文法でテーブルレイアウトを作成できます。

header1 | header2
------------- | -------------
column1_1  | column1_2
column2_1  | column2_2

見た目を整えるために各行の前後にパイプを追加することもできます。

|header1       | header2      |
|------------- | -------------|
|column1_1     | column1_2    |
|column2_1     | column2_2    |

Align指定も可能です。

|left-align       | right-align      | center-align      |
|:-------------   | -------------:   |:-------------:    |
|column1_1        | column1_2        | column1_2         |
|column2_1        | column2_2        | column2_2         |

GitHub | ショートカットを利用してマウスを使わずに操作

概要

ショートカットを利用してマウスを使わずに操作

詳細

GitHubはショートカットによるキー操作をサポートしています。
ヘルプは Shift+/ (つまり ? = クエスチョンマーク)で開きます。


操作例1: 検索バー

s で検索バーにフォーカスを当てて全リポジトリからの検索を行います。
/ で検索バーにフォーカスを当てて現在のリポジトリ内の検索を行います。

操作例2: RipositoryでIssueページへ移動

gi

操作例3: RipositoryでCodeページへ移動

gc

GitHub | Issue と commit

概要

Issue と commit

詳細

Issue と git の commit は コミット時のコメントによって紐付可能です。

Issue にコミットを表示する

コミットコメントに #14 のような形式でコメントを残します。
これにより、Issue のビューにコミット情報が表示されるようになります。

コミットで Issue を閉じる

以下の記法をコミットコメントに含めることで Issue を閉じることができます。

close #14
closed #14
closes #14
fix #14
fixed #14
fixes #14
resolve #14
resolved #14
resolves #14

GitHub | Issueとlabelの活用

概要

Issueとlabelの活用

詳細

GitHubではIssueによって課題を管理できます。
この際に、labelを利用することで課題を分類でき、
特定の分類の課題のみを表示したりできます。

label の追加

  • Issueのトップページにアクセスし、画面左下の New label のテキスト欄にラベル名を入力
  • ラベルの色を選択

  • Createボタンを押下します

新しい label が追加されました

label を利用して Issue を追加

  • Issueのトップページにアクセスし、画面右上の New Issue ボタンを押下
  • 画面右側の Add Labels から任意のラベルを選択します
  • Issueの内容を記述します
  • Submit new issue ボタンを押下します

Issue が作成されました。Issueのトップページで確認してみます。

左下の labels を選択することで任意の課題のみを絞り込んで表示できます。

label の削除

  • 左下の Magage labels ボタンを押下します


  • 削除したいラベルの × ボタンを押下します

GitHub | 議論の場としての Pull Request

概要

議論の場としての Pull Request

詳細

Pull Requestは一般的にはひとかたまりの完成した追加・修正を
取り込んでもらうために利用されますが、
設計・実装方法について議論するためにある程度形を作ったコードで
Pull Requestを送るケースがあります。

この際は、Pull Requestの頭に [WIP]と付けるのが慣習になっています。
WIP は Work In Progress の略です。

GitHub | Pull Requestの受入手順

概要

Pull Requestの受入手順

詳細

Pull Requestの受入手順について

手順

  • GitHubのPull RequestのViewでコードレビューを行う。行単位でコメント可能
  • 開発環境に最新の Pull Request 受信側リポジトリを反映する
$ git clone <"受信側最新リポジトリ">
$ git remote add <"Pull Request 送信者名"> <"送信側リポジトリ">
$ git fetch <"Pull Request 送信者名">
$ git checkout -b <"作業用リポジトリ名">
  • マージする
$ git merge <"Pull Request 送信者名">/<"ブランチ名">
  • 取り込んだ内容を動作確認する
  • メインのリポジトリに取り込みます。仮に master とします
$ git checkout master
  • pushします
$ git push
  • 作業用のブランチを削除します
$ git branch -d <"作業用リポジトリ名">
  • Pull Request がクローズされていることを確認します
  • Pull Request の送信者に対してコメントをする

GitHub

概要

GitHubについて