スキップしてメイン コンテンツに移動

サーバー作業及び開発の環境作りTip

いつも思ってるのが
開発者及びサーバー管理者はすぐ作業ができる環境が必要で
どこに行っても自分の作業用ノートパソコンを抱えています。

ということで、
私なりのコツがあって紹介させてもらいたいです。

もちろん私の方が絶対正しいのではないので
自分のコツに参考になればと思うだけです。(汗)

まずは自分のノートパソコンがメインにならないようにするのが大事!

例えば作業が必要な時スマホでもiPadでも作業ができればいいんじゃないですか。
画面が小さいとかタイピングが面倒とかの話は慣れればOKだし、Bluetoothキーボードさえあれば問題ありません。

まず、作業環境を全てつなぐ必要があります。
私の場合には

作業PCまでの接続:Chrome Remote Desktop Connection
作業PCのファイルのちょっとした確認:Google Drive + Resilio Sync
遠隔操作:giip
作業環境の仮想化:Oracle VirtualBox

Chrome Remote DesktopとResilio SyncはスマホとiPadに入れといます。
そして作業用のPCは会社に置いときます。
giipはインストールするのではなくGoogleアカウントで一度ログインするだけでOKです。

両方アプリを入れたら
携帯でも会社のパソコン画面が見れて操作ができちゃいます!
しかしセキュリティーの問題は会社によりますので
合わせる必要がありますね。

結構厳しいところはこのようなツールは全てブロックされているし、
セキュリティーを守る必要があるので外部接続手続きなどを行い、VPNなどで接続する必要があるところもありますね。

Remote Desktopで接続できる環境なら
部屋のデスクトップでも作業中のまま帰っても引き続き作業ができます。
既に作業に必要な環境は揃っているし、新しく作る必要がありません。

その次はOracle Virtual Boxを利用してPC環境丸ごとバックアップ。

パソコンのデータが消えたり故障で新しくもらったパソコンに作業環境設定に何日もかかった経験持ってる方結構いらっしゃると思います。
私の場合は支給してもらったパソコンをそのまま使わずにまずVirtualBoxをインストールし、その中に作業に必要な環境を作ります。
ライセンスの問題でインストールできない場合もありますがそれは適当に解決することを前提にします。
そうして必要なアプリとか全てインストールし設定を行い作業をやってみます。
問題なかったらVMを中止し、Cloneを作ります。
そしてそのCloneはResilio Syncを利用して他のパソコンに同期するかネットワーク経由でコピーをとります。

そうするとパソコンが壊れて新しくパソコンをもらっても20分程度で今までの環境が戻って来ちゃいます。ファイルもそのまま!

何かあって他の人のパソコンを使う時でも自分のVMにGoogle Remote Desktopで接続すると環境はそのままになるので楽ですね。

そして共有するファイルはGoogle Driveで共有し、自分だけのものと大きいサイズのファイルはResilio Syncを利用します。

Resilio Syncの弱点は勝手にファイルを変更するとかファイルがOSのバグで壊れたりするとそのまま同期しちゃうのでファイル復元には使えません。
大切なファイルはGoogle Driveのヒストリ機能を使った方がいいですね。

開発ソースはGithubを利用してバージョン管理するのをおすすめします。

そしてサーバーに何かインストールが必要な時とかWebサーバーからGithubのソースをgit cloneしちゃうとかセキュリティーを保つために作業する時だけFTPを利用するとかのサーバーに接続する必要があるのはgiipのスクリプトに登録しちゃったらスマホでも簡単に接続なしてサービス立ち上げとかサーバーの再起動とかソースの同期とかができます。

OnedriveとかDropboxなどもありますが、Google DriveはGoogleアカウントさえあればそのまま使えるのが楽だし、他のサービスと違うのがファイルの経路の仕組みが異なって他のサービスはファイルを移動したりすると404エラー(ファイルが見つからない)になってしまうが、google driveはファイルを移動してもURL自体は変わらないのでそのまま使えます。
これは作業が多くなってファイルの整理が必要な時に絶対Google Driveがいいと思う時が来ます。自分で整理できて他のリンクも一々変えられるくらいならどこでもいいです。

参考サイト








コメント

このブログの人気の投稿

コピペができないときチェックすべきこと! :: よく迷うUiPathのコツ

