2020年7月28日火曜日

新しいパソコン(ThinkPad X280)を買いました。


初めてThinkPadを買ってみました。

学生時代に研究室の先輩が使っていて薄っすら憧れていたのですが(笑)、一方でずっとApple信者だったので縁がございませんでした。

ただApple信者であるとともにGoogle信者でもあり、スマホに関しては断然Android派であるため近頃はパソコンもAppleへのこだわりが薄らいできました。

また、パソコンに関するヘルプ依頼がほぼWindowsなので、常にある程度使い慣れておいた方がよいかなぁと思ったり。(安いパソコンは使い込むにはスペック不足でしたので。)

ということで、今回はThinkPad X280という12.5型液晶の小さくて持ち運びできる感じのものをチョイス(基本的に小さいのが好き)。

さすがThinkPadということで機体は頑丈そうです。スペックとしてはCPU Core i5、メモリ 8GB、ストレージ 256GB SSDなので必要十分ですね。OfficeはWeb版で事足りるので非搭載。

Lenovoのサイトでセールをやっていて、60%(くらい)OFFの9万円弱で購入できました。ついでに楽天リーベイツ経由で15%還元になった…はず(承認まだ)なので実質7万円台です。

使用感としてはキーボードが押しやすくいいですね。MacBook Airに慣れきっていますがさほど違和感なく使えます。トラックポイント(いわゆる「赤ポチ」)はまだ慣れませんが、使い込むと便利なんでしょうかね。

ディスプレイはMacと比べるとあれですが、最近ラベルも白黒パターンが多いのでまぁ問題ないですね(笑)。


新しいパソコンはワクワクしますね!

Twitter(@nkkmd)、Instagram(@nkkmd)も日々更新中です。

2020年7月24日金曜日

テレワーク環境整備のためVPNサーバー(SoftEther VPN Server)を導入しました。

先日ふと、テレワーク環境を作ってみよう!と思い立ち、VPNサーバーを構築してみました。

VPNというのはバーチャル プライベート ネットワークの略で、仮想的なプライベートネットワークを作ることができます(そのまんま)。

これにより、

・リモートアクセス
・セキュリティの強化
・地理的制限のあるサイトへのアクセス

といったことが可能になります(ざっくり)。


今回のVPN導入ではSoftEther VPNを利用しました。

SoftEther VPNは、筑波大学における学術目的の研究プロジェクトとして開発されたフリーウェアです。(参考:「SoftEther VPN プロジェクトについて」)


・ダウンロードサイト
ダウンロード - SoftEther VPN プロジェクト

・導入マニュアル
7. VPN Server の導入 - SoftEther VPN プロジェクト

・参考にしたサイト
外出先でも自宅のLANに接続できるSoftether VPNの紹介【①導入編】 – ○○PC(仮)

外出先でも自宅のLANに接続できるSoftether VPNの紹介【②設定編】 – ○○PC(仮)


ところどころ突っかかりつつ、何とか構築完了。さっそく接続してみました。


MacからVPN接続


AndroidからVPN接続

ちゃんとつながっていますね。


サーバーには安いパソコン(ASUS VivoBook X207NA)を使いました。

心もとないスペックですが、超小規模利用ですし今のところは問題なく作動しています。

それからこのパソコンには有線LANアダプターがついていないため、USB接続の有線LANアダプターを別途用意しました。



今回唯一の出費。


ということで、無事に外出先から職場(自宅)のLANにアクセスできるようになりました。

基本的にはリモートデスクトップ形式のテレワークを想定していますが、ついでにUSBメモリで簡易的なNAS(ネットワークアタッチトストレージ)を作り、どこからでも使える仕事用の共有ストレージにしてみました。

また今後は、自前のVPNに接続することで暗号化がなされていないような公衆無線LANにつなぐ際も格段に安全に使うことができますし、海外出張(旅行)時は世界中どこからでもYouTubeやTwitterが見れます。非常に便利でございます。

セキュリティ用途としては無料 or 格安のVPNサービスはデータ流出等、少々不安もありますからやはり自前が安心です。


ICT関連に限らず、コストを抑えつつ環境を整えて行くことは小規模経営体にとっては生存の肝です。

困難な時代ですが、できることからコツコツやっていきたいと思います。



ネットワークの知識がいまいちあやふやなのでちょっと勉強します。


