ゆるいSEのIT徒然草

SE向けナレッジ(ほぼ自分用メモ)。技術以外にも、システム関連のもろもろ雑多なノウハウを公開します。内容保証しません!!!

便利サイト集

■りざぶろう
 無料スケジュール管理Saas
 http://www.r326.com/toiawase.html
 
■firestorage
 ファイル転送サービス
 http://firestorage.jp/
 
■パスワード文字列生成
 http://www.luft.co.jp/cgi/randam.php
 
■グローバルIP確認
 http://www.cman.jp/network/support/go_access.cgi
 
ドメイン情報検索(ドメインの登録情報等確認)
 http://whois.jprs.jp/

FTPコマンド

【基礎知識】
windows/unix OS等で使用できる。基本的なコマンド操作方法は同じ。
 

【主なFTPコマンド】
ftp
[機能]FTPサーバへの接続
[例]ftp 192.168.111.1
 
■put
[機能]FTPサーバへの単一ファイルアップロード
[例]put abc.txt

■get
[機能]FTPサーバへの単一ファイルダウンロード
[例]get abc.txt

■mput、mget
[機能]FTPサーバへの複数ファイルアップロード/ダウンロード。
    *を使用することで任意のファイル名のファイルを操作できる。
[例]mput *.zip
[例]mget *.zip

lcd
[機能]ローカル(接続元)のディレクトリ変更。
    通常、FTP接続前に任意のディレクトリに
    移動しておくほうが便利なので、使用しない。
[例]lcd /tmp/
 

■!ls !dir
[機能]ローカル(接続元)のディレクトリ確認。
    アップロードするファイルを確認する時などに使用。
[例]!ls (接続元がunix)  !dir (接続元がwindows)

■bye
[機能]FTP接続終了時に使用する。引数なし。

■bin/asc
[機能]バイナリ/アスキーモード切替。引数なし。
    操作対象ファイルがテキストファイルの場合はasc、
    バイナリファイルの場合はbinを事前に実行するのが基本。

■type
[機能]バイナリ/アスキーモード

■その他
cd ls など、基本的なunixのコマンドはFTPコマンド内でも、そのまま使用可能。
 

【バイナリ/アスキーモードについて】
windows(改行コードCR-LF)のテキストファイルを、
 Unix系OSFTP PUTする際は、モードによって以下のように変わる。
 ・バイナリモード
   ⇒元の改行コード(CR-LF)のままアップロードされる。
 ・アスキーモード
   ⇒LFに自動的に変換されてアップロードされる。
    シェルなどをファイル単位でPUTする場合は必須。
 ※Unix(改行コードLF)のテキストファイルをwindowsにGETする場合も同様の挙動となる。


FTPコマンドによるポートオープン調査】
ftpをポート指定で開くことで、対象ホストのポートが開いているか確認できる。
C:\>ftp
ftp> open 192.168.0.1 80
192.168.0.1 に接続しました。
アクティブなすべてのデータ接続を中止しています...
接続がリモート ホストによって閉じられました。
 ⇒80ポートが開いている。

ftp> open 192.168.0.1 8080
ftp>
 ⇒8080ポートは閉じられている。
 
telnetコマンドでも同様のことが実現できる。
 Windowsはそのままではtelnetコマンドは使えないので、上記の方法を推奨。
 unixではtelnet host port でOK。

SQLDeveloper使用方法

■概要
Oracleに適したSQL実行ツール。無償でOracleからダウンロード可能。

■入手
・JDK7ダウンロード
・SQLDeveloperダウンロード
 
■使用方法
・以下をダウンロードし、任意のディレクトリに解凍
 ※Oracleへのユーザ登録は必要
 sqldeveloper-3.1.07.42-no-jre.zip
 
・sqldeveloper.exe を押下
 
・Enter the full pathname for java exe と表示されたら、
 java.exeをフルパス指定
 例)C:\Program Files\Java\jdk1.7.0_07\bin\java.exe
   ※JAVAのバージョンによって、1.6.0.04~1.7のバージョンでサポート... の警告でるが継続しても問題なく使用可能だった。
 
・左側ツリー表示部の接続アイコンで右クリック⇒「接続の作成」し、
 以下情報を入力。
 接続名:任意
 ユーザ名: xx  ※自分のユーザを入力
 パスワード: xx
 ホスト名: OracleIPアドレス
 ポート: 1521
 SID: orcl
 
 ⇒「テスト」ボタン押下で「ステータス:成功」とでればok。
   設定後、右側のワークシートで任意のSQLを実行。

保険用語

募集人

保険を販売している人のこと。 または代理店? 保険募集人の資格が必要

▼参考 生命保険募集人とは - コトバンク https://kotobank.jp/word/%E7%94%9F%E5%91%BD%E4%BF%9D%E9%99%BA%E5%8B%9F%E9%9B%86%E4%BA%BA-795556 募集人の資格とは?|保険を比較・見直し・相談・学ぶ【Will Navi】 https://www.nissen-life.co.jp/willnavi/learn_insurance/learn_knowledge/from_where/hanbai_channels04.html

メール送信サンプル

■参考
http://www.atmarkit.co.jp/ait/articles/0405/22/news017.html

SendMail.bat
CSCRIPT /NOLOGO SendMail.vbs
EXIT /B 0

SendMail.vbs
Set oMsg = CreateObject("CDO.Message")
oMsg.From = "abc <admin@xxx.co.jp>"
oMsg.To = "user1@xxx.co.jp,user2@xxx.co.jp"
oMsg.Bcc = "user3@xxx.co.jp"
oMsg.Subject = "件名です"
oMsg.TextBody = "本文です。" & vbCrLf & _
  "xxxxxxxx" & vbCrLf & _
  ""
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/languagecode") = "iso-2022-jp"
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.xxxxxxx.jp"
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "admin@xxx.co.jp"
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
oMsg.Configuration.Fields.Update
oMsg.Fields.Update
oMsg.Send
Set oMsg = Nothing

縦持ちデータを横持ちに変換(PIVOT)

■PIVOTとは 縦持ちデータを横持ちに変換する。

■例 プラントごとで、雇用者タイプ別(派遣社員、正社員)の社員数を表示する。 雇用者タイプは横持ち変換する。

・EMPデータ PlantCode EmpType Name ... 1000 1 Tanaka 1000 1 Tani 1000 1 Abe 1000 1 Kouno 1000 2 Fukumoto 2000 1 Ishida 2000 1 Kawasaki 2000 1 Terada 2000 2 Kawamoto 2000 2 Fukuda

SQL SELECT --B部 t.PlantCode ,ISNULL(T.[ ],0) AS [blank] ,ISNULL(T.[1],0) AS [正社員] ,ISNULL(T.[2],0) AS [派遣社員] FROM ( SELECT --A部 PlantCode ,EmpType --1:正社員 2:派遣社員 ,count(1) AS CNT FROM EMP GROUP BY PlantCode,EmpType ) a PIVOT(SUM(CNT) FOR EmpType IN ([ ], [0], [1]) ) T ORDER BY PlantCode

・A部出力結果(PIVOT前:普通にプラント・雇用者タイプ別にカウント) PlantCode EmpType CNT 1000 1 4 1000 2 1 2000 1 3 2000 2 2

・B部出力結果(PIVOT後:EmpTypeを横持ちにする) PlantCode 正社員 派遣社員 1000 4 1 2000 3 2