相続:法定相続情報証明制度の申請

個人の備忘録です。

この制度を利用すると法定相続情報一覧図を取得できるようになります。
法定相続情報一覧図があると全部事項証明(もしくは個人事項証明)や住民票を取得する回数を減らすことができ、色々な手続きで書類を減らせる事にもなります。
また、無料で何枚でも取得できることもメリットです。
デメリットは申請自体が手間(相続人全員の協力が必要。以下の「申請に必要なもの」を参照)な事と、再交付は申出人以外はできない事です。

法務局

申請に必要なもの

1. 被相続人(亡くなった人)の全部事項証明
全部事項証明は戸籍謄本と呼ばれる事が多い。
本籍地の役所で取得する。
本籍地がわからない場合は住民票を取得して確認する。
最新の本籍地から出生時の本籍地までさかのぼった全てが必要。
全部事項証明を取得しに行く人と被相続人との続柄によっては委任状が必要。委任状は本籍地が変わった回数に1加えた枚数が必要。回数を知らなければ全部事項証明を取得してみるしかない。
相続人を特定するためにも必要なもの。
2. 被相続人(亡くなった人)の住民票(除票)
住民票(除票)を取得しに行く人と被相続人との続柄によっては委任状が必要。
3. 相続人全員の住民票
被相続人(亡くなった人)の住民票に記載されている相続人のものは不要(相続人1人につき1枚必要なわけではなくいずれかの住民票に記載されていればよい)。
4. 相続人全員の個人事項証明(または全部事項証明)
被相続人(亡くなった人)の全部事項証明に記載されている相続人のものは不要(相続人1人に1枚必要なわけではなくいずれかの全部事項証明に記載されていればよい)。
個人事項証明は戸籍抄本と呼ばれる事が多い。
本籍地の役所で取得する。
本籍地がわからない場合は住民票を取得して確認する。
5. 法定相続情報一覧図(法務局のサイトよりダウンロード可)
被相続人(亡くなった人)と相続人の続柄によって図の構成は異なる。
6. 申出書(法務局のサイトよりダウンロード可)
7. 申請人の認印
申請人は相続人のうち誰か一人。
8. 委任状(法務局のサイトよりダウンロード可)
申請人が相続人以外の場合に必要。

申請先

 申請先は法務局です。法務局は管轄があるため以下のいづれかになる。

  • 被相続人(亡くなった人)の最後の所在地(住んでいたところの住所)を管轄する法務局
  • 相続人の所在地を管轄する法務局

受取

 申請後3日で法定相続情報一覧図を受け取れる。郵送で届けてもらうともっとかかる。

相談

 法務局で行なっており、予約制となっている(1~2週間先。地域によるのかな……)。
 予約する/しないに関わらず問い合わせた方がよいかと。

PHP フレームワーク Laravel 8: ミドルウェア

 ミドルウェアはメソッド Route::get(もしくは Route::post)の第 2 引数に渡す関数の呼び出しの前/後(リクエスト/レスポンス)に処理を加える機能です。
※ 以下のフォルダに Laravel をインストールしたこととする。
C:\Site01
※ 以下のコマンドを実行し HTTP サーバを起動したこととする。
(ブラウザで「http://127.0.0.1/」へアクセスしたら表示される)
C:\Site01> php artisan serve
1.  ミドルウェアを作成。以下のコマンドを実行する。
C:\Site01> php artisan make:middleware MyMiddleware
  • .\app\Http\Middleware\MyMiddleware.php が作成される。
  • MyMiddleware.php には MyMiddleware クラスが定義される(ネームスペース App\Http\Middleware)。
  • ミドルウェア(MyMiddleware クラス)は派生クラスではない。
  • ミドルウェア(MyMiddleware クラス)は handle メソッドのみが定義される。
2.  ミドルウェアの処理は以下のように追加する。
(MyMiddleware クラスの handle メソッドの内容)
public function handle( Request $request, Closure $next )
{
    // ここに処理を追加すれば Route::get 関数の第 2 引数へ渡した関数を
    // 呼び出す前に処理される。(リクエストを変更する)
    error_log( 'MyMiddleware: リクエストを変更' );

    // リスエストを変更する場合は margin メソッドを呼び出す
    $request->margin(
    [
        'pageTitle' => '○○○○',
    ] );

    $response = $next( $request );

    // ここに処理を追加すれば Route::get 関数の第 2 引数へ渡した関数を
    // 呼び出した後に処理される。(レスポンスを変更する)
    error_log( 'MyMiddleware: レスポンス変更' );

    return $response;
} );
3.  ミドルウェアの使用(その1)。
 1つのルートに1つのミドルウェアを適用する。