Twitter(@nkkmd)、Instagram(@nkkmd)も日々更新中です。

2020年6月24日水曜日

「農林水産研究イノベーション戦略2020」を読んで思うところなど。

農林水産省により、食料・農業・農村基本計画に基づく「農林水産研究イノベーション戦略2020」が策定されましたね。





スマート農業、環境、バイオの3分野で実現を目指す「挑戦的と戦略」と書いてある通り、なかなか盛り盛りな内容となっています。

2019年時の戦略と比べますと、Society 5.0(※)とからめつつ新たな推進分野として「環境」が入っています。やはり昨今の気候変動・災害リスクへの意識の高まりが大きいのでしょうかね。

「食」と「育種」は「バイオ」に統合されたようです。

画像出展のリンク先に資料がありますので目を通してみるとけっこう面白いと思います。


※ Society 5.0とは、狩猟社会(Society 1.0)、農耕社会(Society 2.0)、工業社会(Society 3.0)、情報社会(Society 4.0)に続く、新たな社会を指すもの。サイバー空間(仮想空間)とフィジカル空間(現実空間)を高度に融合させたシステムにより、経済発展と社会的課題の解決を両立する、人間中心の社会(Society)。
(「Society 5.0 - 科学技術政策 - 内閣府」より)


***

私の興味対象は、これからの人口減少時代において

「いかにミニマルに農業を成立させるか」

「ミニマルな農業によって創出される自然環境」

この辺りです。

世の方向性としては農地集積→経営規模拡大ですので真逆なのですが、全体として拡大に向かえばこそ隙間を埋める、もしくは辺縁を固めるミニマルな農業にも価値が出てくるのではなかろうかと考えています。多面的機能等ですね。

そして、新たな技術発展が良きにつけ悪しきにつけミニマルな農業にどういった可能性を与えるのか、よくよく見極めていきたいところです。

最新の技術やサービスを追いかけた結果、それが経費の増大、ひいては経営規模拡大につながってしまったら本末転倒、ミニマルとは逆方向です。

注視はしつつもう少し緩やかに構え、インフラ化した技術を適宜取り入れて足元から着実な省力化、生産基盤の安定化、高品質化等を図っていく、そんな意識でいたいと思います。


Twitter(@nkkmd)、Instagram(@nkkmd)も日々更新中です。

2020年6月13日土曜日

GASで簡単な予定通知LINE botを作ってみる。


先週ふと思い立ってLINE botを作ってみました。目的は度々発生するド忘れ防止です(笑)。

機能は、

・プッシュ通知でその日の予定を送ってくれる。
・リプライで今後の予定を教えてくれる。

というシンプルなものです。予定の登録はGoogle フォームから行います。

また副次的な機能としてユーザーIDの登録・削除機能を付けました。


LINE botもGAS(Google Apps Script)ならサーバーレスで作成可能です。

GASでは以前にメールで通知を送ってくれるものを作ったのですが、予定の確認にはLINEの方が手軽だし見やすいのでいいかもですね。

で、けっこう簡単にできたので、備忘録がてら手順を書いてみようと思います。

あらかじめ断っておきますと、とりあえず動けばいいやくらいの精度で作っておりますのでそういうものだと思って見てください(笑)。


***

① Google フォームとスプレッドシートの作成

今回のド忘れ防止LINE botでは、Google フォームから予定の内容と通知の日付を入力してスプレッドシートに送信するようにします。



こんな感じのフォームになります。「回答」→「回答先を選択」より新しいスプレッドシートを作成してください。

それからもうひとつ、ユーザーIDを登録しておくためのスプレッドシートを新規作成します。中身はまっさらで大丈夫です。


② LINE DevelopersとGASの設定・準備

次にLINE botを利用するために必要な設定と準備です。

こちらのサイトを参考にさせていただきました。途中手順で出てくるスプレッドシートはフォームから作成したものを利用してください。

【LINE BOT】30分からできるLINE BOT開発①【下準備】 | tomowarkar
【LINE BOT】30分からできるLINE BOT開発②【GASとLINEボットの紐付け】 | tomowarkar

突っかかったらこちらも。

【LINE Botの作り方】Messaging API × GAS(Google Apps Script)でおうむ返しボットを作成する | TAKEIHO


③ コードの作成

フォームから作成したスプレッドシートの「ツール」→「スクリプト エディタ」でGASを開きます。

