sunasunablog

sunasunablog

パソコン初心者のお話

Apple製品が指示される理由

皆さんがお使いの携帯電話ってApple製ですか、それともAndroid製ですか?日本では多くの方がAppleユーザーじゃないかと思います。皆さんがお使いの、そのApple製品って何でそんなに多くの人に使われているかご存知ですか?勿論デザイン、使いやすさ、何となくなど、理由は皆さんの自由で良いのですが、今回は機械面でどの様にAppleが凄いのかを紹介したいと思います。

ハードウェアとソフトウェア

皆さんはハードウェアとソフトウェアって言葉知ってますか?恐らく知ってはいても、説明できないって人も多くいらっしゃると思います。結論から言うと、

  • ハードウェアは、機械の物理的な部品
  • ソフトウェアは、機械の内部のプログラム

のことを指します。

スマホはハードウェアです。パソコンもハードウェアです。一方で、アプリはソフトウェアで、Excelもソフトウェアです。

凄い硬い説明をすると、ハードウェアは以下の5要素の集合体になります。

コンピュータの5大要素

  • 制御装置
  • 演算装置
  • 記憶装置
  • 入力装置
  • 出力装置

制御装置

以下の4つの装置に指示を出す装置。記憶装置にあるプログラムを読み取り、処理を開始させる。

演算装置

データの四則演算や比較、加工などを行う。
また上記の制御装置と演算装置を合わせてCPU(中央処理装置、Central Processing Unit)という

記憶装置

プログラムやデータ、情報などを記憶するための装置。主記憶装置と補助記憶装置の2タイプある。

入力装置

コンピュータに外から指示をするための装置。マウスやキーボード、マイクなどがそう。

出力装置

コンピュータの中からのデータを出力するための装置。パソコンやスマホの画面(ディスプレイ)などがそう。

これらの部品が組み合わさってパソコン/スマホなどのハードウェアになります。

絶対的に他社と異なるポイント

例えばMicrosoftはソフトウェアのメーカーです。勿論ハードも販売していますが、他社が作ったハードにMicrosoftのソフトウェアを内臓させています。またDellはハードウェアのメーカーです。パソコン本体を販売します。

ではAppleはどうでしょうか。機械本体を製造・販売しています。それと同時に内部のアプリケーションや、システムも開発しています(macOSってやつですね)。つまり、Appleが他の競合と一線を隠すのは、Appleがハードもソフトも両方ともを高水準で提供している点にあります。本体自体もデザインがカッコよく、使い勝手も良いのに、AirDropなどの内部のシステムまでもレベルが高いです。これらの理由でAppleユーザーは一度嵌ハマってしまうと、その便利さから永遠に抜け出せなくなってしまうのです。

おしまい

僕は仕事のこともあり、勿論Apple製品を使うことが多いです。AirDropが便利過ぎて、他の携帯には当分乗り換えれる気がしません。皆さんが漠然と「iPhoneって便利だよね」って思っていることを多少は具体的に説明できたかなと思います。Appleユーザーも、そうでない方も、より良いハイテクライフを、、、。ばいばい~。

身近な言葉で英語を勉強しよう!

皆さん、こんにちは。最近は自粛期間であまり身動きが取れなくてストレスが溜まりますね。そんな中、美容だったり勉強だったりこのタイミングで自分磨きをしている人も多くいると思います。僕は海外の人とペラペラに話すという夢があり、僕も最近英語の勉強をしています。英語を勉強する過程で身の回りには色んな英語が潜んでいるのに気付いたので、今回は皆んなにも楽しく英語の表現方法を増やしてもらいたくて、日本に溶け込んでいる英語を紹介します!

ハンドル

車を操縦するのに使うやつですね、スペルはhandleです。日本語ではハンドルと言いますが、英語では若干意味が違います。標準の英語でいうhandleは、シンプルに「取っ手、(包丁などの)柄」を意味します。あくまでも車のハンドルを意味しているわけではなく、代わりに英語でハンドルはsteering wheelと言います。

