2020年11月24日

【自称プロの大企業などでもやらない安全な保守テクニック】 Go言語とフレームワークなどの膨大なデータを安全に保管するインストール方法【LinuxとWindows編】

#GoToよりも指定感染症を見直して
#GoToよりもGo言語を見直して
最近はGoTo報道ばかりでプログラマー教育は?
優秀な人材も育たんわ…

Go言語とは最も報酬が高い言語で、
他の言語よりも高機能だが、
その分まだ需要が少ないのが難だ。
供給増は報酬減なので早いもの勝ちだ。

2019年にはGo言語やパイソンが人気!と言われていて、需要が少ないがJAVAの代替なコトリンも長文過ぎない。フリーランスで月給70万円程度の常駐の企業案件がある。しかしGo言語はそのうち導入や、パイソンやPHPやRubyで開発経験者を求めるというものだ。JAVAが求人数は10倍多いが、報酬は減少している


f2_cv60_fa-18c.jpg

Go言語は簡単に高度な事ができるプログラミング言語だ


Go言語とは新しいプログラミング言語なので、他の定番の言語よりも性能が良く、文章も短く出来るので楽だ。定番の言語といっても文が人によって異なり煩雑になり、古いので大規模システム向けではなかったり、メモリー破壊や速度が遅いなどの短所が多い。

また他の言語と違いGUI(グラフィックユーザーインターフェース)に対し、文字だけなCLIというコマンドラインなソフトも作れ、コスパ良くサーバーの負荷も減る。他にスマホのアプリ作成可でシステム全部を作成可だ。

なおLinuxとWindows編と題名に表記したが、MacOSXはLinuxが元で、本記事のLinuxでの設定方法などと似たような方法になる。またどのOSでも設定方法だけでなく、Go言語のソースコードも似たようなものだ。

著者のMac使用経験は、主に漢字トークなどの旧MacOSで、フォトショやMacPerlなどを使ったなどしかしてないので、題名はこうした。スマホのOSもアンドロイドというLinuxなのでLinuxを学習が良い。

Go言語はコンパイル言語だが「go run 書類名.go」というコマンドを使うと、インタープリタ言語のように、簡単に作業が出来る。

書類名.goはmain.goとしておくと、コマンド端末が前回入力した文字を記録しているので、↓キーを打つだけで出てきて、Linuxの端末だと作成している書類のディレクトリで右クリックで端末を選ぶと楽に作業できる。ただしmain.goを長文にし過ぎると整理しづらくなる。

そしてインタープリタは速度が遅かったり、サーバーに負荷もかかるので、「go build 書類名.go」とするとコンパイルも出来るので、納品する時などにコンパイルすると、ソースをパクられる危険もない。

またフレームワークという、多くの多機能複雑な処理を自分で書かなくても、「書類名.go」などの書類内でimportすると、数多くのフレームワークなどが使えるようになる。

実際の業務ではフレームワークを使わないと、仕事にはならない。またサーバーは客のサーバーとなるが、よくあるパターンは「サーバーの設定などは安値か無料で早くやって」というワガママをいう企業客が多い。


方や未熟なプログラマーになると、安請け合いしサーバーの設定もしようとするが、客がサーバーを複雑な使い方をしていると、厄介なことになり、それで出来ないというと、マウント(圧力)してくる客もいるので、この記事のような事は知っておいた方が良いだろう。

では、Go言語とそのフレームワークのインストールの方法を説明する。

まずGo言語の本体を公式サイトからダウンロードする。ソースとコンパイルされたバイナリーがあり、他にもコマンドでインストールも出来るらしいが、別バージョンもインストールするには、ソースかバイナリーが圧縮された配布物をダウンロードし、/usr/local/binなどの中に展開する。

ユーザーおきにソフトやバージョンを変えるために、/home/ユーザー名/の中でも設置可能だが、サーバーの容量やメモリーの負荷もかかると思うので、試用などで無い業務本番などの場合は、やめた方が無難ではある。

そして後は、以下の書類名「.bashrc」という/home/ユーザー名/.bashrcという隠しファイルを編集することで、コマンドの「go run」などが使えるようになる。

この書類を編集する前に、「go env」という環境を確認するコマンドで、goがインストールできたかを確認しよう。「/usr/local/go/bin/go env」というコマンドを打つと、以下のような文章が出てくる。実際は多くの行が出るが、重要なのはこの2つだ。

GOPATH="/home/ユーザー名/go:"
GOROOT="/usr/local/bin/go"

GOPATHとは「新規作成書類名.go」などの自分でGoを書いて設置する、作業エリアで「go get (各フレームワークのURL)」というコマンドを打つと、各フレームワークがダウンロードできる。

上記はLinuxなどのディレクトリ(フォルダ)だが、Windowsも同じ階層のフォルダを作っておいた方が、例えばPerlやPHPやPythonやApacheなども、Windowsで開発しやすい。なるべくどのOSでも同じパスなどにする風潮を起こした方が、作業者は楽だ。

また「/usr/local/go/bin/go env」というコマンドを、「go env」と短縮するには、以下の書類「home/ユーザー名/.bashrc」に、Go言語やフラッターなどもパス(位置)情報を記入する必要がある。

しかし/usr/bin/にOSインストール直後から付属のソフトは、そっちの旧バージョンを選んでしまうので、フルパスで指定するしかないかも…そして動画配信者で古い付属ソフトは削除!というのがいるが、これは動かなくなる機能もありえて危険だ。

