【アメリカ留学】どこよりも簡単にF-1ビザ取得までの手続きを概説する

はじめに

自分は2021年春からアメリカで英語留学を始める予定です。
ここには、ビザ取得までの手続きの中で行ったこと・知ってたら楽だったことをメモ的に書いておきます。
留学志望の方が困ったときの助けになれば幸いです。
(こういう申請方法を書いたページは山ほどあるけど、経験談は多いに越したことない…はず…)
どのページを見るよりもざっくり何をすればいいかが把握できるように書いたつもりです。
足りないところは他のページで補ってね。

ちなみに、学校申請〜ビザ取得までに支払った申請料金ですが、
学校申請約$500+残高証明500円+SEVIS$350+面接アポ$160 で、
だいたい日本円で 10万円を超えるくらい のお金を払っています。
このお金がすぐに出てくるようにしておいてください。

もくじ

  1. 英語学校の申請
  2. 書類集め
    1. 学歴証明書類(大学卒業証明)
    2. 銀行の残高証明
    3. 証明写真
  3. SEVIS費用支払
  4. DS-160申請
  5. 面接のアポイントメントを取得
  6. ビザ面接

英語学校の申請

手続きの流れ

  1. 申請
  2. I-20(デジタルデータ)受け取り
  3. I-20原本受け取り(国際郵便)

までが学校の申請の中で行う手続きです。
I-20デジタルデータの受け取りまでが完了したら次のステップ(DS-160申請)に進めます。

費用について

入学はぶっちゃけ金さえ払えばすぐ入れます。試験があるところは聞いたことない。
学費はだいたい100〜200万円/年、留学期間は週単位から選べると思うので、だいたい10万円/月でみておけばよさそうです。
自分が留学する学校はコロナ禍での集客の問題か、大きな割引があったので、年70万円程度でした。

必要な書類

だいたいは入学に必要な書類というよりビザ取得に必要な書類です。
学校の申し込みが完了したら、次はF-20ビザ取得にむけての書類を用意します。

学歴の証明書類

自分は大卒なので、卒業した大学から英文での卒業証明書類を発行してもらいました。
ビザ申請の際にはオンラインから書類をアップロードすることになるので、厳封は必要ありません。
ただ、大学・大学院などに申請の際は入試に厳封済みの卒業証明書、取得単位一覧表が必要になるようなので、厳封済みとそうでないものを一組ずつ請求しておくのが良いかもしれません(請求日は関係ないとか聞いたけど学校によりけり?)。

銀行の残高証明

銀行の窓口で発行します。
銀行によって発行までにかかる時間と料金がかなりまちまちです。
500〜1000円の発行手数料が必要です。 また発行にかかる時間は本当に各行によって差が激しいです。例を上げると、ゆうちょで約1時間、三井住友銀行で1週間です。

自分は使っている銀行の中で即日発行できるのがゆうちょしかなかったのでゆうちょで発行しました。
ただ、注意点があって、 発行依頼日前日までの残高 でしか発行ができません。
つまり、一時的に口座を多く見せるためにゆうちょにお金を集める場合、一日置かないとその金額が反映されません。
ゆうちょは即日といえども、メインで使っていない場合は発行までに実質2日かかることになりますので、時間には余裕を持って発行しましょう。

ちなみに 日本語 or 英語、円 or ドル を発行時に選択することができますが、 英語/ドル で発行することをおすすめします。
英語/ドルの場合、日本語と実際の貯金額(円建て)が併記されますので、全部入りになります。

この残高証明はビザ面接に持っていくことをおすすめします。

証明写真

学校によっては証明写真が必要となるかもしれません。
学校の申請に必要がない場合も、その後のビザ申請のプロセスで絶対に写真が必要になりますので早めに写真撮影しておくと便利です。
写真の使い所は少なくとも2回あります。

  1. DS-160の申請の際に 写真データ をフォームからアップロードする
  2. ビザ申請の際に提出する(写真紙に印刷されたもの)

ビザ申請の際に必要とされる写真のサイズは以下の条件があります。

  • 白背景
  • メガネ、イヤホン、ヘッドホンの着用なし
  • 6ヶ月以内に撮影
  • 5cm×5cm(ビザ申請で提出する写真)

