Facebookのテキスト投稿に背景色をつける方法

April 28,2017 12:03 AM
Category:[Facebook]
Tag:[Facebook]
Permalink

Facebookのテキスト投稿に背景色をつける方法を紹介します。

Facebookのテキスト投稿に背景色をつける

1.はじめに

Facebookのテキスト投稿はデフォルトの設定ではこのように白の背景です。

Facebookのテキスト投稿

ですが、冒頭のように背景色をつける方法もあります。

ということで、テキスト投稿に背景色をつける方法を紹介します。

ここではPC版の操作方法を説明します。

2.テキスト投稿に背景色をつける

テキスト投稿に背景色をつけるには、投稿フォーム下にある「…」をクリック。

「背景カラー」をクリック。

背景カラー

背景にしたい色をクリック。ここではオレンジを選択します。

背景にしたい色をクリック

テキストエリアに選択した背景色がつき、テキストがセンタリングで入力できるようになります。また選択した背景色のアイコンは白抜きで表示されます。

テキストがセンタリングで入力

任意のテキストを入力して「投稿」をクリック。この状態で背景色を変更することもできます。また白に戻すには一番左のアイコンをクリックします。

投稿

これで背景色のついたテキストが投稿されます。

背景色のついたテキスト

Comments [0] | Trackbacks [0]

C++のoperator new/operator deleteについて

April 25,2017 12:03 AM
Category:[C/C++]
Tag:[C/C++]
Permalink

C++のoperator new/operator deleteについて紹介します。

1.サンプル

まず最初にサンプルをご覧ください。

#include <cstdio>
#include <cstdlib>
 
class Test {
 
private:
 
    int number;
 
public:
 
    Test(int num) {
        number = num;
        std::printf("constructor: %d\n", number);
    }
 
    ~Test() {
        std::printf("destructor\n");
    }
 
    void* operator new(std::size_t sz) {
        std::printf("operator new: %zu\n",sz);
        return std::malloc(sz);
    }
 
    void operator delete(void* ptr) {
        std::printf("operator delete: %p\n", ptr);
        std::free(ptr);
    }
};
 
int main() {
     Test* test = new Test(100);
     delete test;
}

このサンプルを元にoperator new/operator deleteについて紹介します。

2.operator new/operator deleteとは

operator new/operator deleteは、コンストラクタ起動時、特定のエリアからメモリを確保(または解放)するための仕組みです。

通常のコンストラクタは、

  • メモリの割当
  • オブジェクトの構築

という2つの動作を行いますが、operator newはメモリの割り当てを実行します。

サンプルでは下記の部分になります。

void* operator new(std::size_t sz) {
    std::printf("operator new: %zu\n",sz);
    return std::malloc(sz);
}

引数の"size_t"はC++の仕様で決められたもので、オブジェクトのサイズになります。

ユーザーがコンストラクタ起動時にパラメータにサイズを指定する必要はありません(おそらくコンパイラ時にオブジェクトのサイズが分かる)。

また、戻り値の型は"void *"です。

operator deleteは下記の部分です。

void operator delete(void* ptr) {
    std::printf("operator delete: %p\n", ptr);
    std::free(ptr);
}

引数は確保したアドレスになります。こちらもデストラクタ起動時のパラメータに指定する必要はありません。

3.newとoperator newの違い

operator newはnewのオーバーロード(引数や戻り値が異なるが名称が同一のメソッドを複数定義すること)ですが、operator newとnewが存在する場合、順番に起動されることから、個人的には通常のオーバーロードとは動作が異なる気がします。

具体的には、ユーザープログラムがコンストラクタを実行すると、先にoperator newが起動されてメモリ確保等を行い、その後通常のコンストラクタが起動するようになっています。

デストラクタの動作はその逆で、先に通常のデストラクタが起動され、operator deleteが動作してメモリ解放を行います。

サンプルで説明すると、mainに記述した、

Test* test = new Test(100);

が実行されることで、最初に、

void* operator new(std::size_t sz) { ... }

が起動してmallocでメモリを確保し、その後

Test(int num) { ... }

が起動します。

サンプルの実行結果は下記のようになります。

operator new: 4
constructor: 100
address: 0x12a9010
destructor
operator delete

「4」というのは、クラスで定義した変数

int number;

のサイズになります。

4.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

Jenkinsのインストール(Windows版)

April 18,2017 12:55 AM
Category:[Jenkins]
Tag:[Jenkins]
Permalink

Jenkinsのインストール(Windows版)について紹介します。

jenkinsのページにアクセスして、「Download」をクリック。

「Long-Term Support」の下にある「Windows」をクリックすればダウンロードが開始します。

ダウンロードしたアーカイブを展開して、jenkins.msiを実行すればインストールウィザードが開始します。

(クリックで拡大、以下同様)

インストール終了後、"http://localhost:8080"にアクセスして下記のページを開きます(または自動的に開きます)。

「Administrator password」に、C:\Program Files\Jenkins\secrets\initialAdminPasswordに記載されたパスワードをペーストして「Continue」をクリック。

通常はここで「Install suggested plugins」という画面になりますが、Proxyサーバが設置されていて正常に外部にアクセスできない環境では「Offline」と表示されるようです。

ということで、「Configure Proxy」をクリック。

プロキシサーバのIPアドレス・ポートなどを入力して、「Save and Continue」をクリック。

接続が正常に行えるようになれば次の画面が表示されるので、「Install suggested plugins」をクリック。正常に接続できない場合、画面をリロードすれば最初の画面に戻れます。

画面が切り替わり、プラグインのインストールが開始します(完了まで数分かかります)。

最後にJenkinsを利用するユーザーを作成し、「Save and Finish」をクリック。

これでインストール完了です。

「Start using Jenkins」をクリックすると次のような画面が表示されます。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages