アルゴリズム・ゲームAI・インフラ・データマイニング・セキュリティのコンテストと、そのはじめかたを紹介していきます。
デバイスドライバをビルドするためには、カーネルバージョンと同一バージョンの、kernel-develとkernel-headersパッケージが必要です。 そのため、まずは自身の環境のカーネルバージョンと上記2つのパッケージがインストールされているかどうかを調べます。 # uname -r 2.6.18-238.el5 # rpm -aq | grep kernel kernel-headers-2.6.18-238.el5 kernel-devel-2.6.18-238.el5 上記例では、カーネルのバージョンが「2.6.18-238.el5」であり、同バージョンのkernel-develとkernel-headersパッケージがインストールされています。 もし、インストールされていないのであれば、yumなどを使いインストールします。 # yum install kernel-devel
Sparkシリーズ第3弾の記事です。MLlibのLDAを使ってYahoo Newsの記事をトピックモデル(LDA:Latent Dirichlet allocation)でクラスタリングしてみます。 第一弾 【機械学習】iPython NotebookでSparkを起動させてMLlibを試す http://qiita.com/kenmatsu4/items/00ad151e857d546a97c3 第二弾 【機械学習】Spark MLlibをPythonで動かしてレコメンデーションしてみる http://qiita.com/kenmatsu4/items/42fa2f17865f7914688d 0. 環境 OS: Mac OSX Yosemite 10.10.3 Spark: spark-1.5.0-bin-hadoop2.6 Python: 2.7.10 |Anaconda 2.2.0
画像を描画する命令drawImage() まずcanvasに画像を描画するdrawImage()の使い方を3通り見ておきましょう。 context.drawImage(画像,X1,Y1) 画像を指定座標に描画する X1は画像を描画するX座標,Y1は描画するY座標 context.drawImage(画像,X1,Y1,W1,H1) 画像を指定した座標に、幅と高さも指定して描画する W1は画像を描画する際の幅、H1は描画する際の高さ context.drawImage(画像,X0,Y0,W0,H0,X1,Y1,W1,H1) 元画像の一部分を切り抜いてcanvasに描画する X0,Y0は切り抜く元画像の座標、W0,H0は切り抜く画像の幅と高さ 今回描画する元画像は649×433ピクセルの下のものです。この画像を3通りの方法でcanvasに描画していきます。 元画像を切り抜いてcanvasに描画す
PDFのファイル構造を理解すると、テキストエディタでも直接PDFファイルを作ることができるようになります。このエントリーではPDFファイルの基礎要素を説明し、簡単なPDFファイルを例にしてファイル構造を説明します。更に、テキストを渡すとPDFファイルを吐いてくれる簡単なプログラムや、PDFを読み込んで簡単な解析をするプログラムを書いてみます。 目次 目次 まえがき オブジェクト 間接参照 ファイル構造 Hello, world! ヘッダ トレーラ 相互参照テーブル 本体 PDFを生成するプログラム 日本語の扱い方 日本語を含むPDFを生成するプログラム グラフィックス PDFを読むプログラム あとがき まえがき 1990年代前半、アドビシステムズは、どのプラットフォームやデバイスでも文書を確実に表示・共有できることを目的としてPDFファイルフォーマットを開発しました。 PDFの表示ソフト
GoFデザインパターンの一覧表と,活用のためのコメント,および入門者が独学するためのリンク集(サンプルコード付き)。 入門者の独学を支援するために,このページのURLを提示して熟読させ,各パターンを短時間で効率よく学んでもらう。 デザインパターンはプログラマの常識だ。 Java使いかどうかは問わない。 にも関わらず,入門書を買ったまま,途中で挫折する人が多い。 挫折の原因は,パターンの数が23もあって,多いからだろう。 全パターンをすんなり覚えてもらうためには,各パターンごとに 「要するにこういう目的のパターンなんだ。」 「10文字で表現すると,パターンの意味はこうなんだ。」 という要点・本質を,短いコメントで伝えれば助けになるだろう。 こういった学習を通して,Java言語の「設計思想」も併せて感じ取ってゆけるはず。 全パターンの一覧表(要約コメント付き) 全パターンについて,10文字以内
富豪的プログラミングが当たり前となった今、特にメモリーをケチるようなプロ グラミングの事は忘れてしまっていると思います。 ただ、iPhoneやAndroidのように小さなメモリーしか載っていない携帯端末が流 行っていることや、サーバーサイドで扱うデータ量がユーザーのニーズによって 巨大化している事などから、そろそろ省メモリなプログラミングの事も思い出し たほうがいいのかなと私は最近思い始めています。 また、システムのパフォーマンスを支える部分にも「省メモリ」であることは有 効です。たとえば情報を転送する際、同一の情報をより小さく表現できるとそれ だけ純粋にパフォーマンスは向上します。1つのデータを半分の表現形式でエン コードできた場合、転送スピードは2倍になってくれます。そうなると、転送時 間が2時間かかる部分が1時間で済むのです!(場合によって) というわけで、この勉強会では省メモリに関
広告事業部の鈴木達矢です。コーディングをしてると変数やメソッド名の付け方に悩むことって多々ありますよね。逆にコードを読んでいると単語の選択がこれでいいのかなという時や、動詞の活用形が間違っていてよく意味がわからない、時に潔く日本語の変数名になっていることも見かけます。でもプログラミング言語の単語が英語をベースにしていますし、Railsを使っている場合は日本語が規約(Convention)に合わなかったりします(複数形が無いなど)。それから動詞の活用形が違っていると主語(動作の主体)が変わってしまい、意味が変わってしまいます。その結果コードの可読性が落ち混乱を招きやすくなります。 いくつかの基本的な法則だけおさえておけばコーディング中に可読性の高い単語の選択ができるようになります。今回はそれを目的に、英語の扱いに都度時間を費やしてしまうような方に向けていくつかの法則をご紹介します。*1 変数
enum の associated value e n u m E i t h e r < A , B > { c a s e L e f t ( A ) c a s e R i g h t ( B ) } l e t e i t h e r : E i t h e r < A , B > = . . . s w i t c h e i t h e r { c a s e . L e f t ( l e t a ) : p r i n t ( " A : \ ( a ) " ) c a s e . R i g h t ( l e t b ) : p r i n t ( " B : \ ( b ) " ) } これでもいいの? e n u m E i t h e r < A , B > { c a s e L e f t ( A ) c a s e R i g h t ( B ) } l e
Scala関西 Summit 2015での発表で触れていたN+1クエリ問題をなんとかするためのライブラリを公開した. 発表は以下のもので, ここでは「関係モナド」という名前で紹介していたけれど, これは口頭でも説明したように便宜上てきとーにつけた名前であって, とくにそういう名前のよく知られたモナドがあるというわけでもなければ, そもそもモナドであるかどうかはあまり本質的ではない. この発表のあとに, Rails (Active Record)でのbulletのようにN+1問題の検出をScalaでやる方法はないだろうか, と言っている人がいたので, そういうものを探していて辿りつけるとよかろうということで, bullet-scalaという名前にした. もちろんN+1問題の検出のためのライブラリというわけではないし, 動的に検出するのではなく原理的に問題が発生しないようにするものなので, 思
表題のとおりです. potatotips #20でLTした 前回(第19回,発表資料)は当日繰り上がり当選,その前(第17回,発表資料)は主催者枠での登壇だったので,正規当選での発表は実は初めてだった. speakerdeck.com Effective Java 第2版 (The Java Series)とKeithYokoma氏のQiita記事に自分が最近書いたコードからの知見を加えたもだが, スライドのデザインに気を取られすぎて内容がアレになってしまった. あと,最近のAndroid界隈の流行に乗ってスライドを英語で作ったらとてもつらいことになった. トークから漏れたenumの話 スライド後半でenumで実装するイベントハンドラを紹介している. これはスライドに書いたとおりだけど,大きなメリットとしてはやはりテスタビリティの向上と責務の分散があると思っている. テスタビリティについて
近況 未来が脅す右手の指 ナイフが滑る左手首 朦朧と過ぎる日曜日 消えた秒針 数えた生久伸 このままでいいのか 俺はお前は 迷路の中 IT'S MY WORLD ――『KOKORO WARP』SHAKKAZOMBIE 問題 多くの人々にとって、既存の慣れ親しんだプログラミング言語で、最新のスタイルを身に着けたいと思うのが人の常だと思う。今宵、流行りのスタイルと言えば、恐らく「関数型プログラミング」になると思う。 混乱を避けるために、ここで一つ定義をする。ここで言う「関数型プログラミング」の定義とは、「副作用を出来るだけ避け、関数の連続によって書くプログラミング手法」という風にする。そして、このときの「関数」とは、「ある入力に対して、一定の出力を返すもの」という風に定義することが出来る。 さて、ここで二つの主題がある。まずひとつに、「副作用を出来るだけ避ける」という点と、「関数の連続によって
2015-08-07にGunosyで行われたGunosy UI Design Study #1での発表資料です。
# 構文解析にまつわる小話たち ---------------------- [#peg_study](https://twitter.com/search?q=%23peg_study&src=typd&vertical=default&f=tweets) === # About Me ---------  + κeen + [@blackenedgold](https://twitter.com/blackenedgold) + Github: [KeenS](https://github.com/KeenS) + サイバエージェントの新卒エンジニア + Lisp, ML, Shell Scriptあたりを書きます === # ウォームアップ === # 構文解析はバッドノウハウ -----------------------
私は普段主にC#やjavascriptを使ったりしているのですが、巷で話題のRubyにもそろそろ手を出そうと基礎を勉強し始めました。勉強の過程でRubyって今まで触れてきた言語と思ったより違うなぁと感じました。こういう違いを俯瞰できたら勉強しやすいと思ったのでこの記事を書いた次第です。 これをおさえておけば、ある程度ソースが読めるかも、という見慣れない構文や決まりなどをまとめています。あれもこれもと書いていると長くなってしまいました...。概要をまとめただけで、詳細は他のページや記事に任せるようにしています。 「これは他の言語にも共通じゃないか」と思われることもあるかもしれませんが、ご容赦ください。 ※バージョンはRuby2.0を想定 変数 変数の種類は、変数名の前にpublicとかprivateをつけるのではなく、変数名に特徴を持たせることで識別する。 ローカル変数 スコープが変数がかか
わずかな文字がいかにしてパフォーマンスに大きな違いを生めるかというお話 正規表現は、私たち開発者がことあるごとに駆使する呪文のようなものですが、私たちはそれをどんな時も巧みに使いこなしていると言えるでしょうか。正規表現は繊細で精密な言語です。入念な慎重さで記述してやれば、ボウリングで一瞬にして完璧なストライクを取るような強力なテキストとなり得ます。 しかし、正規表現が精密さに欠ける状態で投げ出されると、さながら酔っ払いがよろよろとつまずきながらテキストの上を歩くがごとく、そのボールはぎこちなくボウリングのレーンを転がり、ピンを1つか2つ倒すだけで終わってしまうのです。 これら2つの正規表現の違いは何なのか。何がいい表現と悪い表現を分けるのか。正規表現に素晴らしい力を与えるメカニズムを、この投稿で明かしてみようと思います。効果的な表現とそうでない表現との大きな違いをきっと分かってもらえるはず
Last Updated on: 2018年8月4日セキュアプログラミングの啓蒙にも少々食傷気味ですが、今回もセキュアプログラミングの話題です。IPAのセキュアプログラミング講座Web編は削除予定であるとFacebookではお伝えしましたが、ブログではまだだったので合わせて紹介します。 ISO 27000がセキュアプログラミングついてどのように書いているのか紹介します。ISO 27000シリーズはISMS(Information Secuirty Management System – 情報セキュリティマネジメントシステム)認証の根幹となっている国際セキュリティ標準です。ISMS導入で自動的にセキュリティ問題に対応できる!といったモノではありませんが、体系的なセキュリティ導入にとても役立つ規格で2015年6月29日時点で4646組織の認証登録があります。 セキュアプログラミングとは?セキュ
コードを書くことコードを読むことコマンドラインをほぼ常に使うこと(「使わないわけないだろう」と思う人が多いと思うが、それができない人はそれよりも多い)ライブラリも可能な限り読むこともっとコードを読むことコピペしてもいいけど、コピペするコードの意味は絶対に把握すること自分の勤め先がクソなら、会社は辞めること(ある程度技術力があればどこでもやっていける)英語が読めること数学的・論理的思考をみにつけることオープンソースのコードを読むことなるべく根本的な概念を知ることひとつの言語に拘らず、何個も触ること(ひとつのパラダイムに固執する可能性がある)UNIX/Linuxをメインでつかうこと流行を追いかけ過ぎないこと(結局ソフトの上で踊らされているだけ)自分の知らない分野はいくらでもあると心得ること井の中の蛙にならないように心がけることマネジメント視点も取り入れること「他人のため」を考えること(独りよが
計算機科学と代数学 プログラム意味論と普遍代数学 蓮尾 一郎 東京大学 大学院情報理工学系研究科 コンピュータ科学専攻 2014.1 1 計算機科学とは? 意味論とは? 代数学のさまざまな応用についての本特集において,本稿は計算機科学—— そのうちとくに意味論——とよばれる分野に現れる代数学的構造と,その応 用について紹介したい.多くの読者のもともとの興味は数学や,多少外れた としても物理学などだろうから,まず,計算機科学(のうち意味論)とは何 をめざす学問なのかを説明していく. ところでいきなり余談から始める.自分と異なる研究分野の人と話をする 際,まず最初にやるべきことは,相手が「何がやりたいのか,何をカッコい いと思うのか」をお互いに理解することである.しかし,そのような目的意 識・美意識は本人にとってはすでに刷り込まれた当たり前のことであり,当 たり前のことを言葉にして説明するの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く