3-1.  C:\Site01\routes\web.php の先頭に追加する。
use App\Http\Middleware\MyMiddleware
3-2.  C:\Site01\routes\web.php のルート設定に続けて middleware メソッドを呼び出す。
Route::get( '/', function()
{
    return 'Hello world';
} )->middleware( MyMiddleware::class );
4.  ミドルウェアの使用(その2:グループ)。
 複数のルートにまとめてミドルウェアを適用する。
4-1.  .\app\Http\Kernel.php で定義している $middlewareGroups(Kernel クラスのプロパティ)にミドルウェアを追加する。
protected $middlewareGroups = [
    // 省略

    'My' => [
        App\Http\Middleware\MyMiddleware::class,
    ],
];
4-2.  C:\Site01\routes\web.php にルート設定を以下のように追加する。
Route::group( ['middleware' => ['My']], function ()
{
    Route::get( '/01', function()
    {
        return '01: Hello world';
    } );

    Route::get( '/02', function()
    {
        return '02: Hello world';
    } );
} );
4-3.  別の設定方法。(4-2 と同じ意味)
Route::middleware( ['My'] )->group( function ()
{
    Route::get( '/01', function()
    {
        return '01: Hello world';
    } );

    Route::get( '/02', function()
    {
        return '02: Hello world';
    } );
} );
5.  ミドルウェアの使用(その3:グローバル)。
 全てのルートにミドルウェアを適用する。
 C:\Site01\Http\Kernel.php で定義している $middleware(Kernel クラスのプロパティ)にミドルウェアを追加する。
protected $middleware = [
    // 省略

    App\Http\Middleware\MyMiddleware::class,
];
6.  ミドルウェアの使用(その4:コントローラ)。
 特定のコントローラにミドルウェアを適用する。
6-1.  コントローラの全アクション・メソッドにミドルウェアを適用する。
class MyController extends Controller
{
    public function __construct()
    {
        $this->middleware( function( $request, $next )
        {
            $response = $next( $request );
            return $response;
        } );
    }

    public function index()
    {
        // 内容は省略
    }

    public function user()
    {
        // 内容は省略
    }

    public function show()
    {
        // 内容は省略
    }
}
6-2.  コントローラの特定アクション・メソッドにミドルウェアを適用する。
class MyController extends Controller
{
    public function __construct()
    {
        $this->middleware( function( $request, $next )
        {
            $response = $next( $request );
            return $response;
        } )->only( ['index', 'user'] );
    }

    public function index()
    {
        // 内容は省略
    }

    public function user()
    {
        // 内容は省略
    }

    public function show()
    {
        // 内容は省略
    }
}
6-3.  コントローラの特定アクション・メソッドを除いてミドルウェアを適用する。
class MyController extends Controller
{
    public function __construct()
    {
        $this->middleware( function( $request, $next )
        {
            $response = $next( $request );
            return $response;
        } )->except( ['index', 'user'] );
    }

    public function index()
    {
        // 内容は省略
    }

    public function user()
    {
        // 内容は省略
    }

    public function show()
    {
        // 内容は省略
    }
}

 以上です。

PHP フレームワーク Laravel 8 : ルート設定

