Rubyと仲良くなりたい٩( 'ω' )و

Rubyと仲良くなりたい日々のこと

給与デジタルマネー解禁で私たちどうなる?

給与がデジタルマネーになる?

給与のデジタルマネーが解禁になるとのことで、「え、仮想通貨とかで支払われたらかなわん」という感想を抱き、いったい何がどうなるのか気になったのでまとめました。

現在の状況

賃金の支払いは、銀行口座への振込としている企業が多いですが、
実は労働基準法第 24条では、原則として賃金は、通貨で、直接労働者に、その全額を支払うことが定められています。 ただし、別段の定めがあれば、確実な支払の方法かつ労使間の合意が有る限り通貨以外での支払いも良いとされています。

別段の定めとは?

実際には、労働基準法施行規則第7条の2に、労使間の合意があれば賃金の支払い方法を銀行口座の振込などに変更すると定められています。

どんな方法ならいいの?

現状、労働基準法施行規則第7条の2に定められている賃金の支払い方法は、下記の2種類のみです。

1 当該労働者が指定する銀行その他の金融機関に対する当該労働者の預金又は貯金への振込み
2 当該労働者が指定する証券会社に対する当該労働者の預り金(次の要件を満たすものに限る。)への払込み

デジタルマネー解禁でどうなるの?

結論から言うと日本人労働者にはあまり影響がなさそうです。

労働基準法そのものは改正されないもようなので、デジタルマネー解禁となっても賃金の支払いは、確実な支払の方法でなければならないということに変わりはありません。

預金を100%保全できる確実な方法でなければならないのです。
仮想通貨は変動が激しいため除外されるようですが、仮想通貨でなくてもハードルが高そうですね(~~;)

預金を100%保全し、そのほかのたくさんの条件を満たし、厚生労働省の指定を受けることのできるサービスは現在存在しません。
これから開発されるらしいです。

ではなぜ、デジタルマネーの解禁に動き出したかと言うと、口座開設のハードルが高い外国人労働者への賃金支払いをなんとかしようということらしいです。
らしいです、と言うのも、指針のような厚生労働省による公的文章を見つけらなかったので…。審議会の全部の議事録を全部漁るほどの情熱はなかったのですが、直近でこのようなやりとりがなされていました。

外国人労働者への賃金支払いを円滑化する新たな賃金支払い方法の導入可能性につきましても、賃金の確実な支払い等の労働者保護に留意しながら検討してまいりたいと考えております

引用: 2018年7月10日 第143回労働政策審議会労働条件分科会 議事録

いつから?

2019年に労働政策審議会 (労働政策審議会)で議論に着手、労働基準法の省令を改正する予定らしいです。

で、実際どうなるの?

サービス開発視点

そもそも、デジタルマネーで給与支払いをできるサービスは存在しておらず、これからサービスを開発するとしたら、確実な支払いを担保した上で、労働基準法的にも全く問題なし!と言えるレベルのたくさんの条件をクリアし、さらには金融庁への登録を行ったり厚生労働省による指定を受けたりする必要があるなど、とてっっつもなくハードルが高いのです。
つまり、プロジェクトのお膝元でサービス開発または輸入が行われ、一般の企業はなかなか参画できないことが予想されます。(まだ指針とか出ていないのであくまで予想ですが・・・)

賃金受け取り視点(日本人労働者)

今後日本でどこまでデジタルマネーが普及するかによりますが、当面は口座振込で特に不便はないため、あえて導入するメリットがあまりないのではないでしょうか。
デジタルマネー解禁によって新たな選択肢が増えるのでその辺りは今後どう普及していくのかなーと言う感じです。

最後に感想

私の賃金が仮想通貨で支払われると心配は無さそう、元号サマータイムののように同時不明確広範囲に及ぶ影響が…という観点では、サービス開発的な影響も当面無さそう、ということがわかって一安心でした。

参照

ブログをどうしようか考えた話

はじめに

今年の夏にブログを開設し、気がつけばもう秋。
最近、ブログとどう向き合っていいのか迷っている。

Hatena Blogを開設した頃

とにかく毎日わからないことだらけで、たくさん書き留めたいことがあった。
誰かに見てもらうとかではなくて自分が忘れないために。
社内のesaにわかったことや知ったことをとにかくどんどんpostしていて、社外に出せるものや小さくクリアした問題なんかを1日1記事Hatena Blogに投稿していた。

現状