参考:
www.ustraveldocs.com
jp.usembassy.gov

これらの条件を満たしつつ、一番お安く用意できるおすすめの方法は 大日本印刷の証明写真機Ki-Re-i での撮影です。

www.dnpphoto.jp

デフォルトが青背景なので、背景色を変えるためにエクセレントモード料金を払う必要がありますが、
デジタル写真のDS-160に適合するサイズにリサイズ&ダウンロードも専用アプリ上でできるので、一番カンタンです。
www.dnpphoto.jp

免許証/中型」サイズを設定して「Withスマホ」をオンにし、「エクセレントモード」を有効にすることで、必要な写真が 1500円 で揃います。
また、公式ホームページでときどき利用料の割引クーポンを配布しているようなので、利用前にチェックしてみてください。

SEVIS費用支払

(物理的に書類が届いていなくても実行できます!)
学校からI-20がデジタルデータで発行された場合、そこにSEVIS-Noが記載されています。
その番号を使って、申請費用を支払います。
費用は350ドル。
支払い後は支払い証明書が発行されますので、それを印刷しておきます。
この支払証明書は大使館で必要になるビザ面接書類に含まれます。

jp.usembassy.gov

DS-160申請

(物理的に書類が届いていなくても実行できます!)
ビザ申請の中で一番めんどくさいプロセスだと思う。
ウェブフォームの記入ですが、めっちゃ長いのとフォームは全て英語なので(翻訳はあるが、ないところもある)2時間くらいみておく必要があります。

ここは特にアドバイスするところはない。がんばれ…
完了後、バーコードと自分の写真が掲載された登録証明が発行されるので、印刷します。
この登録証明は大使館で必要になるビザ面接書類に含まれます。

jp.usembassy.gov

面接のアポイントメントを取得

この手続は物理的にI-20が届いてから行うべきです(面接予約日当日に書類が手元にないと、書類不備でビザは発行されないため)。

申請料金は2020年12月現在で16800円です。基準は$160なので、ドル円のレートによってときどき変動します。

下記のページに従い、申請料金の支払いとアポイントメントを取得します。

www.ustraveldocs.com

アポイントメントを取得後、予約ドキュメントが発行されるので、これも印刷します。
この予約ドキュメントは大使館で必要になるビザ面接書類に含まれます。

持ち物準備

当日の持ち物などはこの予約ドキュメントに書いてありますので、そのとおりに準備します。

ドキュメントや説明ビデオには25cm四方以内のかばんにしろとか、入館前にスマホを預けなければいけないので文庫本を持ってくるといいよとか書いてましたが、 ぜんっっっっっっっっぜんそんなことはなかった
大きめトートバッグ持って入ってた人いっぱいいましたし(ただ荷物検査に時間はかかるので中身はスカスカにしていこう)、
館内はフリーWifi提供してるくらいなので余裕でスマホいじいじできます。写真撮影はNGです。
なのであんまり気にしすぎずに。ただこれはコロナ禍で人が少なかったから寛容になってただけかもしれない。

ビザ面接

自分は東京・溜池山王の大使館で面接を受けました。
警備の関係で大使館にたどり着くのは初見だとかなりむずかしいので、要所要所で警備の警察官に道を聞きながら進むのをおすすめします。
警察官に予約ドキュメントを確認される場合があるので、すぐに見せられるように準備しながら進んでください。

それ以後の内容はあまり書くとよくなさそうなので、頑張って!
面接で「Approved」って言ってもらえれば晴れて留学生です。

【退職トラブルエントリ】退職したのに書類上退職できてなかった話

まれによくある話だと聞いたので記事に残す。 同じ目に合う人が少しでも減ることを祈る。

この記事を読めばわかること

  • 退職時、会社が書類を発行してくれないときにどうすればいいか
  • 退職にあたってどのような手続きを会社にして貰う必要があるか。その書類がないと何が困るか。発行してもらえないときの対応方法。
  • ブラック企業の愚痴