※ 以下のフォルダに Laravel をインストールしたこととする。
C:\Site01
※ 以下のコマンドを実行し HTTP サーバを起動したこととする。
(ブラウザで「http://127.0.0.1/」へアクセスしたら表示される)
C:\Site01> php artisan serve
※ ルート設定は「C:\Site01\routes\web.php」に記載する。
1.  ブラウザで「http://127.0.0.1/」へアクセスした場合の内容を変更する。
// 直接出力。
Route::get( '/', function()
{
return 'Hello world!';
} );
// blade を使用して出力。
Route::get( '/', function()
{
return view( 'hello' );
} );
// コントローラを使用して出力。(Laravel 8)
Route::get( '/', [ HelloController::class, 'showhello' ] );
// コントローラを使用して出力。
Route::get( '/', 'HelloController@showhello' ] );
2.  引数を 1 つ受け取る場合。ブラウザは「http://127.0.0.1/mike」の様にアクセスする(「mike」は仮で任意の文字列を指定する事ができます)。
// 直接出力。
Route::get( '/{name}', function( $name )
{
return 'Name: ' . $name;
} );
// blade を使用して出力。
Route::get( '/{name}', function( $name )
{
return view( 'hello1', compact('name') );
} );
// コントローラを使用して出力。(Laravel 8)
Route::get( '/', [ HelloController::class, 'showhello1' ] );
// コントローラを使用して出力。
Route::get( '/', [ 'HelloController@showhello1' ] );
3.  引数を 2 つ以上受け取る場合。ブラウザは「http://127.0.0.1/mike/16」の様にアクセスする(「mike」「16」は仮で任意の文字列を指定する事ができます)。
// 直接出力。
Route::get( '/{name}/{age}', function( $name, $age )
{
return 'Name: ' . $name . '<br />Age: ' . $age;
} );
// blade を使用して出力。
Route::get( '/{name}/{age}', function( $name, $age )
{
return view( 'hello2', compact('name', 'age') );
} );
// コントローラを使用して出力。(Laravel 8)
Route::get( '/', [ HelloController::class, 'showhello2' ] );
// コントローラを使用して出力。
Route::get( '/', [ 'HelloController@showhello2' ] );
4.  サブフォルダで表示する場合。ブラウザは「http://127.0.0.1/userinf/」の様にアクセスする。
// 直接出力。
Route::get( '/userinf', function()
{
return 'User information.';
} );
// blade を使用して出力。
Route::get( '/userinf', function()
{
return view( 'userinf' );
} );
// コントローラを使用して出力。(Laravel 8)
Route::get( '/userinf', [ HelloController::class, 'showhello' ] );
// コントローラを使用して出力。
Route::get( '/userinf', [ 'HelloController@showhello' ] );
5.  サブフォルダで引数を 2 つ以上受け取る場合。ブラウザは「http://127.0.0.1/userinf/mike/16」の様にアクセスする(「mike」「16」は仮で任意の文字列を指定する事ができます)。
// 直接出力。
Route::get( '/userinf/{name}/{age}', function( $name, $age )
{
return 'Name: ' . $name . '<br />Age: ' . $age;
} );
// blade を使用して出力。
Route::get( '/userinf/{name}/{age}', function( $name, $age )
{
return view( 'hello2', compact('name', 'age') );
} );
// コントローラを使用して出力。(Laravel 8)
Route::get( '/userinf', [ HelloController::class, 'showhello2' ] );
// コントローラを使用して出力。
Route::get( '/userinf', [ 'HelloController@showhello2' ] );
6.  コントローラ HelloController(HelloController クラス)の内容を以下に示す。
namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HelloController extends Controller
{
    public function showhello()
    {
        return 'Hello world!';
    }

    public function showhello1( $name )
    {
        return 'Name: ' . $name;
    }

    public function showhello2( $name, $age )
    {
        return 'Name: ' . $name . '<br />Age: ' . $age;
    }
}

 以上です。

PHP フレームワーク Laravel 8 : コントローラの作成

※ 以下のフォルダに Laravel をインストールしたこととする。
C:\Site01
※ コントローラ MyController を作成する。
1.  コントローラを作成。以下のコマンドを実行する。
C:\Site01> php artisan make:controller MyController
  • .\app\Http\Controllers\MyController.php が作成される。
  • MyController.php には MyController クラスが定義される(ネームスペース App\Http\Controller)。
2.  コントローラ(MyController クラス)にメソッドを追加する。
 このメソッドはルート先に設定するためアクション・メソッドと呼ぶ。
public function showHelloWorld()
{
    return  'Hello world';
}
3.  .\routes\web.php で MyController を使えるようにするため以下を追加する。
use App\Https\Controllers\MyController;
4.  .\routes\web.php にルートを追加する。
// Laravel 8 の場合
Route::get( '/my', [MyController::class, 'showHelloWorld'] );
// Laravel 6 の場合
Route::get( '/my', 'MyController@showHelloWorld' );
5.  HTTP サーバを起動する。以下のコマンドを実行する。
C:\Site01> php artisan serve
6.  ブラウザで http://127.0.0.1/my/ にアクセスし 'Hello world' が表示されることを確認する。

 以上です。

LibreOffice Calc のセル内に余白(パティング)を設定する方法

セル内に余白(パティング)を設定する方法

  • 余白を設定すると以下の画像のようになります。
    余白は上下左右に異なるサイズを設定する事ができます。

f:id:logical-trip:20201105224244p:plain

  •  余白を設定する手順
  1. セルを右クリックしてショートカットメニューを表示する。

    f:id:logical-trip:20201105224424p:plain

  2. ショートカットメニューの「セルの書式設定」をクリックする。
  3. 「セルの書式設定」ウィンドウ内の「枠線」タブをクリックする。

    f:id:logical-trip:20201105224454p:plain

  4. 「枠線」タブ内のパティングの「左」のサイズを「4 mm」に変更する。
  5. 「セルの書式設定」ウィンドウ内の[OK]ボタンをクリックする。
 以上です。
 

LibreOffice Calc のグリッド線の表示/非表示の方法

グリッド線の表示/非表示の方法

 「表示」メニューの「グリッド線の表示」をクリックします。
 再度「グリッド線の表示」をクリックすると表示/非表示が切り替わります。
 

f:id:logical-trip:20201105214506p:plain

 

AWK コマンドをまねたものを Python で実装。

実行例
  • pyawk.py は AWK コマンド相当のファイル。
  • pyawk0010.py は AWK スクリプト相当のファイル。