Wi-Fi

ワイファイです。語源は「Wireless Fidelity」の略らしいです。Fidelityは忠実性という意味で、「無線(wireless)でも忠実の機能する」みたいな意味なんですかね。ちなみに、Wi-Fiは数ある無線LANの中の1つで、特定のデバイス間の相互確認をアメリカの業界団体であるWi-Fi Allianceが認めたものをWi-Fiと呼ぶらしいです。

Off The Wall

有名なシューズブランドにvansという種類がありますね、僕も持っています。vansの商品の中には「vans off the wall」と書かれているものも存在します。実は"off the wall"にも意味があって、「気が狂って、風変わりな」という意味があります。1970年代に、当時既にvansを履いていたスケートボーダーの間でイカしたスケーターをoff the wallと表現することが由来とされています。また「周りと異なり、真の存在になりたいとする若者文化の先頭に立ちたい」という願いも込められているとvansのGMも語っています。

ダンク

バスケで選手がボールを直接バスケットに通して得点するやつですね。このタンクという言葉は英語で「dunk」と書くのですが、本来は漬ける、浸すという意味を持っています。バスケットにボールを浸すというのは何となくイメージできますね。

ビニール

最近では一部の小売店で既に有料化が始まっているビニール袋の「ビニール」です。英語ではvinylと書きます。ビニールと言うと日本ではもはやスーパーの袋と同義くらいのニュアンスですが、本来の英語では化学用語のビニルに用いられることの方が多い様ですね。塩化ビニルとか、酢酸ビニルとか。ちなみに英語でビニール袋はplastic bagと言い、vinylの発音はカタカナで書くと、バイナルになります。

ボールド

P&Gから販売されている柔軟剤入り合成洗剤です。こちらを使われている方も多いのではないでしょうか。英語としてのboldは「大胆な、力強い、派手な」などの意味があります。この合成洗剤のボールドも、柔軟剤入り洗剤という"新しい"タイプの洗剤と意味がマッチするということで、この英語から名付けられています。

YouTube

僕が大変お世話になっているYouTubeです。もちろんyouはあなたという意味ですが、tubeの意味はご存知ですか?歯磨き粉のチューブの意味も当然ありますが、ここでいうtubeはテレビのブラウン管という意味です。

カンニング

テストでズルすることを日本ではカンニングと言いますが、これと同じ意味の英語はcheatingと言います。cunningは英語で「ずるい、悪賢い」という意味で、必ずしも「テストでズルをする」という意味があるわけではありません。

おしまい

ちなみに僕の最近の記事ではプロテインは英語でタンパク質と言う意味ってことも紹介しましたね。僕はコロナが収束したら早く海外を旅行したいです。皆さんはコロナが収束したらしたいことはありますか?そのために今準備できることがあれば、時間を有意義に使って、少しても自分のためになることをしたいものですね。ばいばい~。

バーコードの仕組み

僕は普段、支払いを忘れない様にするために公共料金の振り込み用紙を玄関にマグネットで貼り付けています。僕のその振り込み用紙にはバーコードがついているのですが、この前仕事に行く時にその振り込み用紙が目に入り、バーコードってどう言う風に原理で動作してるんだろうって疑問に感じたことがありました。なので今回は、バーコードが動作する仕組みについてまとめてみました!

世界のバーコード

日本のあらゆる商品についているバーコードですが、バーコードは日本以外に色んな国でも採用されています。大きく分けると2種類のバーコードが存在します。

  • UPC(Universal Product Code)
  • EAN(European Article Number)

UPCは北米で使われている規格で、対してEANはヨーロッパ使われている規格になります。ちなにみ日本のバーコードは「JAN(Japan Article Number)」と呼ばれていて、EANの中の1つです。(JANは日本国内だけでの呼び方らしいです。)

バーコードの中身

