.gitegnoreをあとで追加した場合

削除したいフォルダ・ファイルをリポジトリから削除する

.gitignoreを設定しても、既にリポジトリに登録されているものはリポジトリに残ったままです。
そこで、下記コマンドを実行し、管理対象から除外します。

$ git rm --cached -r 削除したいディレクトリ

Google Map のAPI取得手順

APIキーの取得

新しいAPIキーを取得する

APIキーを取得するには下記のURLへアクセスして下さい。

画面右上の「キーを取得」をクリックして下さい。

p1-2

次のようなウィンドウが表示されます。「続ける」をクリックして下さい。

p1-3

Googleアカウントにログインしていなかった場合はログイン画面が表示されますので使用するGoogleアカウントでログインを行って下さい。

次の確認画面が表示されます。

上のラジオボタンは新機能のお知らせなどを受け取るかどうかを選択して下さい。

p1-6

認証情報に関する画面が表示されます。

p1-7

作成するAPIキーの名前を指定して下さい。任意の名前で結構です。次に「キーの制限」で「HTTPリファラー (ウェブサイト)」を選択して下さい。

p1-8

リクエストを受け付けるWebサイトを登録します。省略も可能ですが、省略した場合はご自身のAPIキーがどのサイトでも利用できてしまいますので設定を行って下さい。