コードは以下の通り。

var ACCESS_TOKEN = "チャンネルアクセストークン";
var PUSH = "https://api.line.me/v2/bot/message/multicast";
var REPLY = "https://api.line.me/v2/bot/message/reply";

function doPost(e) {
    var events = JSON.parse(e.postData.contents).events;
    events.forEach(function(event) {
      if(event.type == "message") {
        reply(event);
      } else if(event.type == "follow") {
        follow(event);
      } else if(event.type == "unfollow") {
        unFollow(event);
      }
    });    
}

function push() {
    var spreadsheet = SpreadsheetApp.openById("予定のスプレッドシートID");
    var sheet = spreadsheet.getActiveSheet();
 
    var start = 2;
    var end = sheet.getLastRow();
 
    var today =  new Date();  
    var formattedDate = Utilities.formatDate(today, "JST", "yyyy/MM/dd");
  
    var spsh = SpreadsheetApp.openById("ユーザーIDのスプレッドシートID");
    var sht = spsh.getActiveSheet();
    var data = sht.getDataRange().getValues();
    var userlist = [];
    for(var n = 0; n < data.length; n++){
      userlist.push(data[n][0]);
    }      
  
    var value =[];  
    for(var i = start; i <= end; i++) {
      var sell_C = "C" + i;
      var day_C = sheet.getRange(sell_C).getValue();
      var day_C = Utilities.formatDate(day_C, "JST", "yyyy/MM/dd");      
      if(formattedDate != day_C){
        continue; 
      }    
      var sell_B = "B" + i;
      value.push("・" + sheet.getRange(sell_B).getValue() + "\n\n");
    }
    if(value.length == 0){
      return;
    }
  
    var postData = {
      "to" : userlist,
      "messages" : [
        {
            "type" : "text",
            "text" : "【本日の予定】\n\n" + value.join("") + "今日も一日がんばりましょう!"
        }
      ]
    };
  
    var headers = {
        "Content-Type" : "application/json; charset=UTF-8",
        "Authorization" : "Bearer " + ACCESS_TOKEN
    };
  
    var options = {
        "method" : "POST",
        "headers" : headers,
        "payload" : JSON.stringify(postData)
    };
    return UrlFetchApp.fetch(PUSH, options);
}

function reply(data) {
    var postMsg = data.message.text;
    var replyToken = data.replyToken;
    var replyText = "";

    if(postMsg == "登録") {
      replyText = "予定の登録はこちら\n" + "Google フォームのURL";
    } else if(postMsg == "今後の予定") {     
      var spreadsheet = SpreadsheetApp.openById("予定のスプレッドシートID");
      var sheet = spreadsheet.getActiveSheet();
  
      var range = sheet.getRange(2, 1, sheet.getLastRow(), 3);    
      range.sort([
        {column: 3, ascending: true},  
      ]);
      
      var start = 2;
      var end = sheet.getLastRow();
  
      var today =  new Date();  
      var formattedDate = Utilities.formatDate(today, "JST", "yyyy/MM/dd");
        
      var value =[];  
      for(var i = start; i <= end; i++) {
        var sell_C = "C" + i;
        var day_C = sheet.getRange(sell_C).getValue();
        var day_C = Utilities.formatDate(day_C, "JST", "yyyy/MM/dd");      
        if(formattedDate < day_C){
          var sell_B = "B" + i;
          value.push("・" + sheet.getRange(sell_B).getValue() + "(" + day_C + ")" + "\n\n");
        }
      }
      replyText = value.join("") + "忘れないようにしましょう!";
    }

    if(replyText == ""){
        return;
    } else {
        var postData = {
          "replyToken" : replyToken,
          "messages" : [
              {
                  "type" : "text",
                  "text" : replyText
              }
          ]
        };

        var headers = {
            "Content-Type" : "application/json; charset=UTF-8",
            "Authorization" : "Bearer " + ACCESS_TOKEN
        };

        var options = {
            "method" : "POST",
            "headers" : headers,
            "payload" : JSON.stringify(postData)
        };

        return UrlFetchApp.fetch(REPLY, options);      
    }
}

function follow(e) {
  var spsh = SpreadsheetApp.openById("ユーザーIDのスプレッドシートID");
  var sht = spsh.getActiveSheet();
  sht.appendRow([e.source.userId]);
}

