【Git】ベアリポジトリとはなにか

目次

ベアリポジトリとは

ベア(bare)とは

露出した、本来あるべき物が無いという意味がある。

つまり

これをGitのシステムとして解釈すると、「本来あるべき物が無い」=「ワーキングディレクトリがない」という意味になる。
更新履歴のみを持っているリポジトリということになる

リモートサーバー上に「ベアリポジトリ」を作成して、ローカルで編集したリポジトリを管理するために使う(GitHubと同じ動作をする)

作成時の注意点

  • ベアリポジトリを作る場合のファイル名は末尾に.gitをつける必要がある

【Winodws】コンソールのスクリーンバッファを複数枚作る

スクリーンバッファとは?

  • 実際の文字が書き込まれるバッファのことで、実際にコンソールに描画されるのはこのスクリーンバッファの内容
  • コンソールが作成された時点で既定で1つ作成されている(描画されから当たり前)
  • 独自のスクリーンバッファを作成して出力を行うことも可能

CreateConsoleScreenBuffer

1
2
3
4
5
6
7
HANDLE WINAPI CreateConsoleScreenBuffer(
DWORD dwDesiredAccess,
DWORD dwShareMode,
const SECURITY_ATTRIBUTES *lpSecurityAttributes,
DWORD dwFlags,
LPVOID lpScreenBufferData
);
引数型 解説
dwDesiredAccess スクリーンバッファへのアクセス権を指定 GENERIC_READ \ GENERIC_WRITE
dwShareMode スクリーンバッファを共有するための定数を指定(共有しない場合は0) 0
*lpSecurityAttributes SECURITY_ATTRIBUTES構造体のアドレスを指定するが普通はNULLを指定 NULL
dwFlags CONSOLE_TEXTMODE_BUFFERを指定 CONSOLE_TEXTMODE_BUFFER
lpScreenBufferData NULLを指定 NULL
戻り値 戻り値のスクリーンバッファハンドルはCloseHandleで閉じる

SetConsoleActiveScreenBuffer

  • スクリーンバッファをアクティブにしてコンソールに描画
1
2
3
BOOL WINAPI SetConsoleActiveScreenBuffer(
HANDLE hConsoleOutput
);
引数型 解説
hConsoleOutput スクリーンバッファのハンドル(CreateConsoleScreenBufferの戻り値)を指定

【Android Studio】Materila Designを使用して見た目をリッチにする

参考資料

手順

  1. build.gradle(Project:プロジェクト名)にgoogle()が含まれているかチェック

    1
    2
    3
    4
    5
    allprojects {
    repositories {
    google() <- これが記述してあればOK
    }
    }
  2. build.gradle(Module:app)にライブラリを記述

    <version>の部分は以下のURLを参考にする

     - [https://mvnrepository.com/artifact/com.google.android.material/material](https://mvnrepository.com/artifact/com.google.android.material/material)
    
    1
    2
    3
    4
    5
    dependencies {
    ...
    implementation 'com.google.android.material:material:<version>'
    ...
    }
  3. 一度ビルドする

  4. styles.xmlを書き換えてみる

    生成したての状態

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    </style>

    </resources>

    これの<style>ブロックのparentパラメーターを書き換えることで、テーマを変更できる

    1
    <style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">

    このテーマを書き換えることで、<Button><AutoCompleteTextView>の XML コンポーネントをそれぞれ <MaterialButton><MaterialAutoCompleteTextView> に置き換えます。

    他のコンポーネントのテーマを変えるには、XMLに直接記述する必要がある