例えば「localhost」の全てのページを対象にする場合は「localhost/*」のように記述します。入力した後で[Enter]キーをクリックすると次のサイトを登録できるテキストボックスが表示されますので複数のサイトを登録したい場合は同じ手順で設定して下さい。設定が終わりましたら「作成」をクリックして下さい。レンタルサーバ移行後は変更くださいね

p1-9

■■■■■■■■

APIキーが作成されました。

p1-10

作成済のAPIキーが表示されました。

p1-13

それでは次のページから今回取得したAPIキーを使いGoogle Maps APIを使用したアプリケーションを作成していきます。

1ヶ月あたり200ドル分は無料で利用でき、
無料枠を超えた以降は、使用量に応じて課金される仕組みにも変更されました。

1ヶ月200ドル分 = 約28000回Googleマップやストリートビューを表示
(以降は1000回あたり7ドルなので、1回あたり0.007ドルが課金されるようです)

表示1回は、ページを開いて地図などが読み込まれた場合はもちろん、
F5を押して、同じページを新たに更新した場合も1回とカウントされます。

7月16日以降、課金された請求が来ていなければ今のところ無料枠内ということで、今後サイトの運用状況が大きく変わらない限り課金の可能性は低いと思いますが、心配な場合は利用の上限設定ができるので、今回はその方法をご紹介します。

API使用の上限設定

設定は「Google Clpud Platform」にアクセスをして行います。
支払い情報を登録しているアカウントでログインしてください。

上限設定を行うAPIをクリックで選択します

「割り当て」から、各上限設定を行います。

  • Map loads per day ………………………………「1日の表示上限」
  • Map loads per 100 seconds ……………………「100秒間の表示上限」
  • Map loads per 100 seconds per user ……「100秒間かつ1ユーザーの表示上限」

えんぴつマークをクリックして数値を入力。「保存」します。

単純計算では無料枠の28000回を31日で割ると1日あたり900程度ですが、
利用するAPIは複数なので、1日の表示上限は適宜、割り当てる必要があります。

Geocodeing APIキー

住所や建物より緯度経度検索API(geocoding api) キー取得方法

これで有効になりました

こちらも1日のアクセス制限をお付けください

上限として入れる数値はサイトの運用状況によって異なりますので、現在のリクエスト数を目安にして設定を行ってください。

上限を超えた場合、Googleマップなどが正しく表示されなくなりますので、あまりに少ない回数を指定してしまうと、サイトを訪問してくれたユーザーが必要な情報を見られなくなってしまうという本末転倒になりかねません。

特に「1日の表示上限」を極端に少なくしてしまうと、もし上限に達した場合、太平洋時間の午前0時(日本時間16時)までリセットされないので注意が必要です。

良いプログラミング開発を!

精度が悪いですが、住所から緯度経度検索は無料で yahooジオラムもありますのでご検討ください

「ポートフォリオ」の価値

  

 最近感じておりますが、2019年までIT業界は若手エンジニアの売り手市場となり「プログラマー=稼げる業種」という認識広まりました。

 以前はプログラミングの習得方法と言えば、プライベート、大学・専門学校の情報系授業、入社後に研修やOJTで身につけるというのが主流でした。

 しかし2018年頃から プライベート、大学・専門学校の情報系授業 では「教える側の質(スキル)」と「教材の質」が問題となり、プログラミング学校ブームがおきスクールから卒業された生徒の売り手市場で数年にぎわいました。が最近はコロナもあり需要と供給バランスが崩れ、需要である 未経験エンジニア があふれている状況へと変わってきております。高度スキル者を採用側が選べるほどの競争業種へと変わってきました。このような状況下、今回のブログは未経験エンジニア達へ競争へ勝ち抜くための「作るべき自主制作物(ポートフォリオ)」についてお話させて頂きます。

 自主制作物とは何か

 各個人で自主的に行っているプログラミングであり、実際のソースコードや設計書をGitHubなどに載せて職務経歴書にURL記載の上で提出するものを指します。未経験エンジニアの場合は学習評価レポートといったところになります。

 私はIT歴ほぼ40年でスタートアップ企業からメガIT企業まで経験し役員経験も3社あります。採用からとプログラマーの立場の両側からの視点で今回は整理してみました。

企業側採用担当は自主制作物で採用までもっていきたい

 エンジニア採用担当からすると未経験者採用に対して興味がないわけではありません。コロナ不況より団塊の世代の40代、50代の自主退職希望より社員はスリム化となっている実情があります。「未経験者で良い人が居れば」と将来へ望みを繋ぎ採用する企業はあります。

 しかし現実としてプログラミング学校出身者が非常に多いので「○○スクールを卒業しました」だけだとどのくらいの実力がついているのか、適性があるのかさっぱり分からないという問題があります。

 プログラミングスクールや専門学校などで「課金しただけ」の人材もいるということであり、課金した先によってフィルタリングするのは本質ではありません。しかしそれを批判できないくらいには多いです。

 加えて起きている状況として、2020年3月頃に「折角目を掛けて採用し、教育してきた未経験者が一年で自社メディアに転職したり、フリーランスになった」という会社さんの声がいくつか聞こえてきました。元を辿っていくと一部プログラミング学校のLPや、エンジニアになるための情報商材が「1年でフリーランスになれる」と謳っていたことに行き着きます。それを忠実に実行して転職・退職していった諸先輩が居られるという話です。非常に残念な話ではありますが、市場はウイルス以外の要因でも荒れていると言わざるを得ません。

 不景気と荒れた市場が現実として立ちはだかる今、IT偏差値より入試のように必死に勉強し偏差値をアップできた実力とポテンシャルを示すための自主制作物が最も重要視されているのです。

採用担当は同じポートフォリオのレビューに飽きている

 プログラミング学校の教材のパターンとして基礎的な項目を実施した後に最終課題が出されます。その最終課題がそのまま自主制作物として企業に提出されるという流れがあります。これは2013年頃にブームがあったAndroid職業訓練校から見られる手法です。

 プログラミング学校卒業者の方は非常に多いので、結果として最終課題で溢れることになります。端的に言うと飽きています。スクールの最終課題では逆に評価が低い場合もあるのです。

・Twitterクローン
・Instagramクローン
・某フリマアプリクローン
・架空の会社のコーポレートページ
・ポートフォリオサイトという名のLP
・Todo管理や掲示板など

採用担当者の願望:自主制作物でここを見たい

 採用担当が見たいものは何かをざっくりとまとめると下記のようになります。

・プログラマとしての適性/素養
 −丁寧さ
 −きちんと入れられたコメント
・論理的思考力
 −条件分岐
 −ロジック
・自走できるか
 −教材にはない要素を自分で探して組み込めているか
・継続性
 −GitHubのブランチの枝分かれ具合
 −プログラミング卒業後も継続してプログラミングをしているか(好きで実装をしているか)

採用担当者が見たくないもの

・教材のコピペ
 −通称、写経
・著作権違反
・フロントエンジニア志望だがHTML/CSSしかないサイト
・見せることを意識していないサンプル実装

 著作権違反というのは、例えば某有名フリマアプリを再現した自主制作物というのを複数見たことがありますが、バナーから商品画像まで丸パクリでした。中の人に連携しましたが、社会人としてどうなの?という話なので表に出すのは辞めましょう。公序良俗に反するものも同様です。

 フロントエンジニア志望の場合、動的なサイトを作る必要がありますが、「なんだか小奇麗なサイト、コダワリはCSS」という方が非常に多いです。それはコーディングであってプログラミングとは言い難いです。デザイナー職に応募してみてはどうでしょうか。

 下記のようなものが割と見るパターンですが、提出物なので見せることを意識したものをお願いしたいです。ソースコードもそうですが、サンプルで入力したデータにも配慮が必要でしょう。

自主制作物に含まれていてほしいこと

 主にWEB系企業に応募するにあたり、自主制作物に含まれていることが望ましい項目についてピックアップします。

・フレームワークの利用
・条件分岐
・基本的なDBの操作
・継続したGitHubへのcommit

 ソースコードとあわせて提出していただきたいのは下記です。

・特に頑張ったソースコードへのリンク
・設計書

・Herokuなどで良いので動作確認ができるURL

 GitHubのURLを頂くことは先に話したように一般化していますが、殆どの方がオープンライブラリとセットでアップロードされているので「どのファイルを頑張ったのか」が分かりにくいということがあります。「このファイルを見てくれ」というのを注力したポイントとセットで書類に記載するべきでしょう。

 実際に動作するURLをHerokuなどにアップロードしておくのも重要です。動くのかどうか分からないソースコードのレビューもコストがかかるのでセットで提出していただきたいところです。ただ結構な割合で500とか404が返ってくるケースが多く、心象がよくありません。提出後は緊張感を持ってテスト実施しておきましょう。

私が考える、こんな自主制作物がお勧め

 特定の分野への就職に拘りがある場合は、その分野のサービスを実装するのが良いでしょう。そうでない場合は、汎用性の高い自主制作物を作っておく必要があります。私がオススメしたいのはアルバイトシフト管理システムや、勤怠管理システムなど実業務で汎用的に展開できるシステムです。

 何故このシステムをオススメするかというとTwitterやInstagramクローンで作る業務は普通ありませんが、業務系とも言われるシステムであれば自社メディア、SIer、SESのいずれであっても存在する業務なので、より実務に近いアウトプットであると言えます。何より要素が複雑に絡み合うことで上記にある条件分岐も自然と満たされていくことになります。使う側に立ったシステム作りを心掛けましょう

 アルバイト側と店長側でセットで実装しましょう。機能のイメージとしては下記のようになります。

アルバイト側のイメージ

・ログイン
・スマホ対応
・スケジュール画面
・シフト申請画面
・就業履歴確認
・欠勤申請

店長側のイメージ

・管理者ログイン
・従業員管理画面
 新規従業員追加、削除
・承認画面
・従業員スケジュール画面
・ある期間からの昇給/減給
・早朝手当、深夜手当
・欠勤処理
・各種設定画面
・月末締め処理
・給与明細の発行

 サンプルで入力したデータが一桁という人は多いですが、具体的にどういうふるまいをするのか分かりかねるため、サイトの内容にもよりますが100件程度のデータ入力は実施しておくと更に良いでしょう。アルバイトのシフト表や理容店の予約管理などはあらゆる業務分野へ展開できる業務です。これらも推しですね。

 自身で経験してきた業態に特化するのが生のエピソード込で評価が高いと思います。

まとめ

 今回紹介したものはあくまで一例でありますが、世に転がっているポートフォリオよりもぐっと転職合格へ近づけるものと考えています。是非ポートフォリオを考える際に一読をお願いできればと思います。

 MENTAなどよい先生へ出会えて完成させてくださいね。

windows10 ポート番号を使用しているプロセスを終了させる手順

Windowsコマンドプロンプト

OS:WIndows10

使用ツール:コマンドプロンプト

特定のポート番号を使用しているプロセスの確認

以下のコマンドを実行する。 ポート番号が8080の場合は

netstat -ano | find "8080"
パラメータ用途
netstatホストのネットワーク接続状態やソケット/インターフェイスごとのネットワーク統計の確認など
(-a)現在のすべての接続を表示
(-n)出力をIPアドレスなど数値のみに抑制
(-o)プロセスIDを表示
findテキストの検索

プロセスを終了させる

taskkill /f /pid <プロセスID>
パラメータ 用途
taskkillタスクを終了させる
/f強制終了
/pidプロセスIDの指定

実行結果が

> netstat -ano | find "8080"
  TCP         0.0.0.0:8080           0.0.0.0:0              LISTENING       12345
  TCP         [::]:8080              [::]:0                 LISTENING       12346

だった場合は以下の通り

taskkill /f /pid 12345

プログラムエンジニアで働く意味を考えてみた

「生活の糧(お金)」以上での働くことの意味

 「働くこと」そのものについて考えてみたいと思います。

 働く人一人一人にとって、働くことの持つ意味は、それぞれに異なると思います。働くことは当然、私たちにとって給与として生活の糧を得るための手段です。多くの人にとって、それが一番大切なことだと思いますが、私は自分の父が嫌々働いており休みが多くなりやめる。また嫌々ながら働きやめる生活を繰り返し貧乏な生活を虐げられてきました。残念ですが父は、働くことを通じて「何のために生きるのか」という問いの答えを探す道のり、言い換えれば生きている証を社会に刻むこと。このことが生きる生きがいとなっている点が分かっていなかったからだと思います。誰もが働く中で、例えば、仕事のスキルや組織の中の役割、社会のルールなど、多くのことを学び、これらを通して社会を担う一員に成長して、次世代に多くのことをつないでいく営みだと私は思います。

「働くこと」は人が繋がり150%になっていくこと

 また、働くことは人と人が交わりつながる人間的行動であり、人と人がつながればその職場と社会がつながり、そのことで社会的課題を解決し、新たな価値を生み出していく営みだと思います。そのつながりをつくる、いわば橋を架ける人(Bridge Builder)が私たち一人一人なのです。そのことが個人の成長や自己実現を促し、社会の持続可能性を高める原動力になります。さらにいえば、働くことは、さまざまな事情によって、たとえ働くことに多くの困難を抱えたときでも、尊厳を持って社会の中で自立して行けるよう、お互いに支え合う営みをも含むものではないでしょうか。

「職場」は自分の存在意義を示してくれる場

 加えて、働く人にとって職場は単なる仕事場ではなく、自分の存在を確認できる「拠り所」であり「居場所」でもあります。人は人を支えあって互いに協力・教育しながら高いレベルへ進んでいく。それが仕事だと思います

 また、教育と働くことをつなげることです。誰もが平等に教育が受けられ、その教育から働くことへの円滑な移行を支援し、また、働いてからも再び教育が受けられ、より付加価値の高い仕事に就くように生涯学習を常にしていきましょう。

2022年は、能力主義の年になります

 アメリカと同じように成果主義で給与が決められていきます。1990年代から日本のGDPはマイナス10%が現実です。アメリカは500%成長です。日本はもはや先進国と思わないことです。終身雇用はもう存在しない。65才以後も働くためにはどうすればよいかを考え老後の資金を貯めることまで考え、個人の終身ビジョンを考えて生きていく時代なのです。

 また日本だけではなくアジアで活躍できるエンジニアをみなさんは目指してください。現在は海外の労働者によってプログラミングの世界は成り立ってます。日本人のレベルの低下が問題なのです。

 国も危機感を感じ人材育成へ乗り出しております。「専門実践教育訓練給付制度」「第四次産業革命スキル習得講座」これらが物語っております。ぜひ、国の支援金を使って今後の自分へ役立たせてください。

https://www.meti.go.jp/policy/economy/jinzai/reskillprograms/index.html

 危機感をもって自己成長を行っていきましょう。

2021年最後に伝えたかったこと

 守破離 の考えです。プログラミングを操るエンジニアは短い期間では習得は無理です。仕事を通じて仲間を通じて自己成長を行っていきましょう

40歳,50歳代での今までの経験を生かしキャリコンにかけてみてはどうか!

キャリアコンサルティングとは、専門資格を有した「キャリアコンサルタント」が行う面談で、面談対象者のキャリアを通じた将来目標を明確化することを目的として行う面談です。

「キャリアコンサルタント」というのは、平成28年4月より厚生労働省管轄により国家資格の扱いになっており「学費の最大70%が支給されます」

※ 職業訓練給付金制度に認定されているオンラインスクールが対象

キャリアコンサルタントの国家資格

厚生労働省へのリンク

https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/koyou_roudou/jinzaikaihatsu/career_consulting.html

私のバイブルはシャープ MZ-40K【44年前】

私はプログラミングで飯を食べ始めて40年現役プログラマーです。

ふとしたきっかけでインターネット見てたら「MZ-40K」を見つけました。懐かしいなー。と思い私がまず最初に購入したパソコン(当時はマイコン)を紹介いたします

現在のパソコンは64ビットパソコンですが、下記のようにCPUの性能は一気に飛躍的に発展していきました

1971年インテル社i-4004  4bit MPU
1974 年モトローラ社MC6800  8bit MPU
1978年インテル社i-8086  16bit MPU

私は、9人家族で生活がすごく厳しい。極貧貧乏でした。

しかし、元気なのに仕事を休みがちで酒浸りで博打好きな父を見てきました。子供に食べるものも食べさせられない生活。いまでいうDVの生活でした。しかし当時のぼくはどん底だったからこそ、這い上がろうとしていまから仕事として伸びるプログラミングの分野で生きていきたいと確信させてくれたマイコンでした。小遣いのない私にとってMZ-40Kは当時確か25000円でしたのである筈もなく、早朝の新聞配達で買いました。私のバイブルマシンです。

プログラムというよりは、16進4ビットを入力しレジスタも2,3?個しかなかったが格納し音を出したりライト表示で感動したおもちゃでした。これをきっかけに偏差値の少し高い工業高校の電子科へ進みプログラムを本格的に学び始めました。

44年たったいまも当時に気持ちは忘れないです。

中学生には、このような簡単なプログラミングでも感動するのかなと思い出せてくれる出来事でした

さくらVPNでの最新git2【centos7】再インストール手順

目次 [隠す]

前準備

まず、すでに古いgitが入ってたら削除します。(さくらのVPSの場合デフォルトで1.8)

$ git –version
git version 1.8.3.1
$ yum -y remove git

次にgit2系用のリポジトリであるiusをインストールします。(qiitaの記事だとこれが古いパターンが多い)

git2.x用のリポジトリをインストールする。

# sudo yum install \
https://repo.ius.io/ius-release-el7.rpm \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

実際にgit2系をインストール

前準備でインストールしたリポジトリ指定でgitをインストールする。

$ yum install git –enablerepo=ius –disablerepo=base,epel,extras,updates

ちなみにこれだとgit-2.24がインストールされるようです。2021/1現在git2.2系の最新は2.29なのでちょっと古いです。

が、マイナーバージョンアップなので多分問題ないです。

ちなみに他にもgit2.3系~git2.9系もありますがいずれも2017年くらいで更新が終わっているので、主流は2.2X系みたいです。

なので単純にバージョンだけ見て『git2.9が一番新しいじゃん!これにしよ!』と飛びつかないほうがよいです。

【参考】https://mirrors.edge.kernel.org/pub/software/scm/git/

このままだと依存関係のエラー発生

libsecret と pcre2 追加します。

$ yum -y install libsecret pcre2


$ yum install git –enablerepo=ius –disablerepo=base,epel,extras,updates

これでバッチリインストールできました。

まとめ

ポイントは不足しているパッケージを個別にインストールしてください。

2021.11.16現在ですが将来は、パッケージの組み合わせで異なってくるとはおもいますが、参考までに!

mac/windowsが影響を受けたはるかに古い無料OS:Unixの歴史

Unixの産声

Unixは1969年AT&Tベル研究所にて、ケン・トンプソンデニス・リッチーらが開発を開始した。当初はアセンブリ言語のみで開発されたが、1973年にほぼ全体をC言語で書き直した。C言語を開発した デニス・リッチー は私が最も尊敬する人物です

wikipediaよりリンク

※こちらの本は、ご本人が改版されたすばらしいバイブル本なのでぜひ手元に置いていただきたい本です。

独占禁止法でUnixがフリーとなった

しかし、AT&Tは通信会社です。Unixは素晴らしいものであり1企業では、独占禁止法に触れると訴えられたので。そこで世界の発展のため無料で公開を行ったことより大学や研究所などの教育機関で広範囲に採用されました。特にカリフォルニア大学バークレー校は改良を行いBSD系統が誕生しました。逆にAT&Tの流れを受け継ぐ UNIX System V は「伝統的なUNIX」(traditional Unix)とも呼ばれる。

現在では多く使われているUnixとしてはmacOSAIX(IBM)HP-UX(Hewlett-Packard)Solaris(SunMicroSystem)などがある(いずれも商用)。また認証を受けていないUnix系としてはLinux(派生OSにAndroid他)やMINIXBSDの派生OS(FreeBSDNetBSDOpenBSDDragonFly BSDなど)があります。

しかし、Unixは肥大化してしまいワークステーションなどの高価なマシンでしか動作しないOSとなっていったのが歴史があります。

パソコンでUnix動かしたいという思い!Linux誕生

そこで、1991年に、当時フィンランドヘルシンキ大学の学生であったリーナス・トーバルズは、当時 Intel 80386 CPU を搭載した32ビットPC/AT互換パーソナルコンピュータが登場していたため、Unixをこの非力なマシンで動作できないかカーネルと呼ばれるコアな部分の実装を行ったのです。

Linuxカーネル・メーリングリスト (LKML) が登場し、だれでもが開発に携われることとなっていき一気に非営利へのパソコンの利用ということで開発が加速されて行きます。

Linuxのフリーを守るためにGNUが発足

LinuxをUnixのように商用とならないようにリチャード・ストールマンは、GNUプロジェクトの最初の声明を1983年9月に行いました。“GNU”という名前は、いくつかの必要に適合するために選ばれました。第一に、それが“GNU’s Not Unix”の再帰頭字語であること。第二に、それが現実の言葉であること。第三に、それを言う(またはうたう)のがおもしろいこと、です。

“free software”(自由ソフトウェア)の“free”は自由に関連していて、値段には関連しません。GNUソフトウェアを入手するのに、代価を払うこともできますし、払わないこともできます。どちらにせよ、いったんあなたがソフトウェアを手に入れてしまえば、それを使う上で4つの特定の自由を享受できることになります。

(1)望むままプログラムを実行する自由。

(2)プログラムをコピーしそれを友だちや同僚にあげる自由。

(3)ソースコードへの完全なアクセスを持ち、プログラムを望むように変更する自由

(4)改良されたバージョンを配布し、それによってコミュニティを建設する自由。(ただでコピーを配ってもよいのです。)

GnuがOSSの普及へ貢献されたことは大きな出来事だったのです

現在のLinuxでの活躍

レンタルサーバでは無料であるLinuxサーバが活躍しております。

世間のインターネットで動いているサーバのOSはLinuxなのです。開発環境もDockerが多く使われます。こちらもLinxであり無料で勉強できますよ

プログラマーであれば、Linuxを使いこなせるスキルが必要ですので、身近に感じて取り組まれてくださいね

古くからある!オブジェクト指向の歴史【Javaが最初ではない!】

説明動画↓

ちなみに、「のらくろ」って気になった方はこちらをご覧ください