こんにちは、たけっちょです。

 

前回まで、2回続けてプログラムの事など、昔のことを色々思い出しながら、

かなりな時間をかけてブログを仕上げてみました。疲れました。

 

ですので、今回は気分をガラッと変えて、

 

日本人でも色々と興味が湧きそうな、

アメリカの有名サイトを二つ、(おまけ有り)、

見ていきたいと思います!

 

 

では、早速、チェキラッ!

 

【検索サイト】

まずは、注目サイトの筆頭のコチラ、

 

https://www.yahoo.com/

 

目からウロコかもしれません…、

ヤフーのアメリカのサイトです。

 

 

上記のリンクをクリックすると、自動的に

アメリカのヤフートップページが表示されます…

 

で、表示された時に何が見れるのか…

 

Macの人は見るのが無理かもしれませんが、

 

Windows使用者、そしてChrome(クローム)使用者には

当たり前と言えば当たり前なのですが、

クロームでは、海外のサイトでも

全部日本語訳されて表示させることができます。

 

Chromeすげぇ!

 

多少カタコトの日本語っぽい所はありますが、

概ね意味は分かります。

 

また、それを見て思うのは、日本の

ヤフージャパンのトップページとはだいぶ趣が異なるという点です。

 

興味のある方は、自分で、

musicとか、

cinemaとか、

自分の好きなジャンルの単語を並べて、

いろいろ検索していくのも面白いと思います。

 

 

正しい英訳が分からない場合、翻訳の定番、

エキサイト翻訳を使って、日本語を英語に翻訳したものを、

コピペで入力して検索すれば、

今までとは違った世界が繰り広げられることに興奮を覚えるでしょう。

 

右側には、

新型コロナがピークだった頃のように、

日々の感染者数などが表示されているのも興味深いです。

 

ヤフーのことは、このくらいにしておいて、

次のサイトの紹介へ進みます!

 

*

 

【音楽編】

 

例えば、

ビルボード週間チャート100

https://www.billboard.com/charts/hot-100

 

を見てみましょう!

流行りの歌が分かります。

 

で、見るときにここで幾つか注意点があります。

 

まず、表示にちょっと時間がかかります…。

感覚的には1分位でしょうか?2分は行ってないとは思いますが…。

 

自分のブラウザの上のほうのタグ中のサイトの小さいアイコン?が、

グルグル回っているので、

ちょっと時間かかるなぁ…

と思って、下の方へスクロールしていくと…

 

急に音楽が鳴り始めます!!!

 

ビックリしました。中々の大音量…。

 

ページが全表示?されると、トップページ一番上のど真ん中に、

誰のか分かんない、YoutubeのPVが30秒くらい、

突然流れはじめます…。

 

心臓の弱い方、夜中、ヘッドホンやイヤホン無しで見ている方…、

要注意です!

 

で、このサイト、親切なことに、

 

上から順に、1~100位まで、

リスト形式でランキングが記載されてますが、

各行の、一番右端に、

PV映像のアイコンが設置されてます!

 

要は、気になる曲やミュージシャンが居た場合、

そのアイコンをクリックすると、

youtubeのPV映像が、流れる仕掛けになってます!

全編ではないようですが…

 

ビックリするだけでなく、お得感があります!

 

一通りランダムに聞いていくだけでも、

充分得した気分になれる上に、

最新音楽に触れることができ、

ちょっと自分はイケてる?ってな気持ちにさせてくれます!

 

いかがでしょうか?

 

*

 

**************** お ま け ****************

【映画編】

https://www.imdb.com/chart/boxoffice

 

https://www.the-numbers.com/international-charts-overview

 

https://www.boxofficemojo.com/?ref_=bo_nb_we_mojologo

 

 

映画の紹介サイト、

こちらは人気の映画ランキングのサイトを

紹介したいと思っていましたが、

あんまり、これは!というサイトが見つかりませんでした。

 