py pyawk.py pyawk0010
pyawk.py
# -*- coding: utf-8 -*-


import sys
import re


nArgument = len( sys.argv )

if nArgument == 1 :
    print( '書式' )
    print( 'py pyawk <処理内容 .PY ファイル> <処理対象ファイル>' )
    exit( 0 )

if nArgument < 3 :
    print( '引数が不正です' )
    exit( 1 )


try :
    f = open( sys.argv[1] )
    contentFunc = f.read()
except Exception:
    print( '処理内容 .PY ファイルを読み込めませんでした。' )
    exit( 1 )
finally :
    f.close()


try :
    exec( contentFunc )
except Exception :
    print( '処理内容 .PY ファイルの内容が不正です。' )
    exit( 1 )


try :
    f = open( sys.argv[2] )
    lines = f.readlines()
except Exception :
    print( '処理対象ファイルを読み込めませんでした。' )
    exit( 1 )
finally :
    f.close()


length = len( lines )



#---- 準備
if length > 0 :
    indexFirst = 0
    indexLast = length - 1
    lengthStr = len( lines[0] )
    lineFirst = lines[0][:lengthStr - 1]
    lengthStr = len( lines[length - 1] )
    lineLast  = lines[length - 1][:lengthStr - 1]
else :
    indexFirst = -1
    indexLast = -1
    lineFirst = ''
    lineLast  = ''


info = { 'LineNum':length, 'lines':lines, 'target':sys.argv[2] }
user = {}

result = 0


#---- 準備処理
try :
    Prepare( info, user )
finally :
    'No-Process'

if result >= 0 :
    #---- 開始処理
    result = Begin( info, user, indexFirst, lineFirst )

    if result >= 0 :
        #---- 主処理
        index = 0
        for l in lines :
            lengthStr = len( l )
            result = Main( info, user, index, l[:lengthStr - 1] )

            if result < 0 :
                break

            # 行インデックスを進める
            index += 1

    #---- 終了処理
    End( info, user, indexLast, lineLast )

#---- 最終処理
try :
    Cleanup( info, user )
finally :
    'No-Process'
pyawk0010.py
# -*- coding: utf-8 -*-

# この .PY は pyawk.py から呼ばれます。
#
# 各関数への引数
#     info
#         読み込んだファイルの情報を格納します。
#     user
#         この .PY で任意の値を格納できる連想配列(辞書)です。
#     index
#         読み込まれた行の行番号(0 ベース)。
#         1 行もないファイルは -1 になります。
#         Begin 関数においては 0 または -1 になります。
#         End 関数においては行数 - 1 または -1 になります。
#         Main 関数においては 0 ~ 行数 - 1 になります。
#     line
#         読み込んだ行の内容です。
#         index が -1 の場合 '' になります。
#
# Begin 関数
#     最初の行を処理します。
#     1 回呼ばれます。
#     Main 関数の前に呼ばれます。
#     戻り値が 0 未満の場合は Main 関数が飛ばされ End 関数が呼ばれます。
#     戻り値が 0 以上の場合は Main 関数が続いて呼ばれます。
# End 関数
#     最後の行を処理します。
#     1 回呼ばれます。
#     Main 関数の後に呼ばれます。
# Main 関数
#     最初の行 ~ 最後の行を処理します。
#     行数分呼ばれます。
#     戻り値が 0 未満の場合は Main 関数が飛ばされ End 関数が呼ばれます。
#     戻り値が 0 以上の場合は Main 関数が続いて呼ばれます。
# Prepare 関数
#     Begin 関数の前に呼ばれます。
#     この関数は定義を省略できます。
#     戻り値が 0 未満の場合は Begin / Main / End 関数が飛ばされ Cleanup 関数が呼ばれます。
#     戻り値が 0 以上の場合は Begin / Main / End / Cleanup 関数が続いて呼ばれます。
# Cleanup 関数
#     End 関数の後に呼ばれます。
#     この関数は定義を省略できます。
#
# 関数の呼ばれる順番
#     1. Prepare ... 1 回呼ばれる
#     2. Begin   ... 1 回呼ばれる
#     3. Main    ... n 回呼ばれる
#     4. End     ... 1 回呼ばれる
#     5. Cleanup ... 1 回呼ばれる
#


# この関数は定義を省略できます
def Prepare( info, user ) :

    print( 'called Prepare' )

    return 0


# この関数は定義を省略できます
def Cleanup( info, user ) :

    print( 'called Cleanup' )


# この関数は必須
def Begin( info, user, index, line ) :

    print( f'No {index}: {line}' )

    return 0


# この関数は必須
def End( info, user, index, line ) :

    print( f'No {index}: {line}' )


# この関数は必須
def Main( info, user, index, line ) :

    print( f'No {index}: {line}' )

    return 0