日本のバーコード(及びEANのバーコード)は標準なタイプだと13桁でコードが構成されています。

f:id:sunasunablog:20200425123344p:plain
バーコードのサンプル画像

最初の7桁は企業コードと言い、名前通り最初の7桁でどのメーカーの商品か識別します。ちなみにJANに登録されている日本の商品は、どれも最初の2桁は49か45に指定されています。(こちらは国コードと呼ばれ、日本を表しています。)

最初の2桁の意味

企業コードの最初の2か3桁を国コードと言い、EANを採用している各国を表しています。日本は本来49のみでしたが、1995年に45が追加されました。フランスは30~37、スウェーデンは73など、番号に対応した国が識別されています。

次の5桁は商品アイテムコードと言い、こちらも名前の通りその企業のどの商品かを識別するのに用いられています。

つまり最初の12桁でどの企業のどの商品であるかを一気に判別することができます。

13桁あるうちの最後の1桁はチェックデジットと呼ばれます。何をチェックするかと言うと、読み込んだ最初の12桁で特定した商品が正しい商品なのかを確認できます。このチェックデジットはモジュラス10/3ウェイトという方法を用いています。以下にその確認方法を紹介します。

チェックデジット

バーコードの13桁の数字を桁数によって分けて考えます。

  1. 桁が奇数の値と偶数の値をそれぞれ加算する(チェックデジットのみ除く)。
  2. 桁が偶数の合計値のみ更に3倍する。
  3. 奇数桁の和と3倍した偶数桁の和を加算する。
  4. 合計した値の1桁目の数字を10から引く。
  5. チェックデジットと等しくなる。
上記の例で言うと、、、

f:id:sunasunablog:20200425123344p:plain

上記に載せたのと同じバーコードを用意しました。この4902430752152の数値を以下の様に処理します。

13 12 11 10 9 8 7 6 5 4 3 2 1
4 9 0 2 4 3 0 7 5 2 1 5 2

チェックデジットを除いた奇数桁の数字の和を求める。

4 + 0 + 4 + 0 + 5 + 1 = 14


偶数桁の数字の和を求める。

9 + 2 + 3 + 7 + 2 + 5 = 28


偶数桁のみ3倍する。

28 * 3 = 84


これらの値を足す。

14 + 84 = 98


足した数字の1桁目を10から引く。

10 - 8 = 2


この様にしてチェックデジットと等しい結果を得ることができます。

読み取る仕組み

バーコードリーダーがバーコードにレーザーを当てて、反射した光を受光します。その光は白だと受光量が多く、黒だと受光量が少ないので、受光量の多さで波形ができます。その波形を変換して、バーコードの白と黒の線を読み取り、線の太さや間隔から先ほどの商品の数値を特定し、商品を識別しています。

このスキャンの時に、読み取りミスがあると最後にチェックデジットと数字が合わなくなるので、確認が取れると言う仕組みですね。

おしまい

今日は内容が急に理系チックになってしまいました。マークダウンでの図やグラフの書き方が勉強できたので、大変良かったです!ちなみに日本で最初に商品をバーコードで管理するシステムを本格採用したのはセブンイレブンらしいよ。むしろ、それまでのコンビニは全部手打ちだったのかな。なんだか時代に感じるねっ!ばいばい~。

Tabキーを打っても異なるコードを示す件

少し前に前任からとある仕事を引き継いで、プログラミングを進めていました。一通りコードを書き終わったので、使っていたbacklogで作業していた箇所を確認してみると、僕が触れていない前任者のコードにまで編集の記録が付いていました。

行の先頭をTabでインテンドしていたのですが、僕が触れていない箇所も変更した記録が残っていました。ネットで色々と調べてみたら新発見なことがあったので、まとめてみました。

調査

その時はAtomって言うエディターで作業していたのですが、Atom「不可視文字の表示」を有効にしたらエディターが以下の様に表示されました。

f:id:sunasunablog:20200423224253p:plain
Tabのサンプル

