かきスタンプ

福岡でフリーランスの物流系のエンジニアやってます。

Git:プロキシに弾かれてGitHubから cloneできない時の対処

プロキシに弾かれてGitHubから cloneできない時の対処。
 
ターミナルより、以下を実行。

git config --global http.proxy http://[ID:PASSWORD]@[プロキシサーバのURL]:[ポート番号]
git config --global https.proxy http://[ID:PASSWORD]@[プロキシサーバのURL]:[ポート番号]
git config --global url."https://".insteadOf git://

内容確認は以下のコマンド。

git config --list

プロキシの設定が pac(プロキシ自動設定ファイル)の場合、そのURLをブラウザに入力したら確認できる事もあります。
その内容から、プロキシサーバのURL(外部接続用)を解読しましょう。
一旦、PowerShell等を使い、テキストファイルに落としたりするのもいいかと思います。

PowerShell 入力例)

curl http://hoge/proxy.pac -Method Get -ContentType 'application/json;charset=utf8' -Outfile "C:\tmp/proxypac.js"

設定を解除する場合は以下を実行。

git config --global --unset http.proxy
git config --global --unset https.proxy
git config --global --unset url."https://".insteadOf git://

Ubuntu向け:Visual Studio Code の C# 実行環境

1.
公式サイトより、Ubuntu向けのインストーラを選択。

