20220303のJavaに関する記事は4件です。

ベル文字を出力して音を鳴らしてみた。

授業で正規表現の学習中に、ベル文字というモノがあることを知ってしまった。 コレは鳴らしてみないと ベル文字とは その昔、テレタイプなどの通信機器で、通信相手先の端末のベルを鳴らすために送信した制御文字(¥a)のようです。 さすがのオッチャンでも、テレタイプは現物見たことないので、よう解りません。 では、鳴らしてみます といっても、ベルが鳴るわけではなく、システムのアラート音(通知音)が鳴るだけですけどね。 まずJava Bell.java class Bell{ public static void main(String[] args) { System.out.print("\007"); } } javac Bell.java java Bell鳴りました。 シェルスクリプト Macなので Z Shellです Bell.sh #!/bin/zsh echo -e "\a" chmod 777 Bell.sh ./Bell.sh 鳴りました。 python Bell.py print("\a") python Bell.py で鳴りました。 php Bell.php <?php echo "\a"; echo "<br>"; echo "改行\nできてない。"; ?> 出力 \a 改行 できてない。 家の環境が悪いのか、コードが間違ってるのか、鳴りませんでした。 明日windowsのXAMMP下でどうなるのか試してみます。 最後に 小ネタにお付き合いいただき、ありがとうございました。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

10歳児がサイバセキュリティの専門家になるには