何があったか

  • 前職が退職書類処理を一切行っていなかったため、役所の書類上前職で働いていることになっていた
  • 転職後3~4ヶ月経って、届くべき書類が一切届かない+転職先の会社で雇用保険等の一部の手続きが「前職での資格継続」を理由に行えなかったことにより発覚
  • 有給取って丸一日各所に電話かけたり直接訪問してやっと解決。しばらく時間が経ったので公開しました
  • 色々アリエナイ。前職は会社として機能してないことが再認識できた。滅びてほしい(愚痴)
  • 退職先に何度も何度も電話アタックするのは普通に心理的ストレスが半端ないよ

退職に必要な書類たちの紹介

法律を直接あたったわけではなく、ウェブサイトを参照したり役所、ハロワ、年金事務所の人に伺ったりして集めた知識です。
間違っていたり変更されていたりする可能性もあるので、会社と戦うときはご自身でのファクトチェックもお願いします。

公的機関への相談の基本

労働基準監督署
自分の住んでいる場所ではなく、会社のある場所を管轄する監督署に相談するのが原則
とくに県が異なる場合、ルールも異なるので、助言もしてくれない場合がある

源泉徴収

義務・期限

法律によって、会社の発行義務・タイムリミットが決められている

  • 会社は、 従業員の退職日から1ヶ月以内 に交付する義務がある(所得税法
    • 普通は在職中~退職1週間以内に出てくる

無いと困ること

転職をした場合、前職の給与も含めて年末調整を行うので、これがないと 年末調整ができない (税務トラブルにつながる)

もらえない場合

  • 退職した会社に直接電話して依頼する
  • 労基に相談する
  • 税務署(自分が住んでいる地域を管轄する)に相談する(税務指導が入る可能性があり、恨まれる可能性あり)
    • 確定申告シーズンまでにもらえなかった場合、税務署で「源泉徴収未交付の届け出」書類を提出することで、確定申告を猶予してもらうことができる。退職した会社のせいとはいえ、この手続をしない場合 自分が罰金ペナルティの対象になる ので確実に行うこと。

離職票雇用保険

義務・期限

従業員が 退職した日の翌日から起算して10日以内 に、会社がハローワークに提出する義務(雇用保険法離職票の交付は義務ではない。

無いと困ること

  • 離職票
    • 退職後に無職期間がある場合、離職票がないと離職手当が受けられない
    • この書類の提出が遅れた日数分だけ、離職手当が受けられるようになる日が後ろ倒しになる
  • 雇用保険

対応方法

  • 退職前に「離職票ください」を伝えておく
  • 退職後に退職した会社に直接請求を依頼する
    • 会社は、従業員から請求された場合は応じる義務 がある。応じなかった場合、 懲役刑or罰金刑が定められている(雇用保険法
  • ハローワークから離職票の発行を促してもらう(指導)
    • ハローワークへの依頼のためには、直接退職した会社を管轄するハローワークに出向いて行うことが必須。電話では受け付けてないと言われた。

住民税

義務・期限

なし

無いと困ること

特に無し。もし手続きがされておらず、7月に入っても役所から請求書が来ない場合、前職がそのまま払ってる。

対応方法

6月以降、住民税納税書類が届かない場合に以下の手順を行う。

  1. 住んでいる地域の役所の住民税課に連絡し、事情説明した上で、 ①住民税の納付状況②特別徴収として登録されている事業者名 を教えてもらう
  2. 特別徴収にまだ前職が登録されている場合、退職した会社に直接、手続きをするよう依頼する

健康保険

義務・期限

  • 保険加入者は離職した場合、速やかに会社を通じて保険証を返却する必要がある
  • 離職後も保険証の返却がされていない場合、保険組合は本人に督促状を送付する
    • 手元に保険証があるまま退職したのに、督促状も届かない場合はそもそも退職処理が行われていない。退職処理前は会社を通じてやりとりする必要があり、処理後は直接組合とのやりとりになる
    • 僕のケースでは退職時に返せと言われず、督促状も来なかった。つまり保険証が有効なままだということ。保険組合に電話かけたけど組合の人困ってた
    • 保険証が手元にあるからといって使うとまたトラブルになるので注意する
  • ペナルティ等は不明

困ること

特に退職者が困ることは無し。会社はただデメリット。
保険料は本来会社と従業員が折半するものなので、給与振り込みなしに保険が維持されてるということは、会社が存在しない人の雇用経費を払い続けてることになるため。
ちなみにこれは会社側の不手際によるものなので、退職後〜保険残存が発覚した期間の保険料を退職者に請求することはできない。もしされたら労基へGO。

対応方法

  1. 督促状を受け取っていない場合
    • 退職した会社に保険証を送りつける
  2. 督促状を受け取った場合
    • 組合から指定された方法で組合に送る

厚生年金

義務・期限

困ること

  • 前に務めていた会社で退職の手続きがされていない場合、重複加入はできない仕組みなので新しい会社で再加入の手続きができない。
  • とはいえ、加入されている状態をキープすると事業者が毎月支払いをしなくてはならないので、こちらも会社が存在しない人の雇用経費を払い続けている状態になる。

CircleCIのmysqlで複数DBを作る方法、そしてcircleci/mysqlの機能制限について

やりたかったこと

CircleCIで複数のMySQL DBを立てたかった。

困ったところ

mysqlオフィシャルDockerイメージ( https://hub.docker.com/_/mysql )では使えても、 circleci/mysql のイメージ( https://hub.docker.com/r/circleci/mysql )では使えない機能が多いせいで悩んだ。
以下に詰まりどころを挙げる。これらの2つは circleci/mysql で使えない。

  1. volumes が使えないので.sqlファイルのマウント・流し込みが効かない
  2. ports も指定できないので複数の circleci/mysql イメージを立てると2つ目以降はポート3306で衝突して死ぬ

対応策

他ポートにバインドされたイメージを作ってあげるか、愚直にexecuteする以外はございません…
自分は愚直にexecuteするほうを選びました。

version: 2

definitions:
  workspace: &workspace
    working_directory: ~/working_directory
    docker:
      - image: circleci/python
      - image: circleci/mysql:5.7
        environment:
          MYSQL_USER: root
          MYSQL_ROOT_HOST: "%"
          MYSQL_ALLOW_EMPTY_PASSWORD: yes
commands:
  set_up:
    steps:
      - run:
          name: execute sql
          command: |
              mysql -h 127.0.0.1 -u root -e "<SQL>"

-h 127.0.0.1 は以下のエラー対策。付けないと出ちゃう。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

参考

https://qiita.com/piggydev/items/d02f94c6f3cc7e39e625

Oculus Quest 2僕的発売日インプレッション

発売日の昼にさっそくOculus Quest 2がとどいたよ。雑感を書いておく。都度都度更新されます。
僕はOculus Quest 1も購入アンド1年間プレイしていたので、1との比較がメインになります。

総評

  • 2は1の上位互換では決して無い(まじで声を大にして言いたい)
  • 2には2のよさ、1には1のよさがあるので、2を購入したからと言って1は手放さないほうが良いと思う

ハード面

いいところ

本体が軽くなった

わるいところ

  • 本体が軽くなった代わりにコントローラーが重くなってる
    • ビートセイバーで難易度高めを選ぶと鉄アレイ振り回してる?って感じるくらい重い
  • ヘッドバンドの調節が難しい。1の三点ヘッドバンドのほうが安定感があった。(2でもオプションのヘッドバンド買えば1と同じにはなります)
  • 視野角が狭くなっている(たぶん)(ディスプレイが2枚→1枚になった影響もあるんじゃないか説)

  • メガネをつけてプレイができない。眼鏡スペーサーはついてはいるもののほぼ効果なし。

    • それどころか、眼鏡の形によっては(大きめラウンド型とか)そもそもグラスの中に収まらない。
    • 細身メガネに変える&スペーサーを付けてなんとかプレイしても、通気性が悪くすぐに曇ってしまう

ソフト面

いいところ

  • ソフトダウンロードが早くなっている
  • 画質!!!!!!!!圧倒的に良くなった。1でかなり目立っていたドット感がかなり薄れた。
  • 音質もよくなってる気がする。特に低音の出力が1から進化している。

わるいところ

  • Oculus Quest 1からのセーブデータの移行ができない。すべてのゲームが最初からプレイし直し。これは手痛い…
    • Side Questを使ってセーブデータ以降ができるらしい?いずれにせよQuest単品ではできない
  • コントローラの挙動が違う。精密な挙動を要求されるゲームほど、1と2の判定範囲の差が気になる。球技ゲームだと全然球に当てられなくなった。

感想

正直言って残念感がすごい。
発売前レビュー、どのテック系メディアも圧倒的褒めちぎりレビューしかなかったが、アレ絶対金もらって褒めてるやつだよね?ってくらいにハード面のガッカリが大きかった(´・ω・`)
Oculusが快適なゲームプレイと安価な価格設定のためにハード面でコスト削減をしているという話は発売前から出ていたが、その差が1と2でこんなに歴然と出るとは。
そもそも眼鏡つけてプレイできないっていうのが致命的すぎる。オタクのメガネ率を把握してないのか。
がんばって眼鏡付けてプレイしようとしても絶対眼鏡レンズと顔が触れてどんどん眼鏡が汚れるか熱気で曇るかしてしまう。Oculusのためにコンタクトレンズ買いに行かなきゃだめっすかね。
しかしそれを補強しようとすると高価なアクセサリを買わなきゃいけないわけで、とても悩ましい。

文句を色々と書いたけど、画質の向上は本当に素晴らしい(※しかし眼鏡ができないのでぼやけた状態でしか見れない)。 あ、やっぱり文句になってしまった。
とりあえず、はやくクラウドセーブ対応お願いしますOculusさん。

Xiaomi Mi Band 5発売日・スペックまとめ(自分とお友達用)

○○について調べてみました!系の日本の記事の情報が遅い。モー自分でまとめる。

発売日・価格について

ヨーロッパ・アメリカではすでに予約開始中・かつ発売日確定。
2020/07/15目安で各社動いているようです。

日本円にすると、ヨーロッパだと5000円程度、アメリカだと4500円程度。
日本展開時もそのあたりの価格帯になると予想されます。
それぞれ中国版モデルより1000円程度高い値段設定になっています。

スペックについて

上記製品ページからのピックアップして、日本の調べてみました!系情報になかったものをつらつら見ていく。

  1. Mi Bandの言語は中国語・英語のみサポート
    • スマートフォンの言語が英語以外の言語に設定されている場合、Mi Bandは自動的に中国語に設定される。
    • Mi fitアプリは複数言語対応。スマートフォンの言語と動機される。
  2. NFCは中国国内でのみ使用可能(もしくはなし)
    • Union Payのみサポート。Google Payサポートという噂があったが…
    • それ以前に、「NFC非搭載モデル」と表記しているページもあり、グローバルモデルの位置付けがよくわからない
  3. 血中酸素モニタは実装されなさそう
    • これも事前の噂で「中国国内版にはなかったがグローバル版には実装される」と言われていた機能。各製品紹介ページでそのような記述は見つけられず。

その他の情報について

ヨーロッパで7/15に製品発表会があり、その際に追加の情報が公開されると推測されている

www.techradar.com

(7/16追記) 噂通り、上記の製品発表会で正式に発表され、各社で販売がスタートしました。 ただ日本展開の話はなかったようです。 k-tai.watch.impress.co.jp

Serverlessルートディレクトリの外にある自作モジュールを読み込ませる

概要

repo-root
├ functions
│ ├ func_a
│ │ ├ main.py
│ │ └ serverless.yml
│ └ func_b
│   ├ main.py
│   └ serverless.yml
├ libs
│ └ mod_c
│   └ foo.py
└ tox.ini

とあるServerlessのLamdaを管理するリポジトリがあります。
このリポジトリは(歴史的背景により)、それぞれ serverless.yml を持つ複数のFunction(func_a, func_b)を持っています。

という条件の中で、func_a, func_bで共通の自作モジュール mod_c/foo.py を読み込みたくていろいろやったメモです。

なにゆえ?

普通にこのままデプロイをかけると、 serverless.yml があるディレクトリの外側にある libs はzipされません=Lambdaが libs を持たない状態になります。
そのため、Lambdaは

Unable to import module 'main': No module named 'libs'

というエラーを出すことになります。
本稿の目的はこれを回避することです。

本来なら /repo-rootserverless.yml を置くのがたぶん最適解です。
が、歴史的背景が色々あってその変更を掛けることができませんでした。
というお断りをしておきます…

説明すること

  1. Serverlessデプロイするまで
  2. PyCharm上で読み込めるようにする方法
  3. tox/pytestでテストできるようにする方法

1. Serverlessデプロイするまで

serverless-python-requirementsというプラグインを使用します。

github.com

serverless.yml があるディレクトリで↓を実行してインストール。

$ sls plugin install -n serverless-python-requirements

インストール後、 serverless.ymlplugins 内に vendor オプションを追記することで libs を含めることが可能になります。

GitHub - UnitedIncome/serverless-python-requirements: ⚡️🐍📦 Serverless plugin to bundle Python packages

service: xxxx-yyyy-zzzz
frameworkVersion: "^1.xx.x"

provider:
  ...(省略)...

plugins:
  - serverless-python-requirements
custom:
  pythonRequirements:
    vendor: ../../libs
  ...(省略)...

functions:
  ...(省略)...

ただ、デプロイ後、 vendor に指定したディレクトリ階層が1階層浅くなるトラップがあります。

デプロイ後、Lambdaの中は↓のようになります。

func_a
├ /bin
├ /redis
├ /requests
├ __init__.py
├ main.py
├ /mod_c
└ ...

serverlessルートディレクトリ直下にimportしているライブラリが展開されます。
それによって何が起きるかというと、func_aおよびfunc_bの main.py

from libs.mod_c.foo import bar

のようにimportしている場合、
libs が見つからないことによってLambdaの中で結局 Unable to import module が出ます。
ソースコード上での解決方法は簡単で、 libs を除けば動作します。

from mod_c.foo import bar

ただこの状態だとローカルでテストが動作しなくなったり、toxが回らなくなったりするので、
importに合わせて各種設定を変更することが必要になります。次節へ。

2. PyCharm上で読み込めるようにする方法

1の手順に沿ってimportを書き換えるとPyCharmが警告を出すので、Project Structureから libs をSource Foldersとして登録します。

  1. PyCharmのProject Structure画面を開きます。
  2. [File] -> [Settings] -> [Project] -> [Project Structure]
  3. [Mark as:] から [Sources] をクリックしてから、 /libs をクリックします。
  4. /libsディレクトリが青色になったら [Apply] -> [OK]

これでPyCharm上では正しくimportができる状態になります。

3. tox/pytestでテストできるようにする方法

toxを使っている場合、まだimportが失敗するので修正する必要があります。
(本稿ではCircleCI+tox+pytestの使用を前提としています)

原因は libs にpathが通っていないことなので、
テスト実行時の環境変数PYTHONPATH を追記します。

tox.ini

[testenv:py36]
deps = pipenv
commands =
  - pipenv install --dev
  pipenv run pytest
setenv =
  PYTHONPATH = {toxinidir}/functions{:}{toxinidir}/libs
...

この例では、 /functions/libs の2つのディレクトリにパスを通しています。

setenvについての詳細はこちら。名前の通り環境変数をセットするだけです。

tox.readthedocs.io

{toxinidir} はtox.iniがあるディレクトリを指す変数、
{:} は複数変数の区切り文字(環境依存)を環境に合わせて変更してくれるものです。

toxの置換変数の詳細はこちらを参照。

tox.readthedocs.io

{:} でちょっとハマりました。
Windowsローカル環境で作業しているときに ; で書いて、
それをCircleCI(つまりLinux)に出したら動かなくなって、区切り文字が環境依存であることに気づくまでに数十分かけてしまった…
直接 : , ; とか書かずにちゃんと {:} を使いましょう。

【退職エントリ】SES嫌いだけどSESとして働いて退職するまで

はじめに

2年ほど勤めたSES(開発者派遣・客先常駐の業態)主体の会社を退職した。

僕は元々SESが嫌いで、その存在を知ったときから絶対その業態では働きたくね〜〜〜〜と思っていたし、
前前職でやむなく客先受注に出されたときにはいろんな圧力が原因で精神を病んでいる。

ところが、色々あって「実際にやってみなきゃわからん」と妙にポジティブな気持ちでSESの会社で働くことを決めた。
そして最終的に、インターネットで言われる「SESのこれがダメ」は正解だったことを知り、退職を決めた。

※注意:この記事はあくまで退職エントリです。「SES」っていう主語でものを語るつもりではないのでご理解ください。あくまで僕の経験です。

続きを読む