コードをよく見ると、上半分と下半分で各行の先頭のTabの中身が異なっていることが分かりました。前任者から貰ったコードの中身の扱いが「>>」になっているのに対して、僕が書いたインテンドは「 ··」という扱いになっていました。

原因

よくよく調べてみると、「>>」はTabで、「··」はスペースを表しているらしいです。なので「··」だった僕のインテンドはTabではなく、「スペース2つ分の空白」という中身でした。

これを更に深堀りしてみると、興味深い記事に出会いました。

なんとTabには2つの種類があるそうです。

  • ハードタブ
  • ソフトタブ

僕はこれらの単語は、この時に初めて聞きました。

ハードタブ

通常のタブ。これが元でソフトタブが派生したから、ハードタブに説明もクソもない。

ソフトタブ

タブに複数のスペースを用いるタブ。本来のタブ(=ハードタブ)に対して、ソフトタブはスペースを用いて表現するので、原義に厳密に従うとソフトタブを「タブ」とは呼ばない、と言う人もいる。(個人的には、その考え方に異論はありません)

結論

先輩が使っていたTabはハードタブで、僕が使っていたTabは厳密にはただにスペースの集まりでした。実はエディターでどちらのタブも幅を調節できるので、先輩のTabと僕の「タブ」がたまたま全く同じ見かけをしていました。

おしまい

どれだけエンジニア(?)の方が見ているか分かりませんが、プログラミング初心者の人には是非とも知っててほしい豆知識ですね。エンジニアじゃない人には全く関係ないですね!ばいばい~。

YouTubeで収益が発生する仕組み

最近の感染症のせいで家に入る時間が増えている中、皆さんは何をして過ごしていますか?読書だったり、筋トレだったり、色んな選択肢があると思います。そんな中で皆さんが1番に思いつくのが「YouTube」だと僕は思います。今やYouTuberは「将来就きたい職業ランキング」で2019年度版の小学生の男子のランキングで1位にもなりました。

そんなYouTuberが稼ぎを得ている「広告収入」って気になりませんか?って言うか僕が凄く気になります。

と言うことで、僕が将来にYouTubeを始めた時に困らない様に、YouTuberの広告収入の仕組みについてまとめました。

YouTubeパートナークラブ

まずYouTubeで広告収入を得るには「YouTubeパートナークラブ」に参加しなければいけません。こちらは参加するのにお金がかかる訳ではありませんが、過去12ヶ月の公開している動画の総再生時間が400時間を超えているのと、チャンネル登録者数が1000人を超えているのが条件になります。あとは利用規約YouTubeパートナープログラムに同意すれば、審査を受けれる様になります。その審査を通って初めてYouTubeパートナークラブに参加することができます。

YouTubeで収益を得る方法

Googleのサイトに「YouTubeヘルプ」というサイトがありまして、そこには「YouTubeで収益を得るには」というページがあります。そのページには以下の様な方法で収益を得られると書いてあります。

  • 広告収入
  • Super ChatとSuper Stickers
  • チャンネルメンバーシップ
  • YouTube Premiumの収益
  • グッズの棚

この5つの手段が書かれています。実はYouTubeには広告収入以外にも収益を得る方法がありますが、他の4つの方法についてはまた後日ご紹介するとします。今回は「広告収入」に焦点を当てたいと思います。

広告の種類

皆さんはYouTubeに精通しているので体感では知っているかと思いますが、広告には複数種類があります。

  • インストーム広告

皆さんがイメージする、動画中に登場するCMの様な一般的な広告のことです。種類によっては右下のボタンによってスキップできたり、最後まで視聴しないといけない場合があります。スキップできる広告の場合、実はユーザーが30秒以上動画を視聴するか、広告先をクリックしないと広告料が発生しません。なので、5秒でスキップされてしまうと動画投稿者にはお金がはいりません。

  • オーバーレイ