上記、3種について、何となく?それらしい?サイトと思いましたが、

イマイチ、ピンと来ませんね。

 

日本人の考え方だと、

今の人気映画ランキングと言ったら、

 

例えば、今年に入って封切りした中で、最も

観客動員数が多かった映画のランキングだったり、

また、例えば、週末の土日に限って

売上(配収、興行収入)が多かった映画のランキングなどをイメージするかと思いますが… 

 

上記に掲げた3つのサイト内の数字だと、

何となく、それらの映画が流行っているんだろうなぁ…

程度には分かるんですが、

出てくる数字がイマイチ分かりづらいというか、

それがどの程度多いのか、凄いのかというのが、

直感的には分かりづらいというのが本音ですね。

 

でもまぁ、映画好きな方なら、

映画の本場で今流行っている(と思われる)作品が分かるし、

 

ごく簡単な作品紹介があるので、

日本での封切を心待ちにしたり、

DVDで購入してみるなど、待つ楽しみを味わえるんじゃないかな…と思います。

 

で、サイトの簡単な見方を…。

3つ目に紹介しているサイトになります。

 

サイトを表示させて、まず最初、

左側にあるのはリスト的なメニューになっており、

あまり面白くなさそうなので、見ていません。

 

で、中央の一番上、【最新のデイリー】というタイトル名…日本語的に微妙ですが、

恐らく(察するに)、日別の売り上げ別ランキングになっています。

 

このブログを書いている時点(7/16)で、

アメリカはまだまだ新型コロナの影響もあり、

映画館の営業状況もわかりませんが、

 

1位の映画『Relic』、邦訳は『遺物』となっています。適訳なのかどうかがわかりません。

内容紹介として、

『娘、母親、祖母は、家族の家を消費する認知症の症状に悩まされています。』

となっています。

 

…あまり良い訳とは思えませんが、何となく言わんとすることは分かるかな?という程度です。

 

頑張れ!Chrome!

 

で、こちらが1日で27,231ドルとなってます!

 

映画鑑賞の料金が、1人分で幾らなのか分かりませんが、仮に10ドル程度としたら、

観客数は約2,723人となります。

 

いくら平日とはいえ、全米で1日にこの人数だと、さすがに少ない気がしますが、

やはりコロナの影響なのでしょうね。

 

続いて、2位の映画の紹介です。

 

こちらのタイトルは『Followed(フォロード)』、単純なシロウト訳だと、『フォローされて』ってとこでしょうか?

 

でも、残念なことに、Chromeの訳では、『フォローした』という和訳タイトルとして紹介されています…。

非常に残念です。第一、ピンとこないというか、コピーセンス無さすぎだろ!って感じです。

 

ま、それは置いといて、内容紹介しましょう。

 

『購読者を増やすために、物議を醸すソーシャルメディアインフルエンサーが

呪われたホテルにとどまり、恐ろしい結果を出します。』

 

この紹介は、どうでしょうか?なかなかいいと思いませんか?

 

なんかスリル感、サスペンス感、満載な気がします!!!

 

で、邦題が『フォローした』…涙。

 

多分、実際に日本で公開の際は、違う邦訳になるか、

そのまま『フォロード』として紹介されるんでしょうね。。。。。その方が安心です(笑)

 

 

 

ちょっと息抜き程度に、

アメリカの3つのサイトを簡単に紹介させて頂きました。

 

自分で色々やってみて、ちょっと面白そうだったので、

不定期ですが、

他にもいろんなジャンルのいろんな国々のサイトの

紹介をしていければ良いかなと思いました。

 

 

しょうもない内容でしたが、最後までお読み頂き、ありがとうございました。

 

次回をお楽しみに…してもらえますかね…汗。

 

 

 

 

 

 

 

 

こんにちは、たけっちょです!

 

今回は、最初に就職したソフトウェア開発の会社で培った、