function unFollow(e){
  var spsh = SpreadsheetApp.openById("ユーザーIDのスプレッドシートID"); 
  var sht = spsh.getActiveSheet();
  var result = findRow(sht, e.source.userId, 1);
  if(result > 0){
    sht.deleteRows(result);
  }
}

function findRow(sht,val,col){
  var data = sht.getDataRange().getValues(); 
  for(var i = 0; i < data.length; i++){
    if(data[i][col-1] === val){
      return i+1;
    }
  }
  return 0;
}

コピペで使えます。

以下の4つの値(全7ヵ所)は固有になりますので書き換えてください。

・1行目の「チャンネルアクセストークン」
LINE Developersの該当するチャンネルのMessaging API設定で発行したものです。

・19、82行目の「予定のスプレッドシートID」
・28、138、144行目の「ユーザーIDのスプレッドシートID」
該当するスプレッドシートを開いた状態でアドレスバーURLの下記部分に表示されます。ちょっと長めです。

https://docs.google.com/spreadsheets/d/ここの値をコピペ/edit#gid=0

・80行目の「Google フォームのURL」
Google フォームのURLですね。アドレスバーをまるっとコピペ。


参考にしたサイトはこちら

【入門】Google Apps ScriptでLINE botを作成する - Qiita
【LINE Botの作り方】Python × Messaging APIでプッシュ通知を行うボットを作ろう | TAKEIHO


ちなみにGASの初回実行時に承認が必要となります。

無料のGoogleアカウントの場合「このアプリは確認されていません」とちょっとこわい?ページが表示されますが大丈夫です。ここで「安全なページに戻る」をクリックすると実行できませんので、「詳細」→「プロジェクト名(安全ではないページ)に移動」から承認します。

下のサイトが参考になります。

【初心者向けGAS】スクリプト実行時の「承認」でびっくりしないために


④ トリガーの設定


push関数を毎日定期的に実行するためにトリガーの設定をします。時間などは適宜変更してください。

「トリガーを追加」より、

・「実行する関数を選択」→ push

・「実行するデプロイを選択」→ Head

・「イベントのソースを選択」→ 時間主導型

・「時間ベースのトリガーのタイプを選択」→ 日付ベースのタイマー

・「時刻を選択」→ 午前7時〜8時

・「エラー通知設定」→ 毎日通知を受け取る

これで予定がある日は通知がされます。


⑤ ウェブアプリケーションとして公開

コードが完成しましたら「公開」→「ウェブアプリケーションとして導入…」より、

・「Project version: 」→ new
(「プロジェクトバージョン: 」→ new)

・「Execute the app as: 」→ Me
(「次のユーザーとしてアプリケーションを実行: 」→ 自分(自分のGmailアドレス))

・「Who has access to the app: 」→ Anyone, even anonymous
(アプリケーションにアクセスできるユーザー: 」→ 全員(匿名ユーザーを含む))

で更新してください。

カッコ内は日本語表記の場合です。(私は英語表記で出てくるんですが何でだろう?)


⑥ さっそく使ってみる

ということで完成です。ボットを友達に追加しますとユーザーIDがスプレッドシートに登録されプッシュ通知が届くようになります。(ブロックすれば削除されます。)



うまくいくとこんな感じになります。その日に予定があれば【本日の予定】としてトリガーを設定した時間に配信されます。

今後の予定」と送ると翌日以降の予定を順番に並べてリプライくれます。

登録」と送ると予定を入力するGoogle フォームのリンクをリプライくれます。


***

どうでしょうか、ちゃんと動いたでしょうか?カスタマイズもいろいろできるかと思います。

GAS、本当に便利ですね。作業が捗ります。




Twitter(@nkkmd)、Instagram(@nkkmd)も日々更新中です。

2020年5月30日土曜日

低コストかつ汎用的なICT環境の構築(基礎編)

農業においてもICT化は今後を見据えて考えていかなければならないテーマです。

特に考えるべきは、さわのような小さな農園においてどのような効果を期待して導入していくのかという部分ですね。

そうした時に、現状で確実な省力化、低コスト化が可能なのがバックオフィス業務ではないかと思います。

とりあえずPC1台あれば取り組むことができますからね。





***

今回はまずバックオフィス業務のICT化に向けての基礎的な環境構築について書いてみます。


