「技術」カテゴリーアーカイブ

ローカルネットワークにgitリポジトリを作る

いろいろ試したんだけど、

どうやらwindowsからは上手くできないみたい。

なんか、暗号鍵やpgp署名を上手く設定しなくちゃいけないて

結局そのやり方がわからなかった。

 

でもLinuxからはちゃんとできた。

なぜだろう・・・

 

まずはリモート側。

$ mkdir project.git

$ cd project.git

$ git init –bare

これでリモートリポジトリを初期化

 

次はローカル側

$ mkdir project

$ cd project

$ git init

$ git add .

$ git commit -m “message” -a

$ git remote add origin ssh://ユーザ@IPアドレス/project.gitのパス

$ git push origin master

 

あとは、ファイルを更新したら、

$ git add .

$ git commit -m “message” -a

$ git push origin master

でリモートにプッシュできる

 

WindowsマシンにVNCでリモートアクセスする

外出先でも自宅のPCにアクセスしたい。

しかもGUIで。

そういう思いでいろいろ調べて設定しました。

 

基本的にはVNCというアプリを使用する。

でもVNCは基本的に暗号化はされていないので、

入力した内容がそのまま通信されることになる。

この状態でパスワードなんて入力したら大変だ。

 

それ以前に、ルータの壁をどうやって乗り越えるかが問題になる。

 

そのため、以下の方法を使用する。

  • ルータにSSHのアクセスを自宅PCにポートフォワーディングする
  • SSHをトンネルにして、VNC接続する

 

方法はいろいろあるんだけど、

これが一番現実的でセキュアな方法だと思う。

 

で、以下が実際に設定した内容。

●ルータの設定

変更した内容は以下の通り

  • DMZを有効にする。転送先を自宅PCのローカルIPに設定する
  • ポートフォワーディングを設定する。SSHの接続を自宅PCのローカルIPに設定する。なお、ポート番号は通常は22(変更は可能)

 

●自宅PCの設定

内容は以下の通り

  • SSHサーバを立てる

使用したのはPowerShell Server

http://www.powershellserver.com/download/

設定箇所は二箇所

設定が完了したらSTARTをクリックしてサーバを起動

(使用しないときはSTOPしておいた方が良い)

 

この状態で、リモートPCからSSH接続できることを確認する。

接続先のIPアドレス(外部からアクセスできるルータのIP)は、自宅PCから以下のサイトにアクセスすることでわかる

https://www.akakagemaru.info/port/iphost.php

ログインできれば成功

 

  • VNCサーバを立てる

使用したのはUltraVNC

http://forest.watch.impress.co.jp/library/software/ultravnc/

サーバを立ち上げたらローカルネットワークからVNC接続できることを確認した方が良い。

 

●リモートPCの設定

内容は以下の通り

  • SSH転送の設定

使用したのはTeraterm

https://ja.osdn.net/projects/ttssh2/releases/

設定→SSH転送を選択し、追加をクリック

ローカルのポート番号は任意

リモート側ホストにはルータの外向けIPアドレス、ポート番号はVNCサーバのポート番号(通常は5900)を設定

ルータの外向けIPアドレスに接続し、ログインする

 

  • VNCクライアントの設定

UltraVNCを使用する

接続先はlocalhost、ポート番号はSSH転送のローカルポートに設定した番号

 

ログインできればOK

 

 

iPhone8とiPhone X

ども。

今日の早朝に発表があったようで。

オイラはニュースで詳細を知りました。

 

まぁ、驚きは無いというか、

リーク情報がたんまりあったからね。

これはしょうが無い。

 

でも、これは欲しいぞ。

ポイントはこんな感じ。

  • ワイヤレス充電Qiに対応
  • グローバル版でもFelica搭載

さらにiPhone X(テンと読むらしい)では

  • ホームボタン廃止
  • 指紋認証を廃止し、顔認証搭載

iPhone Xは今までのiPhoneとは別物と考えた方が良いかも。

それでも、QiとFelicaは大きいなぁ。

 

Web技術はあれからかなり進歩したもので

オイラが職業訓練で学んだWeb技術はもう通用しないのです。

 

まぁ、アレは5年ぐらい前に学んだもの何ですが、

それだけでは足りない、と言うことです。

と言うことで、実際に現場で覚えた技術をここに書いておきます。

 

composer

PHPのパッケージの依存関係を解決してくれる。

フレームワークのインストールもこれで解決できたりする

 

node.js

元々はサーバサイドでjavascriptを実行できる環境。

今はローカル環境でタスクを自動化する用途で使用する事が多い

 

npm

node.jsでパッケージを管理する

 

gulp

