タグ

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

  • Ponylangで型付きActor生活 - Qiita

    この記事は 第2のドワンゴ Advent Calendar 2015の15日目です。 14日目は@toRisouPさんの音声認識で「結月ゆかり実況」動画を作るでした。 2015年新卒入社の@matsu_charaです。 今日はPonylang(Pony)という言語の紹介をしたいと思います。 Ponyとは ざっくり言うと、Ponyは「Actorを使った並行処理を行うことが出来る静的型付けなオブジェクト指向言語」です。 Causalityというロンドンの会社が中心になって作成していて、Ponyに関する技術サポートも行っているようです。 まだversion 0.2.1なので割と新しい言語です。1 他の言語との違い ActorといえばErlang・Elixir・Scala(Akka)あたりが有名だと思います。 ErlangやElixirは動的型付けな言語なので、静的型付けなPonyとはある程度異な

    Ponylangで型付きActor生活 - Qiita
    meganehouser
    meganehouser 2016/01/15
    Actorベースで静的型付けのOOP言語。ジェネリック、インターフェース、トレイト、パターンマッチもあるのか。触ってみよう。
  • 多い日も安心設計 - Qiita

    アプリケーションエンジニアの多くは、眠れない夜を過ごしたことがあるでしょう。特に月に一度の…「月末締めバッチ」の日は。 そんなデータ量の多い日や、初モノのバッチが動く日でも安心して眠れるためのバッチ設計を考えてみます。 ログの設計 まず何はなくともログです。きちんとしたメッセージを出せていれば、専任の人がリカバリ可能にもなるってものです。 Audit用のログなど業務要件の強いものを除いては、だいたい3種類に分けるようにしています。 プログレスログ リカバリログ 例外ログ(調査のため) この分類でファイル単位も分けます。ログを必要とする人が、それぞれ異なるからです。 プログレスログ プログレスログは、特に長時間かかるバッチに対して、現在どのくらいまで処理が出来ているのかを目的として出力します。 トラブル発生時や、大規模移行作業時には、バッチの定期的なモニタリングと報告の必要が出てきます。「あ

    多い日も安心設計 - Qiita
  • C# メソッドの呼び出し元メソッド名を取得するおまじない - Qiita

    こねたです。 以下のようにするとログ出力のときに、呼び出し元メソッド名まで出力できます。 (と書いたけど、改めてstackoverflowを見たら、.Net4.5からもっと簡単に取得できるみたいです。CallerMemberNameAttribute Class) ※ リリースビルドでこれを利用するためには、PDBファイルを生成しておく必要があります。 [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] private void log(LogLevel logLevel, String message, params Object[] objs) { if (!isOutput(logLevel)) { return; } co

    C# メソッドの呼び出し元メソッド名を取得するおまじない - Qiita
  • 仕事と F# と私 - Qiita

    仕事で F# 使ってます。最近はほとんど F# ばかり書いていて、時々 C# と XAML を書く感じです(といいつつ先日は超久しぶりにC++を書いていましたが)。 自分がどんな風にF#を使っているか、Q&A方式でまとめてみようと思います。もし誰かの参考になれば嬉しい。 関数型のすごい人なの? いいえ、ぜんぜん。 仕事でF#を使っていると書くと関数型プログラミングのエキスパートと思われるかもしれませんが、計算機科学方面(?)はサッパリでお世辞にも F# 力が高いとは言えません。Haskell知りませんし、λ計算も分かりませんし、圏論も分かりませんし、モナドも利用はしているけど分かったような分からないような。今のところ関数型プログラミングそのものを突き詰めて勉強しようという強い意志や計画は持ち合わせていません(意識低い><)。 (言い訳すると、興味はあるんですが今のところなかなか優先順位の上

    仕事と F# と私 - Qiita
  • 厨二病な名前のライブラリを集めるスレ - Qiita

    ミスリル。クライアントサイドMVC。 http://mithril.js.org/ 参考: http://qiita.com/shibukawa/items/890d24874655439932ec エリクサー。Erlang VMで動く言語。 http://elixir-lang.org/ 参考: http://qiita.com/HirofumiTamori/items/0dfdbada30c7d8f183fd エスナ。PHPのサーバサイドMVCフレームワーク。 http://ethna.jp/doc/ ゴブリン。物理エンジン。 http://www.goblinphysics.com/ オーディン。ゲームエンジン。 https://odinge.codeplex.com/ タイタン。jQuery上のクライアントサイドMVC。 http://www.firerift.com/suppor

    厨二病な名前のライブラリを集めるスレ - Qiita
    meganehouser
    meganehouser 2015/05/14
    盛り上がってる。
  • Riot.js 2.0 を触ってみた — まだReactで消耗しているの? - Qiita

    楽すぎてどうしよう。が最初の感触。まだ3時間しか触ってないけど、もうこれでいいや感が半端ない、深夜2時です。 Angularなのか、Reactなのか、2015年が明けても毎週のように新しいJSフレームワークが出る中で、もう正直どうでもよくなってませんか? でも、これは触って楽しいはず。 Riotって何? Riotは、公式ページに A REACT- LIKE, 2.5KB USER INTERFACE LIBRARY とあるように、Reactを意識して作られた超軽量のUIライブラリで、ビュー部分(コンポーネント)に特化しているのが特長です。Vue.jsとかとも同類です。Riot 1.0も「超軽量」という点で、一時注目を集めました。 そのRiotが、2.0で趣向を変えてJSX的なプリコンパイルの仕組みを取り入れて、ReactとPolymerのいいとこ取りのような感じになっています。ただし、次の

    Riot.js 2.0 を触ってみた — まだReactで消耗しているの? - Qiita
  • ゲーム開発におけるメモリアロケーションの実装について - Qiita

    はじめに 今回は、メモリアロケーションに関して、Java・C#などプログラミング言語やUnity・UDKなどのゲームエンジンにおいてはメモリの事なんて全然気にしなくていい時代になっている(!?)中、ゲーム開発におけるメモリアロケーションについて、えーでるわいすで現在使われているゲームエンジンでの実装も踏まえて一回まとめてみようかと。。。 発端は、@aizen76さんの「カスタムメモリマネージャと高速なメモリアロケータについて」というスライドを偶然見つけたのがきっかけで、自分は今まで深く理解せず何となくでやってきてしまっていた気がしたのでちょっとまとめて見ようと思い立った感じです。 対象 C++初級者~中級者ぐらい ※ ガベコレだのスマートポインタだのmallocの実装によるマルチスレッド環境下での速度がどうとかその辺の話は止まらなくなるので我慢します( ´∀`) メモリアロケーションって何

    ゲーム開発におけるメモリアロケーションの実装について - Qiita
  • ネイティブと働いて分かった英語コミットメッセージの頻出動詞10つ

    ウッ ここで詰まる事は往々にしてあります. 特に急いでる時の煩わしさは甚だしいです. どうせならそれっぽい英語を使いたいのでOSSや同僚のコミットメージの語彙の出現確率を調べてみましたら、 もちろんfeatureによってコミットメッセージの付け方など数多あるものの、一定の頻出パターンは見い出せたので筆を取りました. (英語勉強しないと..) 方法 github.com/rails/railsのコミットメッセージ内における各動詞の出現確率を求め、 またOSSと仕事でのコミットメッセージの趣向も変わってくる事も勘案するため、 (仕事でDeprecateとか滅多に使わんし) 同僚に聞きつつ10つあげてみた. 以下列挙 (例は実際の同僚やOSS上でのコミットメッセージです.) Add *A to *B AをBに加える

    ネイティブと働いて分かった英語コミットメッセージの頻出動詞10つ
  • CSSフレームワークBourbon/Neat/Bitters/Refillsは美しい - Qiita

    新規JekyllプロジェクトにBourbon, Neat, Bittersをインストールして作業したら、とても快適だった。 Bitters helps designers start projects faster by defining a basic set of Sass variables, default element style and project structure. – Bitters という説明の通り、新規プロジェクトがスタートダッシュできる感覚。最初からやりたいことに集中できる。 Bootstrapではスタートダッシュできるけど使い捨てのコードになりがち。ところが、Bittersのコードは長期的なメンテナンスにも耐えうる(はずだと筆者は判断している)。 コンテンツファースト アクセシビリティファースト モバイルファースト インブラウザーデザイン といった考え方や手

    CSSフレームワークBourbon/Neat/Bitters/Refillsは美しい - Qiita
  • jQuery用のスプリット・ペインのライブラリ比較検討メモ - Qiita

    左右や上下にペインを分割してドラッグでサイズを変えられるようなライブラリを探していて、いくつか見つけたので比較検討したメモです。 UI Layout Plug-in javascript - Best way to do a split pane in html - Stack Overflowで紹介されていました。高機能そうではありますが、Downloadsを見るとスクリプトのサイズが81KBとか151KBと大きいのでパスすることにしました。 jQuery Splitter Plugin methvin.com/splitter/splitter.jsのファイルサイズは9KBと小さくて良いのですが、jQuery Minimal Vertical splitterのサンプルをChromeで試してみると、ドラッグするときのカーソルが左右の矢印(col-resize)ではなく右矢印(e-res

    jQuery用のスプリット・ペインのライブラリ比較検討メモ - Qiita
  • 最近の行儀のよい JavaScript の書き方 - Qiita

    JavaScriptは移り変わりの早い言語です。 もう1年以上経っていますし、記事のメンテもちゃんとできていないので、消し線を入れることにしました。 参考程度のために記事は一応残しますが、より新しい情報を読まれることをお勧めいたします。 はじめに --- 最近では JavaScript の実行環境はブラウザに限りません。(node.js, Web Workers) また、旧来のような <script> 経由でのロードもとうに古くなっています。今は CommonJS スタイルで、require を用いたモジュールのロードを行なうことがより良いとされています。 ですから、次のようなことは改める必要があります。 - var YourModule = {}; などとして、外部から YourModule.hoge(); などと呼び出す書き方 - this === window だと思うこと 今回は、

    最近の行儀のよい JavaScript の書き方 - Qiita
  • 最速最強Webサーバーアーキテクチャ - Qiita

    POST /post HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 7 foo=bar 1行目は request-line で、 method URI HTTP-version の形をしています。URIはホストを含めた絶対URIの場合と、ホストを含めない絶対パスの場合がありますが、絶対パスの方が一般的です。 2行目から空行までが request-header です。各行は field-name: field-value の形をしています。 field-name は大文字小文字を区別しません。 request-line から request-header とそれに続く空行まで、改行は CR LF になってます。Windowsでよく見る改行コードですね。 meth

    最速最強Webサーバーアーキテクチャ - Qiita
  • ビジュアルプログラミング言語「vvvv」をはじめよう! - Qiita

    「VVVV Advent Calendar」 を作るためにアカウントを取ったので、自分のブログ記事を転載してみます。 アドベントカレンダーのルール: 「この投稿はVVVV Advent Calendar 2014の"n"日目の記事です。」 みたいに記事の先頭に書いて、http://qiita.com/advent-calendar/2014/vvvv にリンクを張ってください。 Qiita に書いた場合、アドベントカレンダーのページからリンクを張るとこの記事の上部のように自動挿入されます。 あとは自由です。ほんの少しでも vvvv に関係する事なら何でもOK! 掲載場所も自分のブログ、Youtube、SlideShare、なんでもOKです。 まだ4枠くらい空いているので、どなたでも気軽に参加してください。 vvvv ってなに vvvv とはビジュアルプログラミング言語です。 公式サイト:h

    ビジュアルプログラミング言語「vvvv」をはじめよう! - Qiita
  • Clojureにも型の恩恵を〜Typed Clojureの体験〜

    => (merge-with + {:a 1 :b 2} {:a nil :b 2}) NullPointerException clojure.lang.Numbers.ops (Numbers.java:961) これは2つ目のマップの:aの値がnilなため,(+ 1 nil)を実行しようとして失敗してヌルポを起こしています.現在のClojureの問題点として,エラーメッセージがソースコードと対応しておらず意味不明であるという点があるために,このような単純なバグでも発見するのに苦労しました.このバグをcore.typedにより退治していきたいと思います. 最初の型チェック core.typedの中には,cfという式の型をチェックする関数が存在します.(cfはcheck-formの略語のようです)これでmerge-with +の型をチェックしてみましょう.簡単化のため,引数のマップは2つ

    Clojureにも型の恩恵を〜Typed Clojureの体験〜
  • そこそこセキュアなlinuxサーバーを作る - Qiita

    先日「サーバーのセキュリティ設定がなにすればいいかわからない」と相談をうけまして。 自分も初心者の時どこまでやればいいかわからず手当たりしだいにやって沼に入っていたのを思い出しながら自鯖構築したときのメモを元にまとめてみました。 注意 セキュリティ対策は用途や場合などによって違います。 自分で理解したうえで自己責任でおねがいします。 対象読者 Linuxのサーバーを建て慣れていない人 Linuxはある程度さわれる人(自分でパッケージを入れたり、サービスを止めたりできる) ラインナップ ☆は導入の重要度と導入の容易さから個人的偏見からつけた値です。 4つ以上が"最低限やること"だと思ってください。 sshd

    そこそこセキュアなlinuxサーバーを作る - Qiita
  • DB 設計時のサイズ見積り[最新版] - Qiita

    こんにちは、すっかり秋ですね!@yone098 です。 みなさんDBの設計してますか? DB設計時のサイズ見積り 以前はてなダイアリーで書いた記事は5年前のものであり、リンクが切れているものがあるので最新版として MySQL, PostgreSQL, Oracle, SQLServer におけるDB設計時のサイズ見積りをまとめ直しました。 URL内のバージョン表記を変えると以前のバージョンの情報になります。 MySQLは、あまり情報に変化は無かったので Excel でマクロなどを作成して自社で自動算出出来るようにするのが良いと思います。 データタイプごとに必要な要求ストレージが決まっているのでレコードサイズが決まり、あとは要件次第で何レコードになるかを予測します。 データタイプごとに必要な記憶容量 テーブルの最大サイズ関連 http://dev.mysql.com/doc/refman/5

    DB 設計時のサイズ見積り[最新版] - Qiita
  • leiningen でプロジェクトのテンプレートを作ってみる - Qiita

    この記事は、Clojure Adven Calendar 2013 12/07日の記事です。 今日は、leiningen (github) を使って、自分の独自のプロジェクトのテンプレート(いわゆる オレオレテンプレート )を作る話をします (leiningen のテンプレート作成に関するドキュメント(ここ) を見れば終わり、という話もありますが、自習メモの意味でもまとめておきたいと思います)。 プロジェクトのテンプレートについて leiningen で新規にプロジェクトを作成する場合、

    leiningen でプロジェクトのテンプレートを作ってみる - Qiita
  • 改訂版: プログラマーが効果的な可視化を作成する (前編) - Qiita

    改訂版について (5/7/2019公開) この記事は、私がこちらに公開したもの中では最も読まれているようです。そこで、執筆後に気づいたこと、古くなった情報、新しい技術動向などを考慮に入れて改訂をしました。主な変更点は以下の通りです: 新しいセクションの追加 最近のの紹介 細かな表現の修正 この記事は複数のセクションに分かれていますので、前編から始め、順番にアップデートして行きたいと思います。何かお気付きの点などありましたら、コメント欄、もしくはkonoアットマークucsd.eduにお願いいたします。 はじめに この記事は、可視化の専門家ではない人がコンピュータを使ってデータ可視化を実際に行う場合に必要な、一般的なノウハウをお伝えするシリーズの第一回です。 前編: 効果的なデータ可視化とはどのようなものか? (稿) 中編: 分かりにくい可視化を避けるための手法の選択 後編: Part 1

    改訂版: プログラマーが効果的な可視化を作成する (前編) - Qiita
  • vim使っているrubyistで、これ入れていないのはヤバいプラグインまとめ 9個 (2013-10-04更新) - Qiita

    vim使っているrubyistで、これ入れていないのはヤバいプラグインまとめ 9個 (2013-10-04更新)RubyVimctags Rubyの開発効率を高めたい! vimRubyRails開発するときに、デフォルトの状態では非力ですよね。 開発効率を高める9つのプラグインを紹介します。 alpaca_tags   ctagsの非同期生成 neosnippet   Rails/sinatra/rspec等の補完 swtich.vim    .present?:.brank?など対応するキーワードを切り替える rubocop    文法エラー、スタイルチェック vim-rails    Railsプロジェクト用プラグイン unite-rails    Railsプロジェクト用Unite-source vim-endwise   if...endなど対応するキーワードの自動補完 rub

    vim使っているrubyistで、これ入れていないのはヤバいプラグインまとめ 9個 (2013-10-04更新) - Qiita
  • Rails開発環境の構築(rbenvでRuby導入からBundler、Rails導入まで)(Macport編) - Qiita

    Rails開発環境の構築(rbenvでRuby導入からBundler、Rails導入まで)(Macport編)RubyRailsMacmacportsrbenv ※お願い:最近時間がなかなか取れず、Rails5.xの時代になったというのに未だに5.xでの確認ができておりません。どなたか、5.xでも記事の内容がうまくいった、と確認されました方はコメント欄にてご一報をいただけますと大変嬉しいです。 (記事は今の所Rails 3.x〜4.2 対応です) (Homebrew編も公開しました) はじめに:Railsをローカルインストールするという発想 今さらですが、Mac環境でrbenvを使って、RubyRails環境を構築するための記事をまとめてみました。 bundlerでgemRailsプロジェクト内にローカルインストールすることで、ruby環境を汚さずにRailsプロジェクトを生成でき

    Rails開発環境の構築(rbenvでRuby導入からBundler、Rails導入まで)(Macport編) - Qiita