【ネット回線】

有名どころの個人向け回線であれば、概ね何でもいいかと思います。余計なオプションは付ける必要ありません。無線LANルーター(Wi-Fiルーター)などは自前で用意した方がある程度の期間で見れば安くなります。

-----
追記(2020-6-1)

NURO光はセキュリティ的にやばいって話 (安全に使うための方法) - Qiita

回線のセキュリティの話ですね。仕事で使うのであれば尚のこと気をつけたいですね。
-----

それから、重要なことはプロバイダメールを仕事で使わないことです。何かあってもプロバイダを変更できなくなってしまいます。


無線LAN・ネットワーク機器(Amazon)


【PC】

オーバースペックなPCは必要ありません。

Microsoft Officeやセキュリティソフトの延長もいりません。これだけでだいぶ安くなるはずです。

必要なものは後から必要なものだけ購入しましょう。

私は最低限の構成のMacBook Air(11-inch, Early 2014)とASUSのVivoBook X207NAを使っています。(関連投稿:安いパソコンを使いこなす!(ASUS VivoBook X207NAの場合)

そこそこ年季が入ってきましたが、後述のようにバックアップは常にとっていますので動かなくなるその日まで使うつもりです。


パソコン(Amazon)


【オフィスソフト】

ここからは私のパターンを紹介しつつ。

主にGoogle ドキュメント、スプレッドシート、スライドを使っています。最近はGoogle Apps Scriptによる業務効率化にも取り組んでいます。まだまだ勉強中ですが便利です。

相手先とファイルのやり取りがあり、互換性の問題などでMicrosoftのOfficeアプリを使いたい場合にはWeb版のWord、Excel、PowerPointを使います。

Googleアカウント、Microsoftアカウントがあればどちらも無料で利用できます。

ただし、MicrosoftのWeb版 Officeアプリには一部使えない機能(例えばマクロなど)があり、フル機能を使うためにはデスクトップ版が必要です。こちらは有料です。

また、MacでしたらPages、Numbers、Keynoteが無料で使えます。


オフィスソフト 総合ソフト(Amazon)


【バックアップ】

バックアップは大切です。

先日の話ですが、とある事業者さんから、パソコンの電源が突然はいらなくなってしまったとのヘルプがありました。

お話を聞くと昨年の台風で水没したとのことで、おそらくそれが原因ではなかろうかと。

バックアップを取っておらず、データが消失していたら一大事でしたが、幸い電源ユニットの故障でハードディスクは無事だったため直接データを取り出して事なきを得ました。

私の場合は、無料のGoogle ドライブ(15GB)とMicrosoft OneDrive(5GB)を併用して必要なファイルは全てリアルタイムにバックアップしています。

(過去のキャンペーン、ボーナス等でそれぞれ15GB→19GB、5GB→30GBに増量済み)

クラウドストレージはスマホや他のPCとの同期も楽で便利です。

容量的には外付けHDD等に全く歯が立ちませんが、Google ドライブでは「高画質」でアップロードされた写真とGoogle ドキュメント、スプレッドシート、スライド等は容量にカウントされないため、ほぼほぼ事足りてしまいます。

今のGoogleアカウントは14年くらい使っていますが使用している容量は5.7GBです。

容量が足りなくなったら追加購入が可能です。ただ料金がサブスクリプションなので、優先度の低いものは外付けHDDなどに放り込んで容量内に収めるのも手かと思います。


外付けドライブ・ストレージ(Amazon)


【セキュリティソフト】

MacBook AirはAVGというソフトの無料版、VivoBookはWindows 10に標準搭載(無料)されているWindows Defenderを使っています。

無料のものを使っていて問題が発生したことはありませんが、個人情報やお金関係のやり取りを多々する場合はサポートのある有料のものを使った方がいいかもしれません。

しかし何より一番大切なことは危険な行動をしないことです。

差出人の分からないメールに添付されたファイルを不用意に開かない。リンクを踏まない。常にURLを確認する。検索する。よく分からないアプリやソフトをインストールしない。あやしい広告に触れない。などなど。


ウイルス対策・セキュリティソフトストア(Amazon)


***

ということで、ぽちぽち書いてみました。

必要とするスペック以上のものを用意してしまうとけっこうびっくりするような費用がかかってしまったりしますので、どこまで必要かを常に考えておくことが肝要です。

Googleアカウント、Microsoftアカウントがあれば無料で相当いろいろなことができます。話題のWeb会議なども可能ですね。




Twitter(@nkkmd)、Instagram(@nkkmd)も日々更新中です。

2020年5月18日月曜日

夏の準備2020(と雑記)

5月も半ばですね。


田植え

天気にも恵まれ、無事に田植えが終わりました。


キクラゲの芽

キクラゲはかわいい芽ができてきました。6月には収穫を始められそうですかね。


原木椎茸 ホダ化

今年植菌のホダ木。白っぽく見える部分が椎茸の菌です。小径木はもうだいぶ菌がまわっていますね。例年になく菌がまわっているので夏場の高温には注意しないとです。


原木椎茸栽培

今年から古ホダ木での露地栽培を本格的の始めようと準備中です。まずは様子を見ながら環境を調整していきます。写真の場所は日光が当たりすぎるので遮光シートが必要ですね。

古ホダ木は6月より販売いたしますので、ぜひご家庭でも原木椎茸を育ててみてください。



UFOズッキーニの定植。今年で自家採種7世代目になりました。今年は紙マルチで省力化の実験をしています。うまくいくといいのですが果たして…。

この他、ミニキュウリ、ミニトマトも定植しました。わくわく。

***


先日、「家族経営の農業の兼業化という方向性」(2020-4-26)という投稿をしましたが、個人的に農業以外の仕事を始めました。

委託でパソコンまわりの業務をあれこれお手伝いする感じです。

声をかけてもらったのですが、良い機会かと思いやらせていただく事にしました。

新型コロナウイルス感染症(COVID-19)による今回の急激かつ強制的な生活様式の変化の中で、これまで頭の中でもやもや考えていた農業のかたちや働き方、価値観の輪郭が少しはっきりしてきたように思います。

拡大路線をとらず、業務の改善・効率化を愚直に積み重ねていけば最終的には時間的な余裕がある程度できてきます。

その余裕をどう使っていくかということですね。

また農業以外の仕事以外にもうひとつ、在野で研究を始めようかと思っています。

まぁ、大学院生時代も何の成果も出せずに終わりましたので、気張らずぼちぼちやっていこうかと思います。





Twitter(@nkkmd)、Instagram(@nkkmd)も日々更新中です。

2020年5月3日日曜日

Visa LINE Payカードが届きました。まずは1年間メインカードとして利用予定です。

-----
キャッシュレスとポイ活まとめ
※こちらで新しい投稿から一覧にしています。
-----


Visa LINE Payカードが届きました。デザインは東京2020オリンピック限定の赤にしました。



2021年4月30日までの初年度は還元率3%になります。

タッチ決済も付いていますし、とりあえず1年間は固定費の支払いなど含めてメインで使ってみたいと思います。

先日作ったエポスゴールドカード紐づけKyash Card(還元率最大2.5%)は1年間待機ですね。Kyash Cardでファイナルアンサー感あると言っておいてなんですが(笑)、まぁ3%は1年限定の反則技みたいなものですからね。

2年目以降は還元率1%になりますが、LINEポイントクラブの特典が充実しているので、ゴールド(チャージ&ペイ還元率2%)以上のランクを維持できそうであればスマホ決済のメインとして使えそうです。

LINEポイントクラブ | ランクアップで特典をゲット!

年会費は1250円(税別)ですが、初年度は無料、2年目以降も年1回の使用で無料になります。


***

マイルは貯めていないので、クレジットカードは還元率と付帯の保険などの特典で生活に合わせてフォーメーションを組んでいます。

作る際はなるべくキャンペーン狙い、もしくはモッピーなどのポイントサイト経由でポイントをもらいつつ、年会費は基本的に無料(条件付き含む)のものを選んでいます。

現在は目的別で利用中4枚、海外旅行保険用2枚、解約候補1枚の計7枚所持です。

計画的に利用している分にはデメリット皆無ですが、管理できなくなりますと途端にまずいので私はスプレッドシートに入力し把握するようにしております。



・関連投稿
Kyash Cardが届きました。ひとまずキャッシュレスのファイナルアンサー感があります。

自営業でもエポスゴールドカードのインビテーションをもらうことはできるのか。


Twitter(@nkkmd)、Instagram(@nkkmd)も日々更新中です。