将棋のプロに10歳でなれるように、サイバセキュリティの専門家も10歳でなれるだろうという仮定のもとに、10歳児がサイバセキュリティの専門家になるにはどうするとよいかを示す。 将棋でも、ピアノでも、10歳で専門家になるのに、特別の教育方法はない。 バイオリンは、小さいバイオリンから始めてという、小さい子供用の教育方法がある。 囲碁は十九路盤で行うのが正式。初心者用に、九路盤と十三路盤がある。これは子供用というよりは初心者用で、バイオリンとは少し違う。 サイバセキュリティの専門家は、どの方法だろうということを考える。 どちらも提案してみればいいだけかもしれない。 目次 子供用の入り口を設ける方法 子供用の入り口を設けない方法 2.1 Wireshark 2.2 ネットワークプログラミング 2.3 docker(じゃなくていいけど) 自分の頭で考える 通信関連技術 結果として、1の入り口から入っても2の要素は役立つ。 2の入り口から入っても1の要素は役立つ。 そんな趣旨で、10歳児と取り組んでいただけると幸いです。 一番大事な事は自分の頭で考えること。 10歳になったら、3歳児、5歳児にも教育して欲しい。 3さいじがわかるcyber security(サイバセキュリティ) 5さいじがわかるcyber security(サイバセキュリティ) 1. 子供用の入り口を設ける方法 子供用の入り口を設ける方法には、子供用のプログラミング教材とか、子供用のゲームとか、子供用のアプリとかから始める方法だとしよう。 子供用のバイオリンがあるように。 課題は、入り口から出口までどうやってつなぐか。 プログラミングとネットワークプログラミングを分けるとややこしい。 最初からネットワークプログラミングから始めるとよさそう。 次に、攻撃するようなゲームをプログラムしてもらい、 最後に防御するゲームをプログラムしてもらうのはどうだろう。 Scratchで子供にプログラミング 5才と子供用PCとかな入力アプリでScratch 子供用ロボット Vortexとは Scratch x RaspberryPi で子供たちに身近なもののしくみを教える 小学生のプログラミング教育について 子供たちへのプログラミング教育のこと Raspberry Pi 3でプログラミングをする Node-REDと普通にプログラミング こどもと一緒にIchigoJam環境セットアップ(2018年版・簡易版) 6さいからのWindowsプログラミング #1 2. 子供用の入り口を設けない方法 子供用の入り口を設けないといいつつ、子供用のコンピュータであるRaspberry Piの題材を主にとりあげるようにしている。Raspberry PIは決して子供用のバイオリンではない。 Wiresharkで測定し、何かネットワークプログラミングすればよいだろう。 dockerを使った方が、いろいろ試しやすい気がする。 2.1 Wireshark 2.2 ネットワークプログラミング 2.3 docker(じゃなくてもいいけど) 2.1 Wireshark まず、Wiresharkを使ってパケットを見てもらうのがいい。 大人でも、子供でも。 パケットを観察して、何をつかむかは、どんな言語、どんなアプリでもいいので、いろいろ試してもらいながら、 Wiresharkを一般ユーザで実行(ラズパイ編) 【Ubuntu 17.10】一般ユーザでWiresharkを起動し、パケットキャプチャを行う WireSharkでパケットキャプチャ ChromebookにWireSharkを入れてみた SSH接続したLinuxでキャプチャしたパケットをローカルPCのWiresharkで開きたい Wireshark で独自プロトコルを解析 (dissector with Lua) WireSharkでEchonet-liteの通信を解析する方法 Wireshark dissector開発の流れ Raspberry PiでWiresharkを活用する10の関門 Wireshark 導入、記録、分析。無線網(Wi-Fi)空中線(antenna)(64) @Ryo_Suzuki「かんたんな疎通確認」をwiresharkで WindowsにWireshark(64)を導入 MacintoshにWiresharkを導入する5つの壁 Wireshark 802.11 測定。無線網(Wi-Fi)空中線(antenna)(85) 2.2 ネットワークプログラミング プログラミングとネットワークプログラミングを分けるとややこしい。 最初からネットワークプログラミングから始めるとよさそう。 次に、攻撃するようなゲームをプログラムしてもらい、 最後に防御するゲームをプログラムしてもらうのはどうだろう。 最初に覚えるプログラミング言語は何がいいですか? 「基礎からわかるTCP/IP JAVAネットワークプログラミング」Eclipseでコンパイル。Wiresharkでデバッグ。 第二章JAVAによるネットワークプログラミング phttpd 三箇所でException収集 Macintosh対応「基礎からわかるTCP/IP アナライザ作成とパケット解析 Linux/FreeBSD対応」小高知宏 オーム社 インド、インドネシアとJava、Javascript:接尾辞がついて別物と言うが共通点は多い。仮説(89) Python Scapyを使ったネットワークプログラミング [実習] TCPプログラミング 今さらpythonでsocketserverを使ってソケット通信する ネットワークプログラムの基本? 低レベルネットワークプログラミングを理解するための道具箱 ネットワークプログラミングで大活躍 netaddrの簡易説明書 - Python Webアプリの脆弱性診断員も知っておくべきネットワークの基礎の基礎 2.3 docker(じゃなくてもいいけど) ネットワークプログラミングで、さまざまな設定を試すには、dockerがいいかも。 実環境をいろいろいじるより、まずdockerでいろいろ試すのをおすすめ。 いろいろ環境を用意しないとセキュリティ確認はむつかしい。 別にdockerじゃなくてもいいけど、私がDockerしか使いこなしていないだけ。 ラズパイにDockerをインストールする 「DockerでPHP7.0×Apacheの環境を構築する@kurkuru」IT業界新人利用時の16の壁(mac mini編)docker(80) あなたもdocker, 私もdocker。docker(130) 言語処理100本ノックをdockerで。python覚えるのに最適。docker(19) python(1) なぜdockerでpython/Rを使って機械学習するか 書籍・ソース一覧作成中 (目標100) docker(18) 資料集 [あなたもdocker私もdocker一覧] docker(0) 3. 自分の頭で考える サイバセキュリティで一番大事なのは、自分の頭で考えること。 他人の決めた規則を守ってもなんにもならない。 その規則は、攻撃する側はしっていて、そこをかいくぐることは前提で考えないと。 自分の頭で考えるようになるには 「自分の頭で考える」ということ。 「5さいじがわかるcyber security(サイバセキュリティ)」のかんがえかた なぜ10歳でプログラマを目指すとよいか「小学生だった僕がプログラミングを覚えるまでにやったこと」への賛歌。仮説(18) 10歳児が自分の頭で考える時 プログラミング言語教育のXYZ。Youtube(1) 仮説(52) データサイエンティストの気づき「勉強だけして仕事に役立てない人。大嫌い!」。『それ自分かも!』ってなった。 新人(学生)を指導するよりも新人(学生)に指導してもらった方が効率的。仮説(139) プログラムは音楽だ (A program is a music.) 仮説(54) 自分の頭で考えられるかなって思ったら、自分の頭で考えられる人の網を作るといいかも。 凡人の生き残り戦略 〜 凡人網のつくりかた 〜 凡人は天才、秀才と違うことをして生きていく 凡人網を作るのは、裸の王様にならないためもあるかもしれません。 何か、成し遂げるとまわりにちやほやする人があらわれ、 気がつかないうちに、裸の王様になっていることがあるかもしれません。 裸の王様にならないために 4. 通信関連技術 日本にも、通信関連技術はいいものがいっぱいある。ここには示していないが、三菱電機の暗号化技術、日鉄ソリューションズのData miningなど。 「Winnyの技術」を読む SoftEtherを知る softether on docker(作業中) docker(45) 「ソフトイーサ PacketiX VPN入門」を読む 日本のプログラマが世界で戦える16分野・事例。仮説(53)統計と確率(25) ネットワーク ReferenceとしてのBSD 盾と矛。セキュリティの矛盾 オレオレ詐欺とネット詐欺 「標的型サイバー攻撃対策」では防げないかもしれない 脆弱性対策。仮説(16) 暗号技術入門 blue backs 「サイバー攻撃 ネット世界の裏側で起きていること」 中島明日香 文書履歴 ver. 0.01 初稿 20220303 ver. 0.02 自分の頭で考える 追記 20220303 夜  ver. 0.03 softether追記 20220304 ver. 0.04 囲碁九路盤、十三路盤 追記 20220305 昼 ver. 0.05 目次 作成 20220305 午後 ver. 0.06 参考資料追記 20220305 夜 ver. 0.07 凡人網、暗号 追記 20220306
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Javaを使用してPowerPointスライドをコピーする方法

