タグ

ブックマーク / qiita.com (396)

  • 野良wifiの危険性を検証するため、実際に通信を傍受してみる! - Qiita

    野良wifiが気になったきっかけ たまに外でスマホ使ってる時に見たい動画とかあったとき、みなさんどうしますか? 通信量の上限が数GBに制限されている昨今、普通に見ちゃうとすぐに上限に達しちゃいますよね。 通信量を節約するために、お店が提供しているwifiとかにつなぐこともあると思いますが、危ないっていう噂も聞きます。 いったいどんな危険性があるのか、実際に検証してみました。 作戦 今回、自分は攻撃者になったつもりで、隣の席に座ってるエンジニアのNくんに対して攻撃を仕掛けます。 Nくんのスマホの通信を傍受して、どんなサイトみたりしてるのかとかを覗き見していきます。 攻撃手法 MITM(Man In The Middle attack)「中間者攻撃」というものを使います。 クライアント(PCやスマホ)と通信先のサーバ(各種サイト)の間に入って、通信している内容を読み取る攻撃です。 環境準備 今

    野良wifiの危険性を検証するため、実際に通信を傍受してみる! - Qiita
  • nimコレクション操作 - Qiita

    概要 nimのコレクション操作をコツコツと。 algorithm tables sets lists queues critbits intsets 以下メモ 同じ値で埋める(fill) import algorithm,tables,hashes,math import sets,lists,critbits,sequtils,queues,intsets,strutils block: var ary : array[0..3,int] # 範囲指定なし fill(ary,1) for x in ary: echo x # 範囲指定 fill(ary,0,3,5) for x in ary: echo x

    nimコレクション操作 - Qiita
  • nimのパッケージマネージャnimbleによるプロジェクトテンプレート - Qiita

    概要 なんとなくあるんだなーぐらいにしか感じていなかったnimbleについて、ビルドに関する部分を調べてテンプレート化してみました。 (2019/09/28追記) Nim-1.0.0に対応しました nimbleのプロジェクト管理機能について nimbleのタスクはいくつかあるのですが、プロジェクト管理機能は、以下の4つくらいです。 * nimble init 新規プロジェクト作成 * nimble build プロジェクトのビルド * nimble test テスト実行 * nimble install リリースビルド&~/.nimbleへのインストール nimble initによりカレントディレクトリに*.nimbleファイルのみが生成されます。 その後、ソースはsrc/フォルダ配下にするとか、実行モジュールはbin/フォルダに生成するなどの設定は、生成された*.nimbleファイルに記

    nimのパッケージマネージャnimbleによるプロジェクトテンプレート - Qiita
  • Nim に入門してみて予想通り最高のプログラミング体験ができている件 (1) ~ 変数・制御構文・プロシージャ編 - Qiita

    この記事について GW 暇だったので、かねてより気になっていた Nim と戯れてみました。Nim の言語機能の一部を簡単にご紹介します。 下記の記事とそのリンク先に、基的な情報はほとんど載っていますので、まだの方はそちらもどうぞ。 至高の言語、Nimを始めるエンジニアへ - Qiita シリーズ記事では Nim by Example のお題に沿って進め、後半にはプラスαで、外部モジュールの使い方なども書く予定です。 編(第1回)には以下の項目が含まれます。 - 変数 - 制御構文 - プロシージャ Nim の特徴 静的型付け、型推論あり インデントによりブロックを分ける(Python っぽい) C/C++, Objective-C, JavaScript へコンパイル可能 C/C++, Objective-C のライブラリをインポートして使える 変数宣言: const, let, v

    Nim に入門してみて予想通り最高のプログラミング体験ができている件 (1) ~ 変数・制御構文・プロシージャ編 - Qiita
  • [Go言語] もしも童話「シンデレラ」が、Goで書かれていたら。 - Qiita

    シンデレラがGoで書かれていたら。 という妄想です。 少し長いですがお付き合いください。 TL;DR ソースはここにおいてます https://github.com/lboavde1121/cinderella あらすじ 以下あらすじ。 シンデレラは、継母とその連れ子である姉たちに日々いじめられていた。 あるとき、城で舞踏会が開かれ、姉たちは着飾って出ていくが、シンデレラにはドレスがなかった。 舞踏会に行きたがるシンデレラを、不可思議な力(魔法使い、仙女、ネズミ、母親の形見の木、白鳩など)が助け、準備を整えるが、魔法は午前零時に解けるので帰ってくるようにと警告される。 シンデレラは、城で王子に見初められる。 零時の鐘の音に焦ったシンデレラは階段にを落としてしまう。 王子は、を手がかりにシンデレラを捜す。 姉2人も含め、シンデレラの落としたは、シンデレラ以外の誰にも合わなかった。 シン

    [Go言語] もしも童話「シンデレラ」が、Goで書かれていたら。 - Qiita
    jiroron666
    jiroron666 2018/11/21
    面白い
  • いまから始めるCommon Lisp - Qiita

    この記事はLisp Advent Calendar 2017の二日目の記事です。 はじめに この記事は、Common Lispという初めての人には初めましてな言語の入門記事です。 この世には、Common Lispというとってもカッコいい言語が存在します。その言語はANSIで規格が定められており、宇宙空間で動いたり深海で動いたりし、メタプログラミングが可能で、しかもC言語並に速いという、超クールな言語なのです。 歴史あり、逸話ありのLispであって、実用的と言われるLispです。そんな言語、いますぐに始めてみたいと思いますよね? しかしググってみると、なんだか処理系っていうの (?) がたくさんあったりしてどれを選んでいいのかわからない。rbenv的なものはないの? パッケージマネージャは? アプリケーションのビルドとかどうしたらいいの? ぱっと実用的なプログラムをどう書いたらいいかわから

    いまから始めるCommon Lisp - Qiita
  • julia 0.6からjulia 1.0への移行 - Qiita

    Abstract julia 1.0がリリースされました.今までのjulia 0.6から1.0へ移行する際の変更点を随時残しておこうと思います. この記事ではjulia 0.6からjulia 1.0への変更点を記録していくので両方のバージョンを扱えたほうが便利です.macOSの環境構築に書いたようにjuliajulia 1.0を,juliaoldでjulia 0.6の環境を立ち上げられるようにしておきます. パッケージ管理 julia 0.6ではjuliaのREPLにおけるjuliaモードにおいてPkg.add("Example")などとしていたわけですが,julia 1.0以降では新たにpkgモードというのができたようです.juliaモードにおいて]と入力すると左のほうがjulia>から(v1.0) pkg>のように変わると思います.この状態でadd Exampleとするとパッケージが

    julia 0.6からjulia 1.0への移行 - Qiita
    jiroron666
    jiroron666 2018/11/20
    pkg mode
  • Ansible ファイルを書き換える方法 - Qiita

    サーバー構築作業を行う際、設定ファイルに何かを書く作業は欠かせない。 Ansibleは多数のモジュールを提供していて人によって設定ファイルの書き方は様々だ。 この記事は私なりのベストプラクティスであり、正解ではない。 command系(shell含め) command系は使い勝手がいいが、冪等性が保証されない。 これはAnsibleだけではなくChefとかも同じだ。 そもそも何が実行されるのか分からないので、Ansibleが冪等性を保証することはできない。 使用者が直接やるしかない。 ファイルが存在したらTaskを実行しないとかプロセスが立ち上がったらTaskを実行しないとかなど。 command系のTaskはPlaybookを実行するたびに毎度実行される。 最初1回だけ実行したい場合は「args」のcreatesを追加する。 - name: create a file shell: ec

    Ansible ファイルを書き換える方法 - Qiita
    jiroron666
    jiroron666 2018/11/20
    replace
  • お前らもさっさとハマって泣くべきCentOS7の落とし穴4つ - Qiita

    CentOSの6から7への移行時、何度かつまづいた箇所があったので紹介します。 前提知識 6と7のミドルウェアの違いやSystemdの基的な使い方はこのあたりを参考にしてください。 CentOS6とCentOS7の比較表 保存版 CentOS7とCentOS6との違いまとめ 落とし穴1: 消える/tmp CentOS7にtmpwatchは入っていません。 だからといって何も考えずに/tmp下にキャッシュ等の一時ファイルを吐き出していると、 いつの間にか消去されていて泣くハメになります。 CentOS7にはtmpwatchはありませんが、その代わり systemdsystemd-tmpfiles-clean.timer がその役割を担っています。 このサービスはtmpwatchと同じように、/tmp下に使われていないファイルを一定期間経つと削除します。 消されたくないファイルがあるのな

    お前らもさっさとハマって泣くべきCentOS7の落とし穴4つ - Qiita
  • 多段SSHの設定を.ssh/configにまとめる - Qiita

    概要 踏み台サーバを経由した多段SSHの設定をconfigにまとめる方法 接続するマシンは、WANやゲートウェイ内のネットワークのいずれにも属する可能性があると想定(ノートPC等) ネットワーク図 図のようにゲートウェイ経由でしかアクセスできないネットワーク内にさらにゲートウェイがあるネットワークを想定 単純な多段SSHの書き方 host gateway HostName sshgate.hoge User hoge Host RemoteHost-out HostName RemoteHost User fuga ProxyCommand ssh -W %h:%p gateway 上記の設定を~/.ssh/configに書いた後、 ssh RemoteHost-out でgateway経由でのアクセスが可能 複数に同時に設定を適応する場合 .ssh/configには複数の設定をワイルドカ

    多段SSHの設定を.ssh/configにまとめる - Qiita
  • C++erのためのRust入門(未完) - Qiita

    新しい言語を勉強したかったので、Rustを始めてみる。 Rustを選んだ理由 候補言語としては、D, Go, Rustがあった。 そのうちでRustを選んだのは次のような理由からだった。 演算子オーバーロードが使いたかった Goには演算子オーバーロードがない ジェネリクス(テンプレート?)が欲しかった Goにはジェネリクスがないらしい ガーベッジコレクタ(GC)が気に入らない GoもDもGCをオフにすることはできるらしいが、たぶん普通のことではないだろう 念の為に言っておくと、GoとDには何の非もない。 私が大きな変化についていけないだけのことである。 Rustのリリースの種類 Nightly masterブランチの日ごとの最終成功ビルド、新機能が追加される。 Beta 6週ごとにNightlyから昇格、Stableに向けてバグフィックスが行われる。 Stable 6週経ったBetaが昇格

    C++erのためのRust入門(未完) - Qiita
  • RewriteRuleのフラグと、RewriteCondの変数一覧 - Qiita

    2018-10-09 追記 参考・引用のサイトURLが変わっていたので修正。片方は見つからず。 フィッシングサイトに飛んでたので踏まれた方、ご迷惑おかけしました。 @yayamamo さん、ご指摘ありがとうございました。助かりました。 この辺、便利だけどたまにしか使わんから忘れますよねー ということで、使いそうなもののみ抜粋。

    RewriteRuleのフラグと、RewriteCondの変数一覧 - Qiita
  • Re−frame 入門 - Qiita

    以前、Om はじめの一歩, 入門 Om Next といった React の ClojureScript ラッパーの記事を書きました。今回も、TODOリストを題材に Re-frame での基的な書き方を確認してみたいと思います。 Re-frame とは ClojureScript には React のラッパーがいくつかあります。前述の Om、Om Next や Reagent、 最近だと Rum なども見かけます。Re-frame はこの React ラッパーの1つである Reagent のフレームワークという位置づけで、Reagent ベースで SPA を作る際の共通となる枠組みを提供します。この提供される枠組みは Redux により提供される枠組みに近く、JavaScript における React+Redux での開発、Swift における ReSwift を使った開発など、他の言語で

    Re−frame 入門 - Qiita
  • leiningenでjarファイル作成のメモ - Qiita

    (defproject sample "0.1.0-SNAPSHOT" :profiles {:uberjar {:main sample.core, :aot :all}} ;追加 )

    leiningenでjarファイル作成のメモ - Qiita
  • Linuxコマンドは単語の意味を理解するとグッと身近なものになる - Qiita

    新人の頃、ファイルの中身を確認するためにcatコマンドを使ったら怒られました。当時はlessやviewなんてコマンドがあるのも知りませんでしたし、周りもcatで中身を見ていたのでそれが当たり前だと思っていました。 まぁ、でもそれもそのはず、catはcatenateの略で連結するという意味があります。というわけで、多分普段よく使っているであろう17コマンド(+2オプション)の意味を調べてみました。 2014/11/18追記 cd, pwdの追記を行い19コマンドになりました。また、@Fool_Yahooman が他の17コマンドの解説をコメントしてくださっているのでこちらも是非。 command complete expression meaning

    Linuxコマンドは単語の意味を理解するとグッと身近なものになる - Qiita
  • sudo のセキュリティ(ごく一部CentOS7対応) - Qiita

    見失うと、結構たどりつくのに時間がかかるのでメモ 参考サイト: ユーザの実行権限を柔軟に割り当てるsudoのリスクとメリット sudoで実施した操作をログに残す sudo 時に root のパスワードを使う sudoとは ユーザーが別のユーザーの権限レベルでプログラムを実行するためのコマンドである。一般的に、ユーザーがスーパーユーザー(superuser、すなわちroot)の特権レベルを利用する際に用いられることが多い。 (Wikipediaより) 注意点 盲目的にsudoを使えるようにすると、以下の様なセキュリティの穴にもなってしまいます。 「ログインできるユーザ全員」がroot権限を持つ 「rootユーザのパスワードを知らなくても」root権限のコマンドが実行できる (ユーザのパスワードがクラックされる=root権限のコマンドも実行可能となる。) 2019.10.15以前のシステムは必

    sudo のセキュリティ(ごく一部CentOS7対応) - Qiita
  • ec2-userをころす - Qiita

    EC2インスタンスを立てて、一通りユーザー作ったりログインの設定したりした後にセキュリティ的にec2-userというみんなが知ってるユーザーがリモートログインできると心配になることがあると思います。 そんなときの対処法です。 ※他のユーザーで問題なくリモートログインできることを確認した後に行って下さい!! ログインできなくするだけでいい場合 ころす $ ssh -i /path/to/key-file -l ec2-user $host # 目的のインスタンスじゃないマシンからリモートログインを試みる Last login: Mon Aug 7 03:56:27 2017 from xxxx.xxxx.xxxx.xxxx __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-

    ec2-userをころす - Qiita
    jiroron666
    jiroron666 2018/11/11
    userdel
  • Ubuntu (KDE)で日本語入力 [fcitx mozc] - Qiita

    sudo apt install fcitx fcitx-mozc fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-frontend-qt4 fcitx-frontend-qt5 fcitx-ui-classic kde-config-fcitx mozc-utils-gui # 環境変数に必要なものを追加(zshの人は.bash_profileを.zprofileに) echo 'export XIM_PROGRAM=fcitx' >> ~/.bash_profile echo 'export XIM=fcitx' >> ~/.bash_profile echo 'export GTK_IM_MODULE=fcitx' >> ~/.bash_profile echo 'export QT_IM_MODULE=fcitx' >> ~/.bash_

    Ubuntu (KDE)で日本語入力 [fcitx mozc] - Qiita
    jiroron666
    jiroron666 2018/11/11
    Ubuntu18.04のKDEで sudo apt install fcitx fcitx-mozc だけして再起動したら日本語入力できるようになった。
  • JavaScriptの { } を理解する - Qiita

    結果はどうなったでしょうか。 自分が今使っているGoogle Chromeだとこうなりました。 結果は{a: 10}というオブジェクトです。まあ、これは当然ですね。3 + 5と入力すれば実行されて8が返ってくるのですから、{a: 10}というオブジェクトリテラルを書けば{a: 10}というオブジェクトが作られるのは当然です。 ……。 ここで、一部の人は「おいふざけんなよ」と思っているかもしれません。というのも、この例は環境によっては違う結果になるのです。具体的には、Chrome以外2のブラウザのREPL(FirefoxやEdgeなど)が該当します。あと、ts-nodeのREPLも該当するらしいです。これらの環境では、結果は{a: 10}ではなく次のようになります。 オブジェクトを作ったはずなのに結果が10とか意味不明ですね。そもそも、こんな簡単なプログラムで結果が全然違うとか、JavaSc

    JavaScriptの { } を理解する - Qiita
    jiroron666
    jiroron666 2018/11/09
    replだけを信じるのは危険か…
  • Dockert調査 ~ログ編~ - Qiita

    今日は、Dockerのログについて調べたいと思います。 運用するにも、開発で利用するにもログを出力するということは非常に重要です。 私は運用で使用するプログラムでは、よくsyslogに対して出力をすることが多いです。 また、開発中にはprintなどの標準出力、エラー出力を利用することが多いです。 Dockerではどのようになっているのでしょうか。 Dockerのログ出力 デフォルトは? Dockerのデフォルトの出力は、JSON形式で保存されています。 コンテナ起動 まず、コンテナを起動してコマンドを実行してみましょう。 # docker run -it -v /dev/log:/dev/log --name test01 centos:6 /bin/bash [root@ca4bd7b2ad6a /]# ps -ef UID PID PPID C STIME TTY TIME CMD r

    Dockert調査 ~ログ編~ - Qiita
    jiroron666
    jiroron666 2018/11/08
    /var/lib/docker/containers/(コンテナID)/(コンテナID)-json.log