UiPath( https://uipath.com )はMicrosoft社のWWFを改良した製品なのでVisual Studioより初心者向けに使いやすくなっている。 しかし、初心者がそのまま使うにはかなりのハドルがある。 理由は基本開発者向けの開発ツールを無理やり便利に作ってみたとしても開発の概念と考え方がないと結構躓くことが多い。 そのなかで私もよく迷ったりしていることの一つを整理しとく。 基本Activityはすぐコピぺができるので多数のUiPath Studioを開いて開発してたりする。 ここでコピペをしても反応ないときがよくある。 この場合はこれをチェックすること! 1.Sequenceがなく一つのActivityしかないところにはペーストできないのが多い。 例えば、ifの処理ボックスにはSequenceが最初はない。 そのボックスに一つのActivityはペーストできるのに2個目からはなぜか反応ない。 それで分からないまま新しいActivityを追加してたりしたが、 あそこにSequenceを入れたら解決ができるのだ! 2.正常にペーストできるはずのところに反応ない。 この場合はPackageが合わなくペーストが効かないケースが多い。 DESIGN>Manage Packagesをクリックしてコピー元のパッケージにインストールされているのにコピー先にインストールされてないパッケージを探す! パッケージを一々見るのが難しい!と思ったら メモ帳からファイルがあるフォルダにあるproject.jsonファイルを開いてみる! あそこにJSONの形式でインストールされたパッケージが見えるので比較しやすくなる! ちなみにコピペをすると変数の宣言が大変だと思うが、 そこでもコツがあるのだ! 変数の宣言はなるべく細かくしてSequence単位で管理できるようにする。 全てに影響がある変数はしょうがないから一番広く宣言するけど。 初心者向けの説明だと、 Variablesというところをクリックして変数を開いたらScopeという範囲が見える! 大体Sequenceボックスの名前を変えてないのでSequenceがすらりと表示されてるはずが、Sequenceボックスの名前を付けてたら見やすくなる。 あ...

面倒くさいORACLEの文字化け状況

ORACLEはそもそもUTF-8をサポートしてほかの言語はサポートはしているって書いてますが親切ではないようです。 現在サーバー側は昔からUS7ASCIIに設定して日本語を入れてしまい、データは7ビットASCIIモードで読み取りながら日本語のコートがOS側とクライアント側で変換しない必要があります。 クライアント側で文字化けの解決にはNLS_LANGの設定が効くクライアントが必要ですが、一部の有料クライアントにはサポートするようです。 接続構造は参考に https://www.oracle.com/technetwork/jp/content/charcterset-250314-ja.pdf の19スライドのように クライアントからNLS_LANGをUS7ASCIIに設定しても その設定した言語にもらったUTF-8のデータをクライアントが変換すると NLS_LANGを設定しても意味がないようです。 ORACLE SQL Developerがこの様です。 ODBCと直接接続は必ずUTF-8に変換してしまうのでUS7ASCIIになっているDBからはクライアントをいくら変換しても文字化けのままです。 必ずOCI接続を通じてクライアント側から読み取らないとUS7ASCIIは勝手に変換されますね。 この全ての条件が満たした無料クライアントはA5mk2の2.9.1バージョンだけですね。 A5MK2 ver.2.9.1 : https://a5m2.mmatsubara.com/download/a5m2_2.9.1_x64.zip 2.9.1 バージョンでサーバーを設定する場合Uicode変換を強制に無視するオプションがあります。 多分このバージョンの時点ではUTF-8をメインにして設計したDBが少なかったから文字化け対応のためできたオプションでしょう。 しかし、A5mk2の新しいバージョンにもまた結果の変換をしないオプションがなくなって文字化けしてしまいます。開発者はもうUTF-8ではないDBはないと思ってるでしょう。まだまだ残ってますよ~。 クライアント側からの変換などに参考になればと思います! まだ直接お仕事になさってますか? もう遅いです!ソフトウェアロボットにお仕事を任せてどの位自分の作業分量が減ってるかをご確認ください! https://talklowy-jp.b...

UiPath - Excelのシート名が存在した場合の処理

UiPath.Excel Activityは活用方法によってかなり強力ですが、隠れて探せない項目が多すぎて困ったりします。 公式ドキュメントもいまいちだし…。 Excelを自動化するには協力なUiPathの機能の中でSheetの判断処理を残します。 今まではシートがあったら何とかしようとしたら見つける方法が分からなく、ErrorのExceptionで判断したりしましたが、 workbook.GetSheets.Contains("<sheet name>") があったのをいまさら見つけました; 早速試してみましたが、 messageboxにworkbookとか書いてみても出てこない…。 これはExcel Application Scopeを利用しなければなりませんでした! まずExcel Application ScopeにExcelファイルを登録! Excel Application Scope Activityの属性にOutputにwbを入力して変数に入れます。 変数に入れてからMessageBoxに wb.GetSheet.Contains("Sheet1") を入力してみると成功! 「wb.」をおした時点でいっぱい出てきましたね。 ググってみても詳しく出て着なかったのでここにまず記録 giip - Free UiPath and Rpa Integrated Orchestration Service https://giipasp.azurewebsites.net