node.js上でタスクを実行するプラグイン

 

例えば、jsやcssを圧縮するのに、gulpを使用して圧縮処理を自動化してwebに公開するケースが多い

 

bootstrap

レスポンシブwebデザインに対応するためのjsライブラリ

まぁ、スマートフォンやタブレットが普及している中で、

画面解像度などが統一されていないので、

解像度別に、そのサイト用にcss書き換えなければならないわけですが

bootstrapを使えば解決してくれる。

 

jquery.js

もはや、使えばければWebデザインができないレベルの必修ライブラリ

本来、長いコードを書いてWebの細かい演出を行う処理を、

このライブラリを使えば簡単に実装できたりする。

 

Vue.js

js上でフレームワークを実現する

まぁ、上手く使えば、Webで細かい演出が使えます

 

まぁ、今のプロジェクトで使っているのがこれで、

これらのヤツを使えば大抵のWebサイトは作れます。

 

糖質データベースを作ろうか

例えばgoogle検索で

「食材名 糖質」

と検索すれば、食材の糖質を検索できる。

これ、絶対間違ってると思うんだ。

ビールの糖質が0gなわけないもん。

まぁ、単位が100gだから、0gと表示しても問題無い、という理屈なんだろうけど。

そこで、糖質データベースを作りたいと思う。

検索窓に食材名を入力すれば、糖質が出力されるやつ

例えば、こんなサイトのようなもの。

https://fooddb.mext.go.jp/

これは文部科学省で作成した、成分表示をデータベース化して検索できるようにしたもの。

これもこれでいいんだけど、炭水化物はわかるけど、糖質はわからない。

糖質は炭水化物から食物繊維を引いたものが糖質です。

まぁ、炭水化物≒糖質とみなしても問題無いのだが。

これはこれで非常に完成度は高くて、オイラが考えているものに一番近い。

でもどうせなら、もっと具体的な製品名からでも検索できるようにしたい、と言うのがオイラの考え。

そして、おいら一人ではデータを集めるのは大変だから、

ユーザーでデータを登録して共有したい。

と言うのがオイラの考え。

 

ちょっと本気で考えてみようか。

 

VSCodeのターミナルからSSHにログインする

PHP Stomeとか使ってるところを見ると、

エディターのウィンドウにターミナルっていう窓があって、

そこからサーバにアクセスしてコマンド実行ができる。

これをVSCodeでやりたい。

 

方法としては、opensshというものを使用する。

Windows版はこちらからダウンロードできる。

https://github.com/PowerShell/Win32-OpenSSH/releases

ダウンロードしたファイルからssh.exeと一緒に入っているDLLを

パスの通っているフォルダに入れる。

おすすめはVSCodeのインストールフォルダの下のbinフォルダの中。

あとは、コマンドラインから

ssh [ユーザー名]@[ホスト名]

と打ち込んだあと、パスワードを入力すればログインできる。

 

ASP.NET coreを試してみる

試すだけなら簡単。

Visual Studioを立ち上げ、

Webアプリケーションのプロジェクトを作成すれば良い。

プロジェクトを作成して、ビルドして実行すれば、

ブラウザが立ち上がって最初のページが表示される。

しかも、すでにユーザー登録やログイン画面も出来上がっているのである。

ユーザー管理はデータベースを使用しているので、

最初ユーザー登録ページを表示したときはエラーが表示される。

しかしマイグレーションというボタンを押せば、データベースを作成してくれる。

 

実は、実行環境はdotnet.exeというプログラムが、ビルドしたDLLファイルを実行しているだけ。

HTTPサーバやデータベースは実行時に簡易的なものが動作している。

デバッグならば、このままでも十分だし、

まぁ、WindowsサーバならそのままWindowsサーバの環境に移して動かすことができるのだが、

Linux環境だとそうはいかないんだろうなぁ。

まぁ、いろいろいじってみよ。

まずは、このDLLをVPSで動かすことを試してみる。

 

一体何が起こったのかを詳しく書く

ブログ記事を書こうと思ったが、

こんなエラーが出た。

詳しく調べると、

WordPressのあるプラグインが、

Web上のCSSを読み込もうとして

失敗しているみたい。

で、問題のプラグインを削除しても

この処理が残ってしまうわけで。

原因がわからないし、

下手にソースコードを弄るわけにも行かないので、

 

まずは、データベースを残して、

同じデータベースを使用してWordPressを使用しようとした。

 

しかし、どうも、プラグインの情報が

データベースに入っているようで、

うまく動作しなかった。

 

なので結局新しいブログを立ち上げた。

 

まぁ、旧ブログでも、参照するだけなら問題ないので、

残しておきます。