はてなキーワード: Windowsとは
スターバックスの無線LANは危険だという話を聞くようになった。
曰く、暗号化されていないし通信もセパレートされていないのだという。
これは裏を返せば「暗号化」されている公衆無線LANサービスは危険ではないと皆が考えているのだろうか?
だがそれは違うのである。WPA2-PSK(AES)を提供している公衆無線LANとスターバックスの無線LANサービスの間に危険性の違いが無い事を以下に示したいと思う。
まず前提知識として無線LANの暗号にはPSK(事前共有鍵)とEAP(拡張認証プロトコル)の二種類があるということを知っておいて欲しい。
ここでお話するのはすべてPSKに関する話である。WEPもWPA(2)-PSK(TKIP,AES)やらもすべて分類としてはPSKだ。
もしEAPを使用した公衆無線LANサービスがあればそれは別である。
さて、PSKで「暗号化」が提供されている無線LANサービスは利用するにあたって店側から接続するためのキーを渡されることになる。これは全員共通のものだ。
もう一度言おう。全員が同じ鍵を使っているのだ。
これが何を意味するかというと通信の開始時に別の鍵を作るような仕掛け(DH鍵共有など)をしないかぎりは、他の人の暗号化された通信も復号することが可能だという事である。
事実、Wireshark(ネットワークエンジニアがよく使うツールだ)を使えば通信の傍受から他人の通信の復号まで全部できてしまう。
では通信がセパレートされていないことについてはどうだろうか。
ここでいうセパレートとは同じ無線LANに繋いでいる他の人のPCと通信ができないようにすることだ。
通信をセパレートしておけば仮にWindowsのファイル共有が有効になっているようなPCを繋いでもPC内のファイルにアクセスされることはない……本当にそうだろうか?
あなたが悪意を持っているのなら実に簡単な方法がある。偽のアクセスポイントを設置すれば良いのだ。
ユーザから見てそれが本物のアクセスポイントか判別する手段は何もない。接続するための"共有"鍵はみんな知っているのだから。
お分かりいただけただろうか。暗号化されていても通信がセパレートされていても公衆無線LANというものは全く安全ではないのだ。
であるからして、暗号化されている公衆無線LANだろうと、暗号化されていない公衆無線LANだろうと、利用者としては同じだけのセキュリティを用意して使用しなければならないのだ。
サイト作ったよー! - はてコま! | はてブコメまとめ B!
このサイト作っていろいろ確認とかして「さーて公開」って思った矢先に自分の作ったサイトからこんな記事見つけて「うひゃー!」ってなりましたw
はてなブックマークのトップページって、正直なんか飽きちゃったし、スクロールせずに表示できるのが数エントリーだけで、やたらヘッダがでかかったり、広告がでかかったり、欲しい情報がほんのちょっとしか表示されないし、気のせいかエロいサイトのサムネイルが表示されなかったり、デザインもまじめくさいし、改善したらもっともっと使いやすくシャレオツになるし、アクセスも稼げるんじゃないのって思います。
私も自分のサイトを作ろうと思った経緯はこの方とほぼ同じです。。公式って少し見辛いって思っていました。
そんなときにはてブ1000users超え記事アンテナ(´・ω・)|トップページを見つけて「あぁ自分で作るか」ってなりました。
週6フリーターさんがいろいろと使用したものを紹介してくれて、あまり技術のない自分でも作ることができました!
この場をお借りして、お礼を申し上げます。ありがとうございます!
では、恒例化している感じがする、サイト作成にあたってのご報告です。
使い方はいたって簡単。タグを選ぶか検索すると最近のはてブ100以上の記事があがってきます。
最初、サイトを作るにあたって「フリーターさんのものと差別化したいなぁ」と思ったので、私は"はてブエントリーのコメント"を"見る"ものに仕上げようと思いました。
なんでコメントを見たいと思ったかという原因はこちらの記事です。
この記事を読んでる人にも感じた人がいると思うのですが、タイトルを読んで「?」となりませんか?
記事を読み進めていくと更に「NSLog」が問題なのか??と混乱しませんか?
最初のタイトルの印象が強すぎて、はてブのコメントを読んでやっと正確に判断できました。
なので、コメントをもうちょい読みたいなーと思い、こういったサイトにしました。
それと、フリーターさんのとこに書いてあるものを参考にさせてもらってます。
本当にありがとうございます。
Webサービスを作ったことがなかったのですが、HTMLやCSSは知っていましたので、ほとんどVimでコーディングし、ブラウザで確認するという普通の作業をしていました。
phpは勉強したことがなかったので、わからないことがあれば都度ネットで検索していました。
JavaScriptでFeedを取得したり、PHPを使ってAPIからJSONを取得など、ファイルがまとまっていない感があります。
実は、bootstrapで作ったナビゲーションバーのドロップボタンがスマフォだと押せないんですよね。。
こういう問題があるときにフレームワークを使ったのを後悔しますよね。
実に手軽に使えるbootstrapですが、なんとなく使うのはオススメしません。
ネット上には他にグリッドシステムだけや、違う素材を配布しているサイトがあるので、俺俺フレームワークを作ることをオススメです。(でも、まとまっているという観点でbootstrapは使いたいですよね。)
サーバーはさくらインターネットのホスティングサーバーを使用しています。
初めて、こういったサービスを作ったのですが、小さい微調整に非常に時間がかかりますね。
見難い、見易いを考えながらコードを変更して、ブラウザで確認して・・・を繰り返すのは時間がもったいないですね。どなたかいいノウハウをお持ちではないでしょうか?
みなさんも、こう立て続けにはてな関連のサービスが立ち上がると自分でも何か作りたくなりますよね。
思ったら作って便利な世の中にしましょう!えいえいおー!
結局イノベーションというのは有効期限があるわけでいろんな物事が加速化している今の世の中ではスマートフォンという世紀の発明の有効期限も短いものだったということなのだと思う。
Androidにシェアが追い付かれて、抜かされて、スティーブジョブス亡き後さしたる新機能も打ち出せず地図の使い勝手がいきなり悪くなるという意味不明な失態を演じたりでなんだかいまいちになりつつある。スマホ自体なんかもう伸びしろ見えちゃったなって感じだし、もうコモディティって感じだよねーという感じだ。膣カンジダ。次はまたどっか違う会社が新しい何かをもたらしてくれるんじゃないでしょうか。
ところで糞地図を平気でリリースしたアップルについて「これがいつものアップルだ」と信者の皆さんはおっしゃいますが、そのいつものアップルってパーソナルコンピューターのシェアを9割マイクロソフトに取られてる超マイナーブランドで「WindowsはMacをパクりまくってるんだ!わー」ってことでプライドを保っていた頃のアップルのことなのでしょうか。
とにかくぼくはもうアップルの天下はもうすぐ終わりなんだなあということをしみじみ感じ始めていて、とりあえず今のうちに文章にしたためておくことで予想が当たったときは「当たった!わーい」と思って外れたときは「外れた!えーん」と思おうと思う。
結局イノベーションというのは有効期限があるわけでいろんな物事が加速化している今の世の中ではスマートフォンという世紀の発明の有効期限も短いものだったということなのだと思う。
Androidにシェアが追い付かれて、抜かされて、スティーブジョブス亡き後さしたる新機能も打ち出せず地図の使い勝手がいきなり悪くなるという意味不明な失態を演じたりでなんだかいまいちになりつつある。スマホ自体なんかもう伸びしろ見えちゃったなって感じだし、もうコモディティって感じだよねーという感じだ。膣カンジダ。次はまたどっか違う会社が新しい何かをもたらしてくれるんじゃないでしょうか。
ところで糞地図を平気でリリースしたアップルについて「これがいつものアップルだ」と信者の皆さんはおっしゃいますが、そのいつものアップルってパーソナルコンピューターのシェアを9割マイクロソフトに取られてる超マイナーブランドで「WindowsはMacをパクりまくってるんだ!わー」ってことでプライドを保っていた頃のアップルのことなのでしょうか。
とにかくぼくはもうアップルの天下はもうすぐ終わりなんだなあということをしみじみ感じ始めていて、とりあえず今のうちに文章にしたためておくことで予想が当たったときは「当たった!わーい」と思って外れたときは「外れた!えーん」と思おうと思う。
iTunes Festivalをダウンロードしたいので備忘録。2012年ver.
WindowsでcurlとWiresharkをインストールしておくやり方。
1. Wiresharkでアーティスト名_index_vob.m3u8?token~のURLコピペ&curlでダウンロード(アーティスト名_desktopなんちゃらじゃない方。もしdesktopの方にしかtokenがついてなかったら、それを付け足してダウンロード)
2. テキストエディタで開くとxx.tsのファイル名が並んでいるので、以下のように上のファイルのURLと同じ文字列を追加
http://同じURL/xx.ts?token以下も同じ文字列
3. ファイルが500個くらいあるので適宜面倒じゃないやり方でダウンロード
tokenチケットさえついてれば普通のダウンローダーでもいけるし連番だからどうとでもなる。
最初からtoken込みで追跡できるsnifferなら3の手順だけでいいんだろうけど、探すのが面倒なので今年はこのやり方でいく。
えー!古いMacの話だったの?!それならなおさらWindowsも使いにくいじゃん!
むしろもっと引いたわwwいくらなんでも違いぐらいあるっつーの
すまんChromeが当たり前のように入ってる。Windowsも両方使うんで。
操作が逆に成ってるとかは べつに 戻せばいいだけでは? ダメなところを探せばWindowsもMacもそれぞれあると思うが。
ここで言ってる使いやすいとは、1回設定すれば終わり とかいう話を除外して より多くの時間 使い込む場合。という話で あくまでもブラウザだけで、イージーに見る場合だからな。
Windowsが256色拡張ボードがすげぇ!とか いってる時代から使ってるわけだが=クソ使い込んでるわけだが、
純粋にブラウザするだけならMacの方が使いやすいと思うぞ。 プログラム組むならWindowsの方が使いやすい。
ロングスキーのほうが安定してる、ショートスキーのほうが旋回性に優れている。みたいに、物性というものはあるしUXやUIにもある程度の法則性、規則性はあるからな。
慣れている以上の問題=直感的かどうか?があるよ。
PCメーカーによってWindowsのタスクバーとかスタートメニューが違う、なんてことはないだろ。
社内でド素人にバラバラのディストリビューションのLinux使わせるようなもんだよ。
言いたいことはわかるけどWindowsが無かったら不便な世の中になってたよ。
プログラムはclassに記述します。たとえばSampleという名前のclassを作る場合、Sample.csファイル内に次のように書きます。(C#の場合、ファイル名とクラス名は同一でなくても良い。複数のクラスを書いても良い)
public class Sample { }
プログラムはclass内のMainメソッドの先頭から実行されます。Mainメソッドは次のように書きます。
public class Sample { public static void Main( String[] args ) { // 処理を書く } }
Console.WriteLine( "Hello world" );
コメントです。
// 一行コメント /* 複数行コメント */
// 変数 int num;
データ型です。C#のデータ型には値型と参照型とがあります。以下は値型のデータ型です。
// int(整数)型 int num; // char(文字)型 char c; // float(単精度浮動小数点)型 float val; // double(倍精度浮動小数点)型 double val; // bool(論理)型 bool flag; // DateTime(日付)型 DateTime date;
以下は参照型のデータ型です。
// String型 String s; // 配列型 String[] array;
プログラムをコンパイルするには、コマンドラインで以下のようにします。
csc Sample.cs
プログラムを実行するには、コマンドラインで以下のようにします。
Sample.exe
mono ./Sample.exe
int、float、double型の変数に数値を代入できます。int型には整数だけ代入できます。float、double型には整数でも小数でも代入できます。
int i = 2; int i = 100000000; float num = 1.234f; double num = 1.234;
四則演算です。
num = 1 + 1; num = 1 - 1; num = 1 * 2; num = 1 / 2;
商の求め方です。割る数と割られる数が両方とも整数の場合、計算結果の小数点以下が切り捨てられます。
num = 1 / 2; // 0
割る数と割られる数のどちらかが小数の場合、計算結果の小数点以下が切り捨てられません。
num = 1.0 / 2; // 0.5 num = 1 / 2.0; // 0.5 num = 1.0 / 2.0; // 0.5
余りの求め方です。
// 余り mod = 4 % 2
インクリメントとデクリメントです。
// インクリメント ++i; // デクリメント --i;
String str = "abc";
// 結合 String join = "aaa" + "bbb"; // 分割 String[] record = "aaa,bbb,ccc".Split( "," ); // 長さ int length = "abcdef".Length(); // 切り出し "abcd".Substring( 0, 2 ) // abc // 検索 int result = "abcd".IndexOf( "cd" ) // 見つかった場合はその位置、見つからなかった場合は-1が返る
配列です。
// 配列の宣言 int[] array;
配列の生成です。配列の生成時には要素数を指定するか、初期データを指定します。
int[] array; // 要素数を指定して配列を生成 array = new int[5]; // 初期データを指定して配列を生成 array = new int[] { 1, 2, 3 }; // 宣言と同時に配列を生成 int[] array2 = new int[5];
配列の要素の参照と代入です。
// 要素の参照 array[0] array[1] // 要素の代入 array[0] = 1; array[1] = 2;
array_num = array.Length;
int[] from = new int[] { 1, 2, 3 }; int[] to = new int[5]; from.CopyTo(to, 0);
if文です。
if ( 条件 ) { }
if ~ else文です。
if ( 条件 ) { } else { }
if ~ else if文です。
if ( 条件 ) { } else if ( 条件 ) { }
while文です。
int i = 0; while ( i < 5 ) { // 処理 ++i; }
for文です。
for ( int i = 0; i < 5; ++i ) { // 処理 }
int[] fields = new int[] { 1, 2, 3 }; foreach (int field in fields) { // 処理 }
C#では関数をメソッドと言います。メソッドを作るには次のようにします。戻り値を返却するにはreturn文を使います。
static int sum( int num1, int num2 ) { int total; total = num1 + num2; return total; }
ファイル入出力です。ファイル入出力を行うには、プログラムの先頭に以下を記述します。
using System.IO;
以下がファイル入力の雛形になります。ファイルのオープンや読み込みに失敗した場合、catch節に処理が移ります。
String filename = "text.txt"; StreamReader reader = null; try { reader = new StreamReader(filename); String line; while ((line = reader.ReadLine()) != null) { } } catch (IOException e) { // エラー処理: } finally { if (reader != null) { try { reader.Close(); } catch (IOException e) { } } }
またはC#ではusing ステートメントと言うものがあり、この様にも書ける
String filename = "text.txt"; using (StreamReader reader = new StreamReader(filename)) { try { String line; while ((line = reader.ReadLine()) != null) { // 読み込んだ行を処理 } } catch (IOException e) { // エラー処理: } }
usingをつかうとCloseがなくなったことからわかるようにusing(){}を抜けるときに自動的にDisposeメソッドを呼び出し、オブジェクトを廃棄する。その分コードがスッキリするが、使いにくい場面もあるので考えて使うこと。
以下がファイル出力の雛形になります。ファイルのオープンや書き込みに失敗した場合、catch節に処理が移ります。
String filename = "text.txt"; StreamWriter writer = null; try { writer = new StreamWriter(filename)); writer.WriteLine("abc"); writer.WriteLine("def"); writer.WriteLine("fgh"); } catch (IOException e) { // エラー処理: } finally { if (writer != null) { writer.Close(); } }
こちらもusingを使って書ける。が、割愛する。
C#でよく出てくる知っておいたほうがよい文法の一覧です。
繰り返し文の途中で抜けるにはbreak文を使用します。
for ( i = 0; i < 5; ++i ) { if ( 条件 ) { break; // 条件を満たす場合、for文を抜ける。 } }
残りの部分処理をスキップし、次の繰り返しに進むにはcontinue文を使用します。
for ( i = 0; i < 5; ++i ) { if ( 条件 ) { continue; // 条件を満たす場合、残りの部分処理をスキップし、次の繰り返しに進む。 } }
例外を投げるにはthrow文を使用します。
throw new Exception( "Error messsage" );
try { // 例外が発生する可能性のある処理 } catch ( Exception e ) { // 例外発生時の処理 }