オーバーレイは動画再生中に画面の下に出てくる横長の広告のことです。こちらは動画を停止することはありませんが、×ボタンを押さないとずっと画面の下の残ったままになります。ちなみにこちらも30秒以上視聴されるか、広告をクリックされないと広告料は発生しません。

実はこれ以外にもたくさんの広告がYouTubeには存在します。普段は意識しないけど、次YouTubeを開く時は気にしてみるのも良い勉強になるかもですね!

収入 = 再生回数×単価

あるYouTuberのその月の広告収入は、

1回の再生で発生する金額 × 再生された回数

だけ収入が入ります。とても当たり前な話ですね。

YouTubeの再生単価は「1再生で0.1円が平均」と言われています。これはその動画に含まれる広告の数にも寄りますし、広告自体も時期や状況によって値段が大きく変動するので、一概には設定されているものではありません。

しかも最近で言うと感染症のせいで、多くの企業が広告を出さない傾向にあるので広告の単価が下がっていると言われています。中々先が読めないYouTuberはかなり大変そうですね、、、(涙)。

おしまい

「YouTuber」と言う風に書くと固いかも知れませんが、僕はTwitterInstagramと同じ要領で個人がYouTubeで投稿する時代が来ると思います。なので教養として、この記事の情報を知っておくのは良いかも知れませんね。

ちなみに、広告収入は8000円に満たない内は引き落としができないので、広告をつけたら早くその上限を突破できる様に頑張りましょう!ばいばい~。

「プログラミング教育」の必修化がもたらす貴方の行末

今年(2020年度)から学習指導要領に「プログラミング教育」が入り、これからの将来は小中学校でプログラミング教育を受けた世代がどんどん出てきます。今年から導入されたその「プログラミング教育」についてまとめました!

導入された理由

今年からプログラミング教育が義務教育に導入された大きな背景の一つにIT人材の不足が挙げられると思います。日進月歩で進化するIT技術のお陰でかつて人力だったものの多くは機械化され、世の中の効率がどんどんと上がっています。勿論「古き良き」も大事ですが、一般的には良いことだと僕は思います。

一度進んだIT化は早いペースで加速し、今では専門性の高い分野となってしまいました。その結果、ここ数年で世界はIT人材が不足していると言われています。(体感、実際にそうです)

そのために子どもが義務教育の過程でITやプログラミングに早く触れることで、現在日本や世界が抱えるIT人材不足を解消し、こう言う状況を食い止めようとしているのです。

授業では何を教わるのか

ではこれからの小中学生は授業でHTML/CSSPHPなどのプログラミング言語を学習し、コーディングをすることになるのでしょうか。

実際はそうではない様です。これについては僕も調べるまでは勘違いしていました。

では何かと言うと、義務教育で組み込まれるのは「プログラミング」と言うよりは「プログラミング的思考」と表現した方が近いかと思います。(知り合いの吉田先生も言っていました。)勿論パソコンがどういう仕組みで動作しているのかといった「プログラミング」的な授業も含まれると思います。しかし、それよりはプログラミングが社会でどの様に利用されているかなどの総合的な学習。あと、プログラムは指示通りにしか動かないので、自分がさせたい処理を「理論的」に考える力を養う授業が多くなる様です。

国がプログラマーを育成しようとしている?

確かに、英語が義務教育に含まれているからと言って皆んなが流暢な英語を話せる訳ではありません。必修の物理の授業を受けたからと言って、理系の学生が皆んな理系博士になるはずもありません。

では何故、その様な科目が義務教育に導入されているのでしょうか。

これは、自分が世界から置いてかれない様に、選択肢を狭めない様に教育が存在するのだと思います。(僕の意見です。教育関係者が読んでいたらすみません笑。)

英語の授業を通して、海外の文化や人としての多様性、もしかしたら返って日本の良さを知るかも知れません。万有引力によってリンゴが木から地面に落ちることを学問的に知れますし、この世には地球だけでなく月や太陽などが惑星系をなしており、星が地球以外にもたくさん存在することも知れます。必ずしも全て学問性に富んだ視点ではないかも知れませんが、普段目の周りに見えていること以外のことを知ることができます。

