出社・退社スクリプトの話
おじさんです(´・ω・`)
新社会人になってツイッターで出社と退社を呟くようになったんだが
とうとうめんどくさくなってきたので全自動化してみようと思う。
まずはtwitterのアカウントを適当に用意する。
次は
ここに作成したアカウントを登録しよう
細かく説明しようと思ったが、すまない ここを参考にしてくれ
丁寧・親切・直球に書いてくれててわかりやすいぞ
後はソースコードをラズパイに持っていって動かそう
おじさんはソースを実行する時コマンドライン引数としてツイート内容を与えるように変更しているよ(後、クラス名も変えてるよ)
jarと先程のソースを置いたところでコンパイルしよう
javac -cp twitter4j-core-4.0.4.jar Tweet.java
コンパイルできたら実行するぞ
java -cp .:twitter4j-core-4.0.4.jar Tweet test
こんな感じでツイートてきた ライブラリって有能
syussya.sh
#!bin/sh
cd /home/pi/~(ソースのあるディレクトリ)
java -cp .:twitter4j-core-4.0.4.jar Tweet 出社
cd
完成!!(同じファイルの退社版も作ってます。)
※お分かりいただけただろうか、実行ディレクトリのパスを試行錯誤したが
わからずにcdを連打した力技汚スクリプトだ(今後改善します。)
後は、定時にスクリプトを実行するようにcrontab設定するぞ
crontab -e で設定ファイルが開く(よく忘れる)
細かい書式はここに載ってるぞ! よくお世話になるサイトだ(覚書)
作りながらブログ書いたから結合動作チェックは 行えてない
初めてBotっぽいものを作ったが案外簡単だったんでどんどん機能を載せて行きたいと思う おじさんであった(´・ω・`)
手遊び
友人と昼飯を食っていると (ワイ)ふざけたものを作った→(友人)解きたい
の流れから問題を出すことになった。
文字数:64文字の文章を何らかの方法で暗号化した。
暗号化を行った時刻は以下のとおりである。
java.util.Date toString():Thu Jul 06 21:31:44 JST 2017
java.util.Date getTime():1499344304406
-----暗号化後-----
-39119-102-39120-126-39119-101-39120-126-39119-96-39120-127-39119-76-39119-76-39119-95-39118119-36-115-101-39119-123-39120127-39119-115-35-105-91-39119-95-39120118-39119-127-39119-88-39119-100-39118119-37-75121-39119-95-39119124-39119-102-39120-128-39120124-39119-123-39120126-39119-115-39119-96-39119-115-38-80-127-39120-120-39118119-39119-109-39119-119-39119-91-39119-127-39119-98-39119-96-39119-123-36-111-82-39119-125-39119-102-39119-123-39120-126-39119-90-39118119-39119120-39120122-39119-115-39119124-39119-119-39119-109-39120120-39119-92-39119-122-39120-127-39119-79-39119-115-39119-121-39120-126-39118120
補足:復号化すると64文字の意味のある文章になる。
とりあえずなんか作った。
おじさんはブログをはじめました。
どうも最近SEになったおじさんです。
ブログを書いていきます。()
備忘録(備忘録)的なブログですのでよしなに
突然ですが、「夢を描けば技術は必ず付いてくる」おじさんはこの言葉が大好きです。
人生の心訓ポジに位置する言葉です。
まぁ、とりあえず【夢を描きましょう】。
今回描く夢は「.exe」ファイルを作成し実行するという夢です。
とりあえず必要な材料は
・eclipse(pleiades-4.6.3-java-win-64bit-jre_20170422)
・exewrap1.1.6
手順はeclipseで適当なプログラムをこしらえる。
(eclipseで)プロジェクトを選択してエクスポート
>JARファイル[次へ]>エクスポート先を選択[次へ]
>[次へ]>エントリーポイントクラスの指定[完了]
次にexewrapを適当なディレクトリに解凍し同階層にエクスポートした~.jarを持ってきてcmdを開き解凍ディレクトリまで移動し「>exewrap.exe ~.jar」を実行
こんな感じになるので出力された~.exe(今回はexportTest.exe)を実行。
今回作成したexeの種類はコンソールアプリケーションなので実行するとcmdが開き動作します。
こんな感じです
本日の夢、達成!
今回作成したプログラムソースその1(ExportTestクラス)
public class ExportTest {
public ExportTest() {
}
//出力するだけ
public void printTest(String str){
System.out.println("テスト出力:" + str);
}
}
その2(MainTest00クラス)
public static void main(String[] args) {
ExportTest exTest = new ExportTest();
String str = "test";
for (int i = 0; i < 100; i++) {
//回数+test文字列が表示される。
exTest.printTest(i + str);
try {
//1000ミリ秒(1秒)プログラム停止
Thread.sleep(1000);
} catch (Exception e) {
System.out.println(e);
}
}
}
}
※今回の失敗点
x86が32bit、x64が64bitなんですねぇ…逆で覚えてて実行ファイル出力がうまく行ってない事に気づいて無くて20分位無駄にしました。(やっかいなことに失敗してても実行ファイルは出力されるみたいです…)
not foundって書いとるやんけ
みんなは出力ステータス、ちゃんと見ような?(すっとぼけ)
では、またの( ˙灬˙ ) ノシ