2.
コンソールにてインストール(参考サイト

sudo dpkg -i <file>.deb
sudo apt-get install -f 

 
3.
/etc/apt/sources.list.d/dotnetdev.list
を編集。(無ければ新規作成)

以下の内容を追記。(参考サイト
Ubuntu 14.04】

deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main

Ubuntu 16.04】

deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main

Ubuntu 16.10】

deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ yakkety main

現在のバージョンは cat /etc/lsb-release で確認可。
 
その後、以下を実行。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
sudo apt-get update
sudo apt-get install dotnet-dev-1.0.4

 
4.
コンソールにて code と入力すると、Visual Studio Codeが起動する。

適当なフォルダを作成する。
その後、Visual Studio Codeにて、ファイル→フォルダを開く→(作成したフォルダ)を選択する。
   
5.
[Ctrl]+[Shift]+@ で、ターミナルを起動し、以下を実行。

dotnet new console
※console以外では、mvcやwebapi等が指定可。  

以下のコマンドで実行可。

dotnet run

 
デバッグ機能より、F5でも実行可能です。  
 
参考にした動画

Linux:マイナーディストリをいくつか試した感想

見た目が良さげな Linuxディストリを、ASUSのE200Hに入れて遊んでみた感想です。
 
elementary OS
見た目のデザインは素敵。
軽量で最低限の機能しか備えていないため、色々手を加えないと、常用のPCとして使用する分には辛い。
色々手を加えていくうちに、どんどん動作が不安定になってきたので、別のを使うことにした。
 
 
Voyager
BIOS画面にて、どんなキーを押しても、何故かシャットダウンするという謎の現象に悩まされる。USB接続したキーボードだと問題なし。何故だ。
ちなみに、他のジャンクPCにブチ込んだ場合は、この現象は起こらなかった。むぅ。
 
 
Pantheon(KLUE 2.0)
日本人が作ったディストリだけあって、日本人が使う分には素敵なディストリだと思う。萌え系壁紙がデフォルトで多数用意されている。
自分の場合、サウンド絡みが上手くいかず、ごちゃごちゃ試しているうちに、動きが悪くなってきた。
何か調べようにも、マイナーディストリの宿命か、必要な情報をネットから探すのが難しく、解決は困難を極める。
Debian系だから、その辺の情報探しとけばいいっしょ。」と甘く見ていた・・
 
 
Zorin OS
すげえ重い。
そして外観がWindowsっぽい。すぐに飽きた。
 


 
…という経緯を経て、結局、Ubuntuがいいよね。という結論に落ち着きました。
が、マイナーディストリは不安定なものも多いうえ、行き詰まった時に情報が探しづらいので、やっぱり広く使われている物を選んだ方がいいかと思います。
 
上記では特定のディストリについて、「不安定」とか「重い」とか妙な現象に悩まされたとかいう表現を使用していますが、あくまで自分の環境ではそうだった、というだけで、全部がそうなる訳では無いと思います。
 
isoイメージファイルについては、主にライブCDの部屋様を利用させてもらいました。
たいてい bit数が書いてますが、たまに「i3861」等の明記されていないイメージファイルもありますので、使う前に調べておいた方がいいです。


  1. インテル系32bit

Linux:キーボードの特定キーが正常に動作しているかチェック

コンソールにて、以下を入力。

xev

ウィンドウが立ち上がったら、チェックしたいキーを入力する。
 
ジャンク品触っていると、設定が悪いのか、キーボードが悪いのか分からない場合があるので、そういう時に使ってます。
(言語によって左右されやすいキーは特に。)

PowerShell:APIの叩き方

PowerShellAPIを叩くとき、Invoke-WebRequestを使用します。
Windows 7 にデフォルトで入っている ver 2にはありませんが。)

Invoke-WebRequest -uri <URI>

Invoke-WebRequest」でなく、「curl」と打ってもOKです。

使用例

curl -uri http://kakistamp.com/api -Method Get -ContentType 'application/json;charset=utf8'

-Methodや、-ContentTypeは、状況に応じて使い分けを。

-Outfile "C:\tmp/res.txt" 等で、外部ファイルに出力可能です。
 
コンソール出力時に文字化けした場合、エンコードを変更します。

chcp <エンコードID>

<エンコードID>は、以下のような形で表現されています。

符号化方式 エンコードID
shift_jis 932
EUC-JP 20932
utf-8 65001
utf-16 1200

単にchcp と入力すると、現在のエンコードを表示します。
 
その他のエンコードについては、Microsoft 公式ページを参照下さい。

Oracle:文字列を日付型に変換するファンクション(できなければ nullを返す)

Oracleで、文字列を日付型に変換し、できなければnullを返すファンクションを書いてみた。

create or replace function CONVERT_TO_DATE (
  ARG_DATE  in varchar2) 
return date is

    FORMATTED_DATE  varchar2(8);

begin

    FORMATTED_DATE := substr(replace(ARG_DATE,'/',''),1,8);

    return  to_date( FORMATTED_DATE, 'YYYYMMDD' );

exception
  when others then
  return null;
end;

可能であれば日付型に変換し、できなければ nullを返す。
 
使用例

select
    CONVERT_TO_DATE('20170101')    as  RESULT1
   ,CONVERT_TO_DATE('2017/01/01')  as  RESULT2
   ,CONVERT_TO_DATE('xxx')         as  RESULT3
   ,CONVERT_TO_DATE('2017/01/32')  as  RESULT4
from
    dual

 
実行結果例

RESULT1 RESULT2 RESULT3 RESULT4
2017-01-01 2017-01-01 (null) (null)

諸事情により、文字列のカラムに日付情報が格納されているというケースのために。
標準関数の to_dateは、日付型に変換できない場合は例外が発生するので、変換できないレコードが1件でもあると、マトモに実行してくれなかったので作成しました。
 
…ってか、この程度の事、自前で何とかしなくても、標準関数で出来てほしい。
 
ファンクション名は「CONVERT_TO_DATE_FROM_CHAR」にしようかと思いましたが、長いからやめときました。



スポンサーリンク

elementary OS:セットアップメモ

elementary OS(見た目がMacっぽいDebian系ディストリ)をセットアップしたので、その手順をメモ。

-1-
公式サイトより、イメージファイルをダウンロード。(無料でのダウンロードも可)
 
 
-2-
インストールドライブ(USB起動)を作成します。
Rufus を使用しました。設定は以下。

「スタート」を押し、インストールドライブを作成。  
 
-3-
インストールする端末のBIOS設定を変更します。今回は ASUSのE200Hを使用しました。

  1. 作成したインストールドライブを挿し、PC起動
  2. BIOS画面を起動(電源を入れ、F2連打)
  3. Securityタブにて、Secure Boot Controlを、[Disabled]に設定
  4. Bootタブにて、Boot Option #1を選択し、USBを選択。
  5. Save & Exit タブにて、Save Change and Exitを選択。
  6. GRUBが起動する。Install elementary OS を選択。後はインストールガイドの手順に従う。

-4-
パッケージマネージャ更新

sudo apt-get update 
sudo apt-get upgrade

日本語化

画面左上の「Applications」を選択→
System Settingより、Language & Regionを選択。
「UnLock」を選択すると、設定が変更できるようになる。
Formatにて「Japanese」を選択。
その後、再起動。

日本語入力設定

(以下を実行)
sudo apt-get install fcitx-mozc
im-config -n fcitx
fcitx-config-gtk3
「入力メソッドの設定」が起動する。[全体の設定]タブより、[拡張オプションの表示]を有効にする。
[プログラム]タブの「fcitxが本当に起動するまでのスリープ時間」を10に設定。
その後、再起動。
再起動後、再び fcitx-config-gtk3 を実行。
[全体の設定]タブの[入力メソッドのオンオフ]に、適当なキーを割り当てる。([全角/半角]キー等)

蓋を閉じても電源が落ちないようにする

/etc/systemd/logind.conf
を編集
「#HandleLidSwitch=suspend」→「HandleLidSwitch=ignore」
その後、設定を反映させるために以下を実行。
sudo systemctl restart systemd-logind

Chromeインストール

sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
sudo apt-get update
sudo apt-get install google-chrome-stable

Fire Foxインストール

sudo apt-get install firefox 

gitインストール

sudo apt-get install git

LibreOfficeインストール

sudo apt-get install libreoffice

グラフィック系ソフトのインストール

sudo apt-get install gimp
sudo apt-get install krita
sudo apt-get install inkscape

node.jsインストール

sudo apt-get install nodejs
sudo apt-get install nodejs-legacy
sudo apt-get install npm
sudo npm install -g n
sudo n latest
sudo npm update -g npm
sudo npm update -g
sudo npm outdated -g
npm install -g express
npm install -g express-generator

node.jsバージョン切り替え

git clone git://github.com/creationix/nvm.git ~/.nvm
source ~/.nvm/nvm.sh
nvm install 7.8.0(バージョンを指定)
nvm use 7.8.0(バージョンを指定)

元々は Windows 10の64bit版が入っていたマシンにセットアップしました。
こういった作業をノートPCでやる時、ASUSは結構いい選択肢ではないでしょうか。
スペックは大した事なくても、安価なマシン(リサイクル品)が、じゃんぱらなどで多く出回っているので。
ハードオフ等で売ってるジャンク品なんかを使うのもいいと思います。というか、一番最初はそうしました。



スポンサーリンク