今の世の中の至る所にはプログラミングが浸透していて、多くのことが人間が直接体感できない所でやりとりされています。でもそれは英語で書いてある本だったり、肉眼では見えない遠くの宇宙人が住んでいる惑星と同じです。勉強して知識を知ることができれば、情報に利用されずに自分が正しく利用することができます。

おしまい

一部の頭良い人たちに置いていかれて、チャンスを逃さない様に日々勉強しましょうってことだね。別にTOEICでもいいし、読書だっていい。今こう言うご時世だから1日に1時間でも何かレベルアップできるといいねっ!ばいばい〜。

ITの2038年問題

皆んなってITで言う2038年問題って知ってる?世界が抱える問題だから、今回はそれをまとめました!

32bit

皆んな大学の情報系の授業でbitってやったの覚えてる??bitっていうのは、「binary digit」の略。digitは桁とか数字って意味がある。binaryは形容詞で2元のとか2進法って意味がある。自転車のbicycleとか、バイセクシャルのbisexualとかにもあるbiだね。

極論(?)、パソコンっていうのは0と1の集まり。「ON」と「OFF」しかなくて、その処理の集合がWebサイトや画像を出力している。

その「ON(=1)」と「OFF(=0)」が入る箱をbitと言う。1bitには0か1のどちらかの情報を1ついれることができる。可能性としては(0)か(1)のどちらかが入るから2通り(21)の情報を表現できる。2bitの時は、(0, 0)、(0, 1)、(1, 0)、(1, 1)の4通り(22)が表現できる。3bitの時は(0, 0, 0)、(0, 0, 1)、(0, 1, 0)、(0, 1, 1)、(1, 0, 0)、(1, 0, 1)、(1, 1, 0)、(1, 1, 1)の8通り(23)が表現できる。

つまり、n bitの時は2のn乗分のデータが表現できる。皆んなが使っているパソコンが最新じゃなかったりすると、そのパソコンは32bitOSの可能性がある(新しいと64bitOSの可能性がある)。ちなみに32bitOSのパソコンは現在でも多く使われている。

まとめ:世の中の多くのパソコンは32bitOSである。

UNIX時間

パソコンに入っている時計などのシステムにはUnixtime(世界協定時)が用いられている。Unixtimeが何かと言うと、コンピューターシステム上での時刻表現の1つ。要は時間を表すよってこと。

それが何かって言うと、その時間に基準があって1970年1月1日午前0時0分0秒を基準としている。(理由はその頃にUnixitmeを使うphpって言う言語が開発されて、キリがいいからみたいなノリらしい)

まとめ:Unixtimeは1970年1月1日午前0時0分0秒が基準。

2038年問題

それがどう問題になるのかと言うと、32bitOSは表現の幅が32bitだから232(=4294967296)の量のデータを表現できる。それにプラスとマイナスの符号が付くから、半分の216(=2147483647)分のデータがUnixtimeに適用されている。つまり、1970年1月1日午前0時0分0秒から過去と未来に216秒分しか扱えないことになっている。(過去で言うと1901年12月13日20時45分52秒で、未来で言うと2038年1月19日3時14分7秒)

上段で数字が出ているが、32bitOSを使っているパソコンは2038年1月19日3時14分7秒までしか表現できない。表現できる幅がカンストしてしまうのだ。

これによって誤作動や不具合が起きると言われている。だから2038年問題という名前が付けられている。(ちなみに2038年のその上限を過ぎると最過去の1901年12月13日20時45分52秒に戻るとも言われている)

おしまい

普段何気なく使っている電子機器は全部0と1で動いてるって考えるとパソコンが高性能な機器って言うのが体感で分かるね!だからパソコンやiPhoneは大事に扱おうねっ!ばいばい〜。