Silverの合格記事を最後に、ブログの更新が滞っていた。
そのあとの向き合った「Object指向とは」「クラスとインスタンスとは」「RESTとは」のというような課題が大きすぎてブログ記事としてうまくまとめられず、調べたいもの、わかりたいこと、が増えていくうちに、だんだんブログから遠のいていった。
ブログ開設当初は、「毎日投稿しなければ意味がない」という義務感があったという後ろめたさもあって、ブログからさらに遠のいていく悪循環。

これから

別に毎日投稿する必要はないと割り切る。
投稿することは目的ではなく手段である。

自分のためという目的に見合うよう、これからは2つの軸を持ってブログと向き合いたい。

その1: 自分にとって技術的に役立つ記事であること

誰かに「XXXについて」を説明するときに、「これを読めばわかる」と言いたい。そこまで言えなくても、「これを読みながら説明させて」と言えるような記事を書きたいという姿勢。 技術的な内容に関して、とにかく「知った!知らんかった!」と中身のない投稿するのは無し。

その2: ブログらしく自分を配信する

言葉にしたいこと、誰かにちらっと読んでもらえたら嬉しいなと思うことを記事にする。
私は私しかいない。私の考えていることを多少垂れ流してもバチは当たらないだろうし、ひょっとして誰かを勇気付けられたらラッキー。という姿勢。

最後に

ブログ読んでもらいたい!という熱い気持ちがある訳ではなくて、ただ、自分のためになるツールであるのになんとなく遠のいていたので向き合い方を整理したのでした。

Ruby技術者認定試験 Silver こんな問題が出てた気がする話

Ruby技術者認定試験 Silverを受けました。
Ruby技術者認定試験 Silver よかった教材の話で紹介している模擬問題がメインとなりますが、実際に受験してみてこんな問題も出るんだーと思ったので、書きます。

模擬問題と違うなと思ったポイント

たまたまなのかもわかりませんが、ん?と思った傾向を紹介します。

  • ファイル操作関連問題(EOFエラー、File.openのオプション、DirクラスとFileクラスなど)の比率が高かった。5問くらいは出ていた気がする。
  • 配列の範囲など、優しめな問題は少なめ。そして、必ず何か罠がある。
  • 模擬問題ではあまり見かけなかったeach_with_objecteach_charなど、eachなんちゃらメソッドが何問か出ていた。
  • 存在しないメソッドも登場する。

模擬問題とは違うなと思った問題

模擬問題で紹介した模擬問題とは少し毛並みが違う問題、またはそれの引っ掛けと思しき問題を紹介します。 問われた内容はともかく、式や数値や選択肢はうろ覚えで、これを聞きたかった問題なんだろうなという想像で補っていますので、ご了承くださいmm

問題1.

24時間後の時間を表示するために__(1)__に入る適切な記述を選択してください。

t = Date.today
p __(1)__

(1) t.add(606024)

(2) t.add(24)

(3) t += (606024)

(4) t += (24)

問題2.

以下のコードを実行したときの出力として適切なものを1つ選択してください。

a = "a\nb\nc\n"
a.each_char do |n|
  print (n) 
end

(1)
"a"
"\n"
"b"
"\n"
"c"
"\n"

(2)
"a\nb\nc\n"

(3)
"a\nb\nc\n"
"a\nb\nc\n"
"a\nb\nc\n"

(4)
a
b
c

(5)
エラーになる

問題3.

以下のコードを実行したときの出力として適切なものを1つ選択してください。

a = "a\nb\nc\n"
a.each do |n|
  print (n) 
end

(1)
"a"
"\n"
"b"
"\n"
"c"
"\n"

(2)
"a\nb\nc\n"

(3)
"a\nb\nc\n"
"a\nb\nc\n"
"a\nb\nc\n"

(4)
a
b
c

(5)
エラーになる

問題4.

以下のコードを実行したときの出力として適切なものを1つ選択してください。

# coding: us-ascii
s = "あいうえお"
p s.encoding.name

(1) エラー

(2) Encoding:US-ASCII

(3) Encoding:UTF-8

問題5.

以下のコードを実行した時の出力に対して__(1)__に入る適切なものを選択してください。

y = true
y __(1)__ (raise "failed")
puts("succeeded!")

出力結果

succeeded!

(1) &

(2) &&

(3) |

(4) ||

問題6.

以下のコードを実行した時の出力に対して__(1)__に入る適切なものを選択してください。(複数選択)

arry = { 'a' => 1, 'b' => 2, 'c' => 3 }
___(1)___

出力結果

a[1]
b[2]
c[3]

(1) arry.invert

(2) arry.reverse

(3)

arry.each_with_object([]) do |(x, y), z|
   print x, z=[y], "\n"
end

(4)

arry.each_with_object([]) do | x,(y, z) |
  print x, "\n"
end