標準オプション 非標準オプション オプションのカテゴリと設定 jcmd によるオプションの確認 プラットフォーム固有のデフォルトチューニングフラグ プラットフォーム別のコンパイラ指定 主要なオプション 標準オプション -help または -? で標準オプションが確認できる。 $ java -help 使用方法: java [-options] class [args...] (クラスを実行する場合) または java [-options] -jar jarfile [args...] (jarファイルを実行する場合) optionsには次のものがあります。 -d32 使用可能な場合は32ビットのデータ・モデルを使用する -d64 使用可能な場合は64ビットのデータ・モデルを使用する -server "server" VMを選択する場合 ・・・ 非標準オプション -X とすると非標準のオプシ
ひとつの事実が1か所にしか記録されないようにする――これはDB構造を正規化する際の基本だが、このルールを意図的に違反すること(正規化崩し)で、効果的なDB構造が生み出されることがある。正規化崩しは高速化のためだけにあると思われがちだが、それ以外の目的もある。そのような正規化崩しのテクニックとして、「抽象化(汎化)」を取り上げよう。 説明の前に、正規化崩しに関して大事なことを言い添えておきたい。勘違いしている技術者がいるが、正規化崩しとは「正規化してから崩す」という意味である。本来の正規形を経由せずに非正規形になっているとしたら、正規化崩しではなく、単なる「無手勝流」でしかない。 では、いったん正規化してから崩すことがなぜそれほど重要なのか。事前に「更新時異状(更新処理にともなって発生するデータの不整合)」に対処しておくためだ。正規化崩しにせよ無手勝流にせよ、そのままでは遅かれ早かれ更新時異
「関数型オブジェクト指向AIプログラミング」に載っていなかったのでやっていなかったが、フラクタルで一番有名なものは多分マンデルブロだろう。 というわけでこれもClojure&Quilで書いてみる。 今まで書いてきたフラクタルに比べてかなり複雑な概念である。複素数を二次元で表して(いわゆる複素平面)、マンデルブロ集合に含まれる点に色をつけていくと出来上がる。 とりあえずnamespaceの定義: (ns mandelbrot (:require [quil.core :as q] [quil.middleware :as m])) 複素数をベクトルで表すことにするので、それを踏まえて複素数の足し算・掛け算・絶対値の二乗を定義する: (defn +c [[a i] [b j]] [(+ a b) (+ i j)]) (defn *c [[a i] [b j]] [(- (* a b) (* i
シンボリック実行とは、プログラム上の変数をシンボルとして扱い、シンボルに対する一連の操作を分析することで条件を満たす入力値を特定するプログラム解析手法である。 ここでは、CTFチームShellphishが開発しているバイナリ解析ツールangrを使い、簡単なプログラムに対してシンボリック実行を適用してみる。 環境 Ubuntu 14.04.4 LTS 64bit版 $ uname -a Linux vm-ubuntu64 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubun
N-Queen問題に続いて騎士の巡回。 (defn knight-tour [n] (let [board (set (for [i (range n) j (range n)] [i j])) dirs (for [a [1 2] i [-1 1] j [-1 1]] (let [b (- 3 a)] [(* i a) (* j b)])) tour (fn f [pos visited i] (if (= (* n n) i) visited (let [reachable (->> dirs (map #(map + pos %)) (filter board) (remove visited) (map vec))] (some->> reachable not-empty (map #(f % (assoc visited % i) (inc i))) (remove nil?)
qira(QEMU Interactive Runtime Analyser)は、George Hotz(geohot)氏が開発している高機能トレーサーである。 qiraは実行時のレジスタ、メモリ操作をすべて記録することにより、特定の命令アドレスを実行しているタイミングや特定アドレスのメモリ読み書きが行われているタイミングを検索することができる。 また、複数回の実行におけるトレース結果を互いに比較することができる。 ここでは、簡単なプログラムコードを用いてqiraを使った解析をやってみる。 環境 Ubuntu 14.04.4 LTS 64bit版 $ uname -a Linux vm-ubuntu64 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU
;; local file (slurp "foo.txt") (slurp "/tmp/foo.txt") (slurp "file:///tmp/foo.txt") (slurp (java.io.File. "/tmp/foo.txt")) (slurp (java.io.FileInputStream. "/tmp/foo.txt")) (slurp (java.net.URL. "file:///tmp/foo.txt")) (slurp (java.net.URI. "file:///tmp/foo.txt")) ;; remote resource (slurp "http://clojuredocs.org/") (slurp (java.net.URL. "http://clojuredocs.org")) (slurp (java.net.URI. "http://cl
こんにちは、ホリデー株式会社の内藤です。Holiday ( https://haveagood.holiday/ ) というサービスの開発を行っています。 先日開催した Cookpad TechConf 2016 では、『おでかけスポット検索のむずかしさ - Holiday を支える検索技術』という題で発表を行いました。 おでかけスポット検索のむずかしさ - Holidayを支える検索技術 from Yusuke Naito www.slideshare.net この発表では、 おでかけスポットの検索では、全文検索だけでは満足のいく結果は得られない 地理空間検索に拡張することでよりよい検索体験を作ることが可能 これを実現するための Elasticsearch の機能を紹介 というような内容を紹介しました。 例えば、我々が「中目黒」を思い浮かべた時にイメージするエリア内の住所には、「中目黒」
メモです。 Goをインスコするためにgvmをインスコする Ubuntu使ってるんですがaptにあったのなんかすごい古いっぽかったのでソースインストールかなぁと思ってたら、どうやらgvmと言うrbenvみたいなやつがあるらしくそれ使ったほうがいいとのことです。 gvmをインスコするためにgvmを削除する gvmって聞いて、あれ?Groovyでもそんなんなかったっけ?と思ったらやっぱりありました。なんかそれでgvmはsdkmanに名前変わったらしいです。 gvm(groovyの方)は起動して指示に従えばさくっとsdkmanに更新され、互換性のために.gvmディレクトリが.sdkmanディレクトリへのシンボリックリンクに変わったり、gvmコマンドがsdkコマンドへのaliasに変えられたりします。 が、この状態でgvm(golangの方)をインスコするといろいろ競合してつらい思いをすることになる
※追記 F# Advent Calendar 2014 - connpassの26日目の記事になりました。今年は一切アドベントカレンダー参加してなかったのに25日越えてほとんど縁遠かった分野のアドカレに参加することになるとは…。 GoでHelloWorld出来たのでGo完全にマスターした 2014-01-16 14:10:52 via Janetter java8完全にマスターした URL 2014-03-21 13:48:59 via YoruFukurou StreamAPI完全にマスターした 2014-09-20 01:58:56 via mixvTweet golangの環境完全にマスターした 2014-11-27 17:09:12 via Janetter tmux完全にマスターした 2014-12-16 18:02:22 via Janetter 今までも数多くの物事を完全にマ
recordsやらschemaやらspecterやらSTMやらの勉強に、小さめのプロジェクトをやってみたいなーと思っていたらRich Hickeyの古いプレゼンで良さげなものがあったので調べている。 www.youtube.com サムネの画像は非常に有名というかRich Hickeyの教祖ちっくなところが出ていて面白い。 このプレゼンのケーススタディとして「蟻の群体としての動きを個別の蟻の非常に簡単なルールベースの行動パターンからシミュレートする」というプログラムが出てくる。 そのプログラムのソースがこれとのこと。載せているのはRich Hickeyではないが。 とりあえずConcurrencyなしで書いてみて実際のロジックを理解した上で、Concurrency付きでも書いてみたい。 今の所、世界の作成と表示まで。これからティックごとに世界を更新するUpdate-World関数を書いてい
» 国際ノーダイエットデー記念! 2016年に訪ねたオススメの店10選 / ローストビーフ丼・寿司・から揚げ食べ放題など 特集 私(佐藤)は以前から不思議に思っていることがある。テレビCMでは「結果にコミット」とか、「脂肪と糖に効く」とか言って痩せよう! みたいな雰囲気を出しているのに、テレビ番組では「芸能人オススメの激ウマグルメ」とか言って、食わせようとしている。痩せさせたいのか、食わせたいのか、どっちなんだよッ! ハッキリしろよッ!! もうウンザリだ。痩せたいよ、そりゃ痩せた方がいいだろうよ。でも、毎日いろいろ見せられていると、年に1回くらい、そのことを忘れたいんだよ。ということで、今日5月6日は「国際ノーダイエットデー」ということなので、2016年に訪ねた美味しそうなお店をあらためて紹介するよ! ・2016年に訪ねたオススメの店10選 1. 【肉好き必見】丼を埋め尽くす肉に笑いが止ま
さくらVPSで、Let’s Encryptのサーバ証明書を使って、SSL対応のサイトを作る設定手順 注意 以下はあくまで結城の個人的なメモです。 前提 さくらVPSを使ってWebサイトを運用している。 独自ドメインを持っている。 VirtualHostを使っている。 目標 いままで http://www.example.com で運用していたサービスを https://www.example.com で運用したい。 無料で使えるLet’s Encryptを試す。 方法 作業はすべてSSHで接続したさくらVPS上で行っています。 注意: 以下の内容は古いです。インストールについては Apache on CentOS/RHEL 7 を参照してください。 $ cd $ sudo /etc/rc.d/init.d/httpd stop $ sudo yum update $ git clone h
話題 タグ:印象が変わる言葉遣い小笠原流礼法宗家 言い方を少し替えるだけで、相手への伝わり方、印象が変わる言葉遣いというものがある。著書に『美しい日本語の作法』(小学館)などがある小笠原流礼法宗家の小笠原敬承斎さんが厳選。まずは、声に出して読んでみましょう。 「品格を上げる言葉は、若い頃は使うことに抵抗があっても、年齢を重ねるとますます似合うものです。ぜひ日常会話から使っていただきたいです」(小笠原さん) その際に、気をつけるべきは声のトーンだという。 「“失礼しま~す”と語尾を伸ばすと、途端に軽く子供っぽい印象に。また、語尾を上げると疑問形になり、これもスマートではありません。自分の発した言葉を見届けるイメージでゆっくりと話し、語尾は余韻をもって切る。これだけで落ち着いた印象を与えます」(小笠原さん) ◆「そうですか」→「左様でございますか」 左様は「然様」とも書き、然るべき、その通りと
「LD_PRELOAD injectionでOpenSSLによる暗号化処理を覗いてみる」では、Linux環境におけるOpenSSLを使った暗号化処理を覗いてみた。 ここでは、「IAT書き換えによるAPIフックをやってみる」と同様の方法にて、Windows環境におけるWindows APIを使った暗号化処理を覗いてみる。 環境 Windows 8.1 Pro 64 bit版、Visual Studio Community 2013 with Update 4 >systeminfo OS 名: Microsoft Windows 8.1 Pro OS バージョン: 6.3.9600 N/A ビルド 9600 OS ビルドの種類: Multiprocessor Free システムの種類: x64-based PC プロセッサ: 1 プロセッサインストール済みです。 [01]: Intel64
Programming by poking: why MIT stopped teaching SICP | posterior science このNYC Lisp meetupの動画で、Gerry Sussmanに対する質問として、SussmanとAbelsonの古典、The Structure and Interpretation of Computer Programs(SICP)に基づく、伝説的な6.001講義をなぜMITはやめたのかと聞かれている。 Sussmanの回答としては、SussmanとHal Abelsonは1980年代から延々と教え続けるに嫌気が差し、1997年に、学部長の事務所に行って、「俺らはやめる。後どうするからは勝手に考えろ」と宣言した。より重要なこととしては、SICPのカリキュラムは、今日のエンジニアリングに求められるエンジニアを育てることができないからで
皆様肉料理はお好きでしょうか? 筆者はもちろん大好きです。 やっぱり肉特有のジューシー感、ボリューム、そして味などがたまらないんですよね! さて、今回は煮鶏なんですが、材料にコーラを使います。 「コーラで煮るなんて正気か?」 なんて思うかもしれませんが筆者は本気です! コーラで煮込むと実はこんないいことがあるんです。 ・肉がめちゃくちゃ柔らかくなる。 ・自然な甘みが肉に染みこんで旨い。 以下がそのレシピになります。 材料・費用 1、鶏の手羽元 3本(約180g) 162円 2、コーラ 約500ml(手羽元の全体が沈むくらい) 79円 A、醤油 大さじ4 B、塩こしょう 小さじ1 計、241円 作り方 1、鍋に材料全てを入れる。 2、中火で15分煮込む。 3、灰汁をざっと取り除き、落し蓋をする。 4、弱火にしてさらに15分煮込む。 ワンポイ
不定期連載、Node.jsのcheerio-httpcliによるWebスクレイピング講座です。今回は具体的なcheerio-httpcliの使い方をみていきましょう。cheerio-httpcliが公開されてるGithubリポジトリには、豊富なサンプルがあります。サンプル例としては下記の通りで2016年5月現在で11本もあり、これを読んでると一通りの使い方が解ってきます。ということで、サンプル読みながら紹介してみます。 2ちゃんねる検索サンプル 1つ目のサンプルは、2ちゃんねる検索のサンプルです。特定のワードを入れて、その検索結果を表示するという形です。 まず2ちゃんねるの検索部分がどうなっているかです。サイト上は、下記のとおりです。シンプルですね。 HTMLのソースは次のような形になっています。 <div style="display: inline; margin-left: 2.0e
少し間が空きましたが、cheerio-httpcliの使い方です。cheerio-httpcliは、HTMLパーサーであるcheerioに、文字コード変換のiconvを組み合わせたHTTPクライアントモジュールで取得したコンテンツの文字コードを良しなにUTF-8に変換してくれます。HTMLの解析&取得自体はcheerioのラッパーなので、DOM指定でHTMLの要素を取得するといったことが簡単に出来ます。cheerioを上手い感じに補っているので、cheerio-httpcliはWebスクレイピングに最適なモジュールとなっています。 cheerioのDOMセレクト機能 cheerio-httpcliを見る前に、生のcheerioの機能を見てみましょう。そこでまず、基本中の基本であるHTML中から任意のタグを指定して取得するDOMセレクトの機能です。この部分については、cheerioのGith
Conway's Game of LifeをClojureで実装してみる。 何となく簡単そうだったので試してみたら、やっぱり簡単だった。 主要なロジックはnext-round関数にほぼ収まりきっている。個人的にはかなり宣言的にゲームのルールを記述するところが大部分を占めているように思うのでプチ満足。 (defn next-round [live-cells] (letfn [(surrounding [[cell-x cell-y]] (for [x [-1 0 1] y [-1 0 1] :when (not (= 0 x y))] [(+ cell-x x) (+ cell-y y)])) (living-count [cells] (count (clojure.set/intersection live-cells (set cells)))) (dead-to-life? [de
iPhone のSIMカードの交換(初体験) 2016-06-16-2 [iPhone][Diary] 何かしらの事情により、会社支給の iPhone 6 のSIMカードを交換することになりました。SIMカードの交換は初めての経験なのでメモしておきます。 必要なものは、SIM交換用のピンと事前に配布された新しいSIMカード、それともちろん iPhone も。 SIM交換用ピンは iPhone の箱に入っています。iPhone 5s の箱に入っていたやつを使いました。 まずは電源をオフにして、SIMを取り出します。 iPhone の側面にある小さい穴(SIMトレイの穴)にピンをまっすぐ奥まで差し込むとカチッと何かが外れて、トレイが少し飛び出します。 (最初よく分からなかったので、穴の中でピンをぐちゃぐちゃかき混ぜたり、引っ掛けて引っぱり出そうと苦労していましたが、単に奥まで差すだけです。)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く