この記事では、Javaプログラムを使用してPowerPointスライドをありのままコピーする方法を紹介します。ここでコピーするケースを2つ紹介します。 ・同じスライドドキュメント内でコピーする ・異なるスライドドキュメント間でコピーする 使用したツール:Free Spire.Presentation for Java(無料版) JARファイルの取得とインポート: 方法1:jarファイルパッケージは、E-iceblueの公式Webサイトからダウンロードできます。ダウンロード後、ファイルを解凍し、libフォルダー内のSpire.Presentation.jarファイルをJavaプログラムにインポートします。次のインポート効果を参照してください。 方法2:Mavenリポジトリを介してインストールおよびインポートします。 以下は二つのテストドキュメント: Javaサンプルコード 同じスライドドキュメント内でコピーする import com.spire.presentation.*; public class Copy1 { public static void main(String[] args) throws Exception{ //テストするPowerPointドキュメントをロードする Presentation ppt = new Presentation(); ppt.loadFromFile("C:\\Users\\Administrator\\Desktop\\test.pptx"); //スライド1(コピーされたスライド)を取得する ISlide slide = ppt.getSlides().get(0); //シングルコピー:1番目のスライドを3番目のスライドとしてコピーする int index = 2; ppt.getSlides().insert(index, slide); //シングルコピー:1番目のスライドを3番目のスライドとしてコピーする for(int i = 3;i < 5;i++) { ppt.getSlides().insert(i, slide); } //ドキュメントを保存する ppt.saveToFile("result1.pptx",FileFormat.PPTX_2013); ppt.dispose(); } } 異なるスライドドキュメント間でコピーする import com.spire.presentation.*; public class Copy2 { public static void main(String[] args) throws Exception{ //スライドドキュメント1をロードし、コピーする必要がある3番目のスライドを取得する Presentation ppt1 = new Presentation(); ppt1.loadFromFile("C:\\Users\\Administrator\\Desktop\\test.pptx"); ISlide slide = ppt1.getSlides().get(2); //スライドドキュメント2を読み込み、スライドドキュメント1からコピーしたスライドをドキュメント2の3番目のスライドとして挿入する Presentation ppt2 = new Presentation(); ppt2.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pptx"); int index = 2; ppt2.getSlides().insert(index,slide); //スライドドキュメント2を保存する ppt2.saveToFile("result2.pptx",FileFormat.PPTX_2013); ppt2.dispose(); } } コピーした効果: 今回のPowerPointスライドをコピーする方法は以上でした、最後まで読んでいただきありがとうございます。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

外部ネットワークに繋がっていないAIXでJProfilerを動かすまで

外部ネットワークに繋がっていないAIXでJProfilerを動かす 環境 サーバー AIX(7.2) 外部ネットワークに接続されていない クライアント Windows10+VNC Viewer JProfilerはGUIが必要なのでVNC Serverをインストール rpm -Uvh tightvnc-server-1.3.10-2.aix6.1.ppc.rpmで入れば話は早いが、それは勿論無理。 「AIX Toolbox」から片っ端からrpmを取得して転送 クライアント側で取得しscpでAIXに転送。 rpmコマンドは最終的に以下のようになった。 rpmさんに怒られるままに泣きながらダウンロードして転送を繰り返した。 rpm -Uvh tightvnc-server-1.3.10-2.aix6.1.ppc.rpm \ libjpeg-9d-1.aix6.1.ppc.rpm \ zlib-1.2.11-2.aix6.1.ppc.rpm \ gcc8-8.3.0-6.aix7.2.ppc.rpm \ libgcc8-8.3.0-6.aix7.2.ppc.rpm \ gcc8-8.3.0-6.aix7.2.ppc.rpm \ info-6.7-1.aix6.1.ppc.rpm \ sed-4.8-1.aix6.1.ppc.rpm \ ncurses-6.2-3.aix6.1.ppc.rpm \ gettext-0.20.2-1.aix6.1.ppc.rpm \ libxml2-2.9.11-1.aix6.1.ppc.rpm \ libunistring-0.9.10-1.aix6.1.ppc.rpm \ xz-5.2.5-1.aix6.1.ppc.rpm \ xz-libs-5.2.5-1.aix6.1.ppc.rpm \ xz-lzma-compat-5.2.5-1.aix6.1.ppc.rpm \ glib2-2.56.1-3.aix6.1.ppc.rpm \ libffi-3.2.1-3.aix6.1.ppc.rpm \ libgcc-8-1.aix7.2.ppc.rpm \ libstdcplusplus8-8.3.0-6.aix7.2.ppc.rpm \ libtextstyle-0.20.2-1.aix6.1.ppc.rpm \ libgomp-8-1.aix7.2.ppc.rpm \ libgomp8-8.3.0-6.aix7.2.ppc.rpm \ gcc8-cpp-8.3.0-6.aix7.2.ppc.rpm \ mpfr-4.1.0-1.aix6.1.ppc.rpm \ gmp-6.2.1-1.aix6.1.ppc.rpm \ libmpc-1.2.1-1.aix6.1.ppc.rpm \ libstdcplusplus-8-1.aix7.2.ppc.rpm \ freetype2-2.10.4-1.aix6.1.ppc.rpm \ libpng-1.6.27-3.aix6.1.ppc.rpm \ bzip2-1.0.8-2.aix6.1.ppc.rpm 下の3パッケージが実は重要で、入れとかないと後にJProfilerのインストーラに怒られてしまう。 Error: fontmanager (Not found in com.ibm.oti.vm.bootstrap.library.path) このエラーをググったらヒットして汝freetype2を入れ給えとのありがたいお言葉をみつけたという絡繰りである。 インストールができたら以下のコマンドでVCN Serverを起動させる。 vcnserver JProfilerはJava11以降が必要なのでこれも入れる 私の場合は/opt直下にインストールした。 chmod +x ibm-semeru-certified-jdk_ppc64_aix_11.0.14.1.bin ./ibm-semeru-certified-jdk_ppc64_aix_11.0.14.1.bin (インストール場所を聞いてくれる) 環境変数の設定 インストーラに言われるがまま以下を設定する。 INSTALL4J_JAVA_HOME="/opt/jdk-11.0.14.1+1/";export INSTALL4J_JAVA_HOME 最後のスラッシュを忘れると動かないので注意。 VNC Viewerで繋いでいよいよJProfilerをインストールする hostname:5901でつなぐ。 ./jprofiler_aix_13_0.sh 起動した! 試用ライセンスはインストーラの指示通りにする ネットに繋がってるクライアント側でメールで貰って、頑張って手打ち。 (VNCのクリップボード共有をちゃんとやれば楽) やったぜ! 外部に繋がってないAIXってなんだよ この記事誰得だよって思いましたか? 俺もちょっと思う。でもレアな環境ってあるじゃないですか、とか言ってみたりして。 以下参考にさせて頂きました
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む