プロから見たら、あまりにも幼稚なプログラミングの考え方、

 

初心者にとっては、えっ?そんなことだけでいいの?

と思えるようなプログラミングの構造、考え方について

少しだけ書いていきたいと思います。

 

これをきっかけに、プログラムに対する考え方が、

少しでも良い方向に変わってくれたらうれしいです!

 

でも、説明が下手なので、

分かりにくかったらごめんなさい…。

 

補足として、

もう30年近く前にちょろっと覚えたCobol言語と、

ここ数年の間に、HPなどを作ろうと思って、

いろんな本などをかじって得た、

PHPやRuby On Railsなどの生半可な知識で、

 

ごくごく初心者向けに、

プログラミングの始め方、考え方として語っていきます。

 

ですので、現役でプログラミングをされている方、

システム開発の熟練者など、

現在、その道で充分飯を食えている方はスルーして頂くか、

手厳しい意見などは遠慮して頂くと有難いです。

 

 

【本編】構造化というかたち

 

新旧のプログラミング言語で多少の違いはあるものの、

どのプログラムでも、基本的にとる形は一つだと思います(多分)。

 

それは、

 

1、初期処理

2、メイン処理

3、終了処理

 

以上の形です。

 

このうち、1と3はほぼ自動というか、言語ごとに、

処理内容とか、コーディング(プログラム記述)内容は、

ほぼ決まっていますので、

自分で考えることはほぼありません(多分)。

 

せいぜい、何の処理がされているかくらいは理解しておく必要はありますが…。

 

 

で、問題は2の『メイン処理』ですね。

 

昔も今も、CobolやNet関連プログラム(PHP、Rubyなど)は、

PC画面を開いた時に、まず何をどう表示させるかで始まります。

(今ドキの各種アプリなども多分そうなっていると思いますが…多分;)

 

 

【メイン処理】の内容は、簡単に言ってしまえば、

 

1、A処理を行う。

2、B処理を行う。

3、C処理を行う。

26、Z処理を行う

27、終了処理へ向かう。

 

といった具合に、必要な処理を大まかに分類して、

その分類した種類の数(ここではA~Z)だけの、

小さなプログラムを作ればいいだけです。

実際、ほんとにこれだけです。

 

 

単純にA~Zの処理を行って、最後に終了するプログラムなら、

この【構造】だけを頭に入れてプログラムすればいいだけです。

 

前述の内容を踏襲すれば、A処理とは、

『最初に画面全体に表示させたい内容を表示する』

処理ということになります。

 

B処理以下は、例えば、会員登録処理だとか、

投稿(入力)してもらうとか、評価してもらうとか…、

自分が組み込みたい処理を、

いくらでも増やしていけばいいだけです。

 

それらの各処理は、それぞれの言語を説明する専門書などで、

詳しく解説されていたり、時には、

サンプルとしてプログラム内容がCD-ROMなどで提供されていたりしますので、

自分のコーディング労力はさぼど大きくないです。

 

ただ、実際には、

順番に処理して終わりというプログラムはほとんど存在しません。

 

通常は、

 

ある一定の条件になるまで、プログラムは停止(待機)し、

ある一定の条件になったら次の処理へむかう、

 

という状態になっています。

 

 

分かりにくいかも知れませんので、例を挙げてみましょう!

 

テレビのリモコンを考えてみて下さい。

 

主にテレビチャンネルのボタンは、

1~12番まであると思います。

 

その番号のボタンを押した時、リモコン内部では、

 

1、1が押されたら、1の信号を出す。

2、2が押されたら、2の信号を出す。

12、12が押されたら、12の信号を出す。

 

というプログラムが入っていると思って下さい、

 

 

普段はじっとしていますが、

 

ボタンが押された瞬間に、

上記の1から12までのプログラムを実行し、

例えば、5が押されたと判断した瞬間に5の信号を出して、

チャンネルが5に切り換わる…パターン①

 

という仕組みになっています。

 

 