これなら別バーションもインストールする方法の方が安全だ。しかし下記のユーザーおきのパスの位置などの書類の「.bashrc」では、別バージョンではなく、上記の説明と合わせるために、/usr/local/go/bin/go/go_1.**ではなく、/usr/local/go/bin/goとする。

/home/ユーザー名/go/も例えば他のApacheなどのWebサーバーで公開したいなら、/home/ユーザー名/www/などの下に作成書類.goなどを設置しても良い。GOPATHフォルダー内でしか動作しないというか、perlなどと違って動作はしないだろうが、公開でデータ共有をする時の手間は省けるかもしれない。

そして以下の書類はWidodwsでのユーザーの環境変数設定にあたる。システムという管理者の設定は変えない方が、以下からして安全だ。またサーバーソフトなどの設定は、複数よりも管理者1人が設定した方が安全だ。ただ現実的にプログラミングを知っているサーバー管理者が少ないので、ハードの技術者よりソフトを重視だ。

書類「.bashrc」の中------------------------------------------------------------------------

(初期の文は省略)

(この書類を間違って記述すると、個別のユーザーだけでこの書類を書き直し、再ログインをすれば良いだけだが、/usr/bin/内などのコマンドが使えなくなるので、以下の追加設定の③のバックアップし、以下の追加設定をコピペだ)

# 追加設定 ###################################################

# ① コマンド「source ~/.bashrc」でログインしなくても本書類を再読み込みできる
# ② export PATH="$HOME/…:$PATH"の:$PATHが抜けたりするとエラーを起こすので③をする
# ③ OSインストール直後の本書類を「.bashrc1」などとし別名で保存すると安全

#############################################################

# Go言語
# Go実行書類本体
export PATH="/usr/local/go/bin:$PATH"
# Go作業エリア&フレームワーク格納
export GOPATH="$HOME/go:$GOPATH"

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

上記はUnixやLinuxでの設置場所だが、Windowsの場合は自動インストーラーの場合は、Cドライブの直下などにGoというフォルダを作るのが一般的だ。しかしLinuxの/usr/local/go/などと違い管理者以外の遠隔利用ユーザー向けの階層構造ではない。

例えば管理者ユーザーにはusrのアクセス権を与えて、一般プログラマーユーザーにはhomeフォルダ以下のユーザーおきのフォルダのみのアクセス権を与えて、FTPソフトなどでログインさせれば良い。また他の言語も全部Cドライブに作ると、一括自動バックアップな設定もしづらくなる。

今まで使っていた旧バージョンも共存し使いたいのなら、このフォルダの下に例えば「C:¥Go¥go_1.xx」などとしコピペすれば良い。しかしC:¥usr¥local¥bin¥perlなどというのもあるので、C:¥usr¥local¥bin¥go¥go_1.xxなどでも良かろう。


GOPATH(作業位置)をGOROOT(コンパイラ本体)を同じにする失敗が多い


よくある失敗は環境変数などで使う、GOPATHをGOROOTの場所と勘違いし、指定しフレームワークをインストールが出来なかったり、出来ても作成したプログラミングがパスが見つからなく動作しないのを、構文ミスだと思い、無駄にプログラミングをしてしまうなどだ。

:$PATHという文字を入れないと、ls(リストを見る)などの基本的なコマンドも使えなくなる。これは.bashrc1という初期のバックアップ書類を、内蔵ディスク以外のUSBメモリーなどの別メディアにも保管をしておくと安全だ。

他にもよく使う(と言っても、サーバー設置業者でなくプログラマーなどなら数回だけ使う)設定書類はSambaやApacheやMySQLなどの設定書類で、これも同じようにバックアップしておくと安全だ。

知ったかぶりをする素人に限って、このような保守を舐め腐り、面倒くさがりしない。また素人客もこういう地味な作業には金を出さないのが、世の中で大企業などがシステム障害を起こしている原因だ。

こういう地道で親切な保守が出来ている人は善人で、知ったかぶりをした奴は詐欺師だ。面倒なのはプログラミングをすることではなく、こういう親切な保守・保管や、いい加減なメーカーに合わせたインストールが面倒なのだ。


以上

令和2年 皇紀2860年[西暦2020年] 11月24日(火)
著者:城神YU
posted by 城神YU at 13:21| Comment(0) | Go言語 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください
Analysis
アナライズ 分析

投資も商売も「メンタル9割:その他1割」(恐怖に耐えろ)


FXなどの投資の分析は「ファンダ3割:テクニカル7割」


ファンダ(経済ニュースなど)だけ重視する奴は、みんなと同じ事をし大損する。
チャート(テクニカル)分析こそ、普段は勝てるが、大損する馬鹿は軽視する。

「投資資金が今あまりない」場合でも、ドル円とNYダウ
(米国の日経平均株価のような指数)などの連動を見る



市場相場はInvesting.com 日本 によって機能されている


相場の値動きは複数で見比べると正確です。
また株や資源や為替などは、お互いで影響

しあう場合があります。



▼投資やビジネスで儲ける資金やチャンスを作る方法(初心者向け)
【文章付き】テレビや新聞や雑誌は無駄が多いので損をし、ネットは無駄が少ないので得をする (FC2動画版


このオンライン塾はプログラミングや投資や軍事防犯などを学び、今の反日的な状態を打破しようという令和の松下村塾!ブックマーク(お気に入り)のURLはhttp://sirokami.s205.xrea.comでお願いします。SNSなどでの連絡無しでの拡散は歓迎です。