分かっていただけますでしょうか?

 

分からない?

 

もし、そう思われた方が居たら少しだけ残念です…(汗)。

 

 

(気を取り直して…)

ですが、安心してください!

 

むしろ、ここからが本番です!

 

 

少し前に戻って、改めて説明させてください…。

 

【メイン処理】の内容は、簡単に言ってしまえば、(…2度目)

 

…超絶簡単に記述すると、

以下のように処理(記述)されているだけです。

 

【実際のメインプログラム】

 

1、 0→sw(スイッチを0にする)

 

2、 スイッチが1になるまでメイン処理を作業する。

 

3、 終了処理へ向かう。

 

【メイン処理の中身】

 

1、A処理を行う(通常は、初期表示)。

もし~なら、〇処理へ向かう(B~Zの任意の処理へ)。

もし~なら、〇処理へ向かう(B~Zの任意の処理へ)。

もし~なら、〇処理へ向かう(B~Zの任意の処理へ)。

もし~なら1→sw(スイッチを1に)する。

 

2、B処理を行う。

もし~なら、〇処理へ向かう(B~Zの任意の処理へ)。

もし~なら、〇処理へ向かう(B~Zの任意の処理へ)。

もし~なら、〇処理へ向かう(B~Zの任意の処理へ)。

もし~なら1→sw(スイッチを1に)する。

 

 

26、Z処理を行う。

もし~なら、〇処理へ向かう(B~Zの任意の処理へ)。

もし~なら、〇処理へ向かう(B~Zの任意の処理へ)。

もし~なら、〇処理へ向かう(B~Zの任意の処理へ)。

もし~なら1→sw(スイッチを1に)する。

もし~なら1→sw(スイッチを1に)する

 

 

---------------------------------------------------

以上です。

 

ちょっと勘のいい方ならお分かりかと思いますが、

メイン処理の考え方の心臓部は一つ、それは…

 

 

ある一定条件を満たしたら、その作業を終了させて次に進む、

 

 

という定義づけをすることだけです。

 

 

で、上記【メイン処理の中身】で記述した部分(前述A~Z)は、

それが一つであろうが、何百であろうが全くかまいません。

 

分かりやすく言うとすると、A~Zそれぞれのプログラムは、

2~3行位のごくシンプルなプログラムの羅列で構わないんです。

 

どうなったら、何をきっかけにして、

その処理から次の処理へ進むようにするか、

それを常に意識してプログラムを組めばいいだけなんです。

 

 

え?やっぱり、まだ分からない…

 

多分…、自分でもそう思います。

 

なんかこう、うまく伝えられない…

 

 

じゃあ、これはどうでしょう?(…最後です…。)

 

(例え1)

あなたが今、このブログを見たのは、どこからか、

この記事へのリンクをクリックしたからだと思いますが、

 

その瞬間、このページが表示されました…初期処理

 

今、あなたが見ているこの瞬間も、裏では、

 

・プロフィールが押されたら、プロフィール表示画面表示処理をする。

・スクロールボタン(右サイドバーなど)を押したら、画面をスクロールさせる。

・いいねを押したら、そのボタンの色を変更してカウントを+1する。

・ペタを押したら、そのボタンの色を変更してカウントを+1する。

・コメントするボタンを押したら、コメント欄表示画面を表示して、

コメント欄に入力を促す。…(以上がメイン処理

 

こういう事になります。

 

ちなみに、このプログラムには終了処理はありません。

 

 

あるとすれば、ブラウザの戻るボタンや、他のURLが選ばれたら、

その時に例えば、いいねやペタしたこと、コメントしたことなどを記憶する、

ということくらいですね。(多分、ブラウザとの連携になってると思います…多分(汗)。

 

 

ここまで読んで頂き、まだほとんど理解できていないとしたら、ごめんなさい…。

私の力不足でした…。

今すぐ、他のページへ飛んで下さい…;。

 

【勝手に無理やり総括…】

昔と違って、今はネット関係のプログラミングが多いでしょう。

 

その場合なら、昔よりも尚一層、上記に挙げてきた通り、

最初の表示の内容と、表示中のアクション(ボタンや入力欄)に対して、

どういう作業(処理)をして、次のどうするか(進むか)を決めるだけです。

 

例えば…

どっかのサイトなら、星を5個満点中、3個で評価したら、

プログラムは、それまでの総点数に3を足し、総人数に1を足し、

前者を後者で割り算した結果を、評価点数として表示しているだけです。

そして、その後、『別の店を探す』とかなんとかのボタンを設けるなどして、

次に意図する画面へ導いていきます。

 

で、こういった細々としたプログラムは、どの言語でも、

概ねフォーマットが決まってますので、

ほぼその通りに記述するだけです。

 

ただし、機能が多くなるほど、気が遠くなるくらい、

時間と手間がかかりますが、難易度で言えば、

難しい漢字に出くわしたら、部首や読みを基に辞書でしらべて、

それを読んで理解するだけのようなものです。

専門書や、ネットで調べれば、たいていはどうとでもなります。

 

難しいのは、個別のプログラミング技術よりは、

まず最初に、

頭の中で迷子にならない構造作りが必要です。

これがいわゆる、『設計』ということになります。

 

 

優秀なエンジニアほど、プログラミング自体よりも、

設計に時間をかけているはずです。

 

 

プログラム初心者の方は…、

ベテランの方も恐らく皆やっていると思われますが、

 

まずは紙に書いて、自分の作りたいプログラムを、

抜け穴の無いように作ってみて下さい。

 

・画面を表示する。

・会員登録をするかしないか?を聞く。

→する時は、会員登録画面へ。しないときは、通常表示へ戻す。

・通常表示画面で、〇〇のボタンが押されたら…

→会員だったら、IDとPWを入力する画面へ、非会員なら、

『会員以外はご覧になりません』を表示し、…

 

プログラムは延々と続いていきます…。

 

 

さあ、紙を鉛筆を!(ちょっと古いな…)

 

 

最後までご覧頂きありがとうございました。

乱筆乱文をご容赦下さい。

 

 

かしこ。

はじめまして、たけっちょです!

 

平成3年の4月…、

 

新卒で初めての就職は、当時バブル崩壊直後で、

まだ世間一般に、バブルは崩壊したなどという認識が無かった頃…、

 

そんな時に就職したのはソフトウェア開発の会社でした。

Widows95もなく、PCも事務処理系の会社でも、

やっと一人一台あるかないかの時代です。

 

 

 

30人程度のソフトウェア開発会社だったけど、何気に忙しかったのか、

最初の1ケ月くらいは、プログラミングの本をみて、

自習をしててくれという何とも緩い雰囲気の会社でした。

 

 

後で聞いた話だけど、

ソフトウェア開発というのは、人月(にんげつ)という単位で作業量を計るようで、

例えば、依頼された業務が3人で3ケ月かかるという見積もりだった場合、

 

 

3人×3ケ月=9人月(にんげつ)という作業時間がかかるので、

これが、バブル最盛期などは1人月当たり、70万円とか80万円が見積もり費用で、

9人月(にんげつ)の場合は、見積もり時点で630万円とか、720万円を提示して、

それが概ね通ってしまうという時代だったようです。

 

 

で、実際には、熟練したプログラマーが1~2人で1ケ月程度でプログラミングをし、

残りの期間でデバッグなど、間違いを修正して完成となるのだが、

その間、作業に加わらない人間が何も分からない人間でも、

客先でプログラムテストの際に3人で立ち会えば、

3人分の開発費用が支払われるといった具合でまかり通っていました。

 

 

なので、急いで新人を教育しなくても、何とか利益が残せていく

最後の時期だったんだろうなと思います。

 

 

で、入社して2ケ月くらいたった頃、ようやく自分の配属が決まりました。

 

配属先は、もちろんソフトウェアを開発する部署だったけど、

 

希望したのは、先々のスキルアップや転職への有利不利、

汎用性などを自分なりにいろいろ考えて、

C言語を主体とする部署への配属を希望したのですが、

 

幸か不幸か、Cobolという主に事務処理系の言語で開発する部署への配属となりました。

 

 

結果的に、C言語よりCobolの方が、

プログラミングやソフトウェアの開発素人には理解しやすく、

 

令和になった今、

プログラミングを志したり、無理やり学ばなくてはいけない人などは、

Cobolの理論を理解していたほうが、

RubyやPHPなど、Web系の言語を理解するのに役立つことが多く、

これで良かったのだと思えるようになってきました。

 

 

配属後、自習とたまに上司からの教育を受けて数か月、

始めて自分一人でのプログラム開発を任されることとなりました。

 

 

その仕事は某市役所の…なんだったか忘れました…けど…、

 

確か、何かの処理区分を2桁の数字で入力すると、

その処理区分名が表示されるという、

今思い出しても恥ずかしくなるほどの、幼稚なものでした。

 

多分、もうちょっと複雑なシステムの一部だったのだと思いますが、

とりあえず完成?させたと思い、上司に見てもらった時に、

エラー、いわゆるバグというものを探してもらい、

それを自分で修正して完成させたことを覚えています…。

 

 

その後、4名ほどのチームを組んで、

大手電力会社のOCR画像保存システムというものの開発に

携わったことを覚えています。

 

詳しい内容は省きますが、

この時、初めて徹夜で仕事するということを経験します。

 

確か、月曜日の朝9時に出社して、

家に帰ったのは水曜日の夜9時頃…

 

単純に計算すると約60時間続けて勤務していたということになります。

 

途中、寝たのは、30分休憩させてもらうつもりが、

2時間くらい寝てしまって、静かに起こされたのを覚えています。

 

ちょっと苦い思い出ですね!

 

この時のことでもう一つ覚えていることがあって、

それは、水曜日の夜に部屋に帰った時のことで…、

 

久しぶりに部屋で晩飯を食べ、風呂に入り、

すぐにベッドに向かいました。

 

いつもなら、布団に入って20分くらいは眠りにつけないのですが、

この時は、布団に入って、

ゆっくり体を傾けた所までは覚えているものの、

自分の頭が枕に乗ったことすら覚えてないほど、

あっという間に寝付いてしまいました。

 

で、気が付いたら翌朝の起床時間だったということがありました。

 

後にも先にも、あれほど疲れて眠ったという記憶はありませんでした…。

 

で、結局、この開発の仕事は、お客様に色々クレームを受けながらも、

何とか半年で納品でき、収支面でも利益を上げることができました。

 

 

ですが、残念なことに、自分は家庭の事情で、

この会社を辞めることになってしまいました。

 

 

東京の隅っこから、埼玉の実家へ帰ることになったのです。

 

 

この時はまだこの転職が、この先、

波乱万丈に満ちた転職人生の始まりになるとは、

夢にも思っていませんでした…。

 

 

次の就職先のことは、もうちょっと先の回に譲るとして、

 

次回は、この会社で教わったプログラミングのことについて、

少し書ければいいかなと思っています。

 

 

プログラミングとはどういうものか知りたい人、

プログラミングに苦手意識があるなど、

 

これからプログラミング、アプリ開発などに取り組むことに、

多少なりとも不安のある方におすすめです。

 

プログラミングの手順や、考え方、始め方など、

古い知識にはなってしまいますが、

概ねこんな大枠で考えて作業するんだということを知っておくと、

役に立つことも多いかと思います。

 

 

上級者からみたら、鼻くそレベルかもしれませんが…。

 

 

 

ここまでお読み頂き、ありがとうございました!では、また!