タグ

Trapezoidのブックマーク (1,959)

  • C#に潜むstructの罠 - KAYAC engineers' blog

    こんにちは。技術部平山です。 この記事ではC#のstructを使った際にはまった罠について書きます。 Unityでの体験を軸にお話しますが、Unityに限ったことではないかと思います。 お急ぎの方のために結論を申しあげますと、structを使うなとなります。 どうしてもstructを使いたい気分になった時に、罠にはまって時間を無駄にする覚悟をした上で使いましょう。 未来に活きる良い失敗ができると思いますし、最終的には製品の性能も上がるとは思いますが、 structを使わないといけない理由は、たぶんありません。なくても製品は作れます。 しかし、一回もstructと書かなかったとしても、C#で書く限りstructからは逃れられないのです。 (2019/04/10) 末尾に話を単純化しすぎた点について補足をいたしました。 structとは C#の型にはclassとstructがあります。 ...

    C#に潜むstructの罠 - KAYAC engineers' blog
    Trapezoid
    Trapezoid 2019/04/11
    structは基本immutableにできる大きさのものに適用するべきだし全部immutableでいいので、全部reaadonly structにしよ(C# 7.3に行けない過去のUnityのことはもう忘れたようだ)どうしてもならref thisとかreadonly ref(in)使ってこ
  • 転職します - pocketberserkerの爆走

    from : 株式会社ドワンゴ 2015/04/01 ~ 2018/10/31 *1 to: Idein株式会社 2018/11/01 ~ お世話になりました & ありがとうございました。 今後ともよろしくお願いします。 *1:10月はほぼ有給休暇を消化してました

    転職します - pocketberserkerの爆走
    Trapezoid
    Trapezoid 2018/11/02
    laisoレギュレーション
  • サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita

    Webでのプッシュ技術 HTTPはクライアント(ブラウザ)からリクエストしてサーバからレスポンスが返る一問一答型のプロトコルなので、基的にはサーバ側からブラウザに新着情報をリアルタイムで通知(プッシュ)できるようにはできていません。 しかしそれでもプッシュをしたいという場合にどうするかという話が出てきます。やり方には以下のようなものがあります。 ポーリング クライアントからサーバに定期的に新着を問い合わせるようにします。 最も原始的かつ確実なやり方。欠点は、最大でポーリング間隔の分だけ通知が遅延しうることです。 ロングポーリング(“COMET”) ポーリングなのですが、問い合わせを受けたサーバは新着情報がなければレスポンスを返すのをしばらく保留します。 そのあいだに新着情報が発生すれば即座にレスポンスを返しますし、一定時間経過したら何もなかったとレスポンスを返しましょう。 飛び交う通信内

    サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita
    Trapezoid
    Trapezoid 2016/08/25
    そもそもソケットでwriteもreadも同期的に行われるのはソケットバッファに対する読み書きだけなんだし、アプリケーションレイヤで到達保障をしないといけないのは普通のソケットプログラミングとかわんなくない?
  • 続JSONをSQLiteで置き換えた時の話 - アニマネ開発日誌

    animane.hatenablog.com 前回の記事が予想以上に反応を頂いたので、少し補足します。 ユースケース 記事中ではあまり書いていなかったのですが、基的に参照系のデータが対象になります。 サーバー側で生成しておいたDBをそのまま使う形です。 なので更新系のデータについては別DBに保存してます。 SQLiteのATTACH DATABASEを使えば、異なるDB(別のファイル)でもJOINが使えるので、 CoreDataで作ったSQLiteのファイルも問題なく扱えます。 ただ、DBのサイズが大きくなりすぎると通信に時間が掛かり過ぎるため、 そのような場合は従来通りAPI経由でJSONなりXMLを使う方がよいです。 他にも日のネットワーク環境を前提にしているので、通信が遅い環境では別の配慮が必要になります。 あと、ブラウザでは残念ながら使えないと思います。 SQLiteDBをD

    続JSONをSQLiteで置き換えた時の話 - アニマネ開発日誌
    Trapezoid
    Trapezoid 2015/10/11
    サイズに関してはgzipかければそれで良いだろうし、ポータビリティ下がったうえ、ストレージとAPIフォーマットが密結合になってしまうだけでは。プレーンな形式で取得したあとでよしなにすりゃいいだけ。
  • YAPC::Asia does not welcome Dan Kogai : 404 Blog Not Found

    2015年07月09日10:45 カテゴリYAPC::Asia YAPC::Asia does not welcome Dan Kogai His money is welcome, however. What have I done to deserve this? Dan the Rejected 「YAPC::Asia」カテゴリの最新記事

    YAPC::Asia does not welcome Dan Kogai : 404 Blog Not Found
    Trapezoid
    Trapezoid 2015/07/09
    おじいちゃん激おこ事例だ
  • 【イベント登壇レポート】デブサミ2015で、はてなエンジニア下林がMiiverseの世界展開について任天堂と共同で発表しました - Hatena Developer Blog

    2月20日(金)、東京・目黒雅叙園で開催されたDevelopers Summit 2015(通称:デブサミ)で、はてなエンジニアの下林明正(しもばやし・あきまさ id:shimobayashi )が、任天堂ビジネス開発室の矢野幹樹(やの・もとき)氏とともに「世界に展開できる ウェブサービスのつくり方」と題した発表を行いました。 【20-C-5】 世界に展開できるウェブサービスのつくり方 - Developers Summit 2015 #devsumi 壇上に立つはてな下林(左)と任天堂矢野氏 日、US、EUの3リージョンに展開するMiiverse 任天堂が提供する Miiverse は、Wii Uやニンテンドー3DS、そしてPC・スマートフォンでも利用できるコミュニケーションサービスです。日、US(北米・南米)、EU(欧州・オセアニア)の3リージョンで展開しており、世界中の利用者がM

    【イベント登壇レポート】デブサミ2015で、はてなエンジニア下林がMiiverseの世界展開について任天堂と共同で発表しました - Hatena Developer Blog
    Trapezoid
    Trapezoid 2015/03/03
    下林愛を感じる
  • なぜ、「小説家になろう」の作品群は魔王勇者モノばかりなのか? - かくいう私も青二才でね

    最近、話題になってるから「小説家になろう」と言うサイトを見てきた。 小説家になろう 特に、ランキング部分が驚くほど「魔王」「勇者」「異世界」などどっかで聞いたことあるワードがマシマシに、山盛りに、男盛りに積み上がっていた。 いや、「どこかで」なんてもんじゃない! フリーゲームばかりやる僕には馴染み深すぎて「あれ?これじゃふりーむ!の新着ゲーム欄を見てるのとあまり変わらないぞ?」とデジャブすら感じた。 参考:ふりーむ! - フリーゲーム/無料ゲーム 7000 いや、フリーゲーム陣営の名誉のためにいうが、ふりーむのランキングや注目されてるゲームの方ががまだ多様性がある! 確かにRPGツクールやWOLFエディターのお陰で「魔王と勇者のRPGが作りやすい環境にあり、異世界ファンタジー作品は多い」が、ヒットするゲームだけを抽出するとホラーや脱出ゲーム、学園やBLのノベルゲなど多様性はある! なぜ差

    なぜ、「小説家になろう」の作品群は魔王勇者モノばかりなのか? - かくいう私も青二才でね
    Trapezoid
    Trapezoid 2015/02/17
    高尚大好きマンだ
  • 美味すぎるものを食べるとバカになる(ローストホースにて)

    先週ローストホースという店に行ってきた。 その名の通り馬(ホース)の肉の料理を出す専門店だ。 馬肉を焼くためにオーダーメイドした石窯を使い、最高の馬肉を、最高の焼き加減で出してくれる。 店の場所は都内某所(住所非公開)で、看板すら出ておらず、オープン前に出資した会員とその同伴者しか予約できないシステムとなっている。 ほぼ、この1のみの目的で飛行機とホテルの予約を取り東京に向かった。 20人ほどのグループで貸し切りをしたが、自分が最遠方からの参加だった。 店のシステム上、貸し切りということはまず発生しないのだが、参加者の約半分が会員という特殊な集団のため成立した事会だった。 以下、料理の写真が並びます。 カメラの腕が足りないことを痛感する。実物はもっとやばい。 メインディッシュであるローストホースの写真をあまり撮っていないのは、今回の記事タイトルのとおり、べる途中で頭が悪くなったためで

    Trapezoid
    Trapezoid 2015/02/02
    うまかった
  • かにとBitCoinと2ヶ月で消滅したファンドの話 - いぬビーム

    昨年末「もう大人だし金で遊びたい」「金融商品こそ最大の娯楽だよネー」という会話があり、みんなの金を集めてハイリスク商品に投資しまくってジェットコースター気分を味わうことを目的としたプライベートファンドが創設された。一口2万円。運用目標は毎月200%、年末には8192万償還という展望を掲げつつ「特等席で自分の金が溶けるのを眺める権利を買ったと思え」とリスクが説明された。18万集まった。「忘年会分くらい残るといいね」「かにべたい」「運用成績によってかにのランクを変えよう」 最初の投資先として乱高下していたソシャゲ株が選ばれた。うまいこと儲かり、18万が20万になった。「やったぜ。次は?」「なるべくハイリスクそうなのがいいね」「BitCoinじゃね?」「いいね!」国内に拠点があるBitCoin取引所 Mt.Gox に口座開設が申請された。手続きには妙に時間がかかり、申請時に $700 程度だっ

    かにとBitCoinと2ヶ月で消滅したファンドの話 - いぬビーム
    Trapezoid
    Trapezoid 2014/02/27
    2万円をドブに捨てたこの日々を、僕らは忘れない
  • エデンの園でおきたこと - steps to phantasien

    有給を駆使し一足早くクリスマス休暇に突入、ヒャッホイ Ingress やるぜーと 意気込んでいた矢先ノロウイルスにやられダウンした。かなしい。鎮まれ俺の胃袋・・・ そんな腹痛日和の気晴らしとして今日は Garbage Collection Advent Calendar に参加してみることにしました。 Advent Calendar 初体験につきよくわかってないけど勝手に参加していいんですよね? GC というとジェネレーショナルだのパラレルコンカレントだのといった話が目立ちがちだけれど、 現実の問題というかブラウザを相手にするとそれ以外の細々とした面倒が目につく。 GC つき言語 (JavaScript) のコードと C++ で書かれたコードとの連携は最たる面倒の1つ。 たとえば WebKit の DOM は C++ で実装されており、 C++ のオブジェクトは JavaScript 処理

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    Trapezoid
    Trapezoid 2013/07/12
  • OOコード養成ギブス - rants

    Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた

    OOコード養成ギブス - rants
  • iTerm2のクリップボードインテグレーション(OSC 52/PASTE64)のつかいかた - Qiita

    ============================================================= OSC52(PASTE64)のwrite accessが有効になったiTerm2のビルドが出たので、iTerm2での具体的な使用方法をご紹介します。現状では主にtmuxユーザーに恩恵があります。 OSC52/PASTE64はxterm由来の機能で、端末エミュレータからクリップボードを操作するためのものです。 OSC52に関しては、すでに去年のターミナルマルチプレクサアドベントカレンダーで@ttdodaさんが言及していますので、興味ある方はこちらもご覽ください。 リモートの tmux でコピーした内容のローカルのクリップボードへの反映 設定方法 先日のビルドで加わったグローバル設定、"Allow clipboard access to terminal apps"にチェ

    iTerm2のクリップボードインテグレーション(OSC 52/PASTE64)のつかいかた - Qiita
    Trapezoid
    Trapezoid 2013/06/17
  • 最新版のRSpecでCustom Matchersを作る際はRSpec - ryog's blog

    2012-04-25 最新版のRSpecでCustom Matchersを作る際はRSpec 一体何を言いたいかっていうと、ネットのサンプルをそのまま真似るのは気をつけようねって話。 下記のコードを見てほしい。 これはネットによく転がっているCustom Matchersの作り方だ。 が、コレを真似すると以下のようなWARNINGが発生する。 ***************************************************************** DEPRECATION WARNING: you are using a deprecated constant that will be removed from a future version of RSpec. /Users/ryog/.rvm/gems/ruby-1.9.3-p125/gems/rspec-co

    Trapezoid
    Trapezoid 2013/06/16
  • perlref - Perlのリファレンスとネストしたデータ構造 - perldoc.jp

    This is complete documentation about all aspects of references. For a shorter, tutorial introduction to just the essential features, see perlreftut. Before release 5 of Perl it was difficult to represent complex data structures, because all references had to be symbolic--and even then it was difficult to refer to a variable instead of a symbol table entry. Perl now not only makes it easier to use

  • homebrew + perlbrew + cpanm + local::lib + etc.な開発環境を作る - id:antipop

    homebrew インストールはhomebrewにある通りで特に問題なかった。以下、入れたもの。 git keychain coreutils w3m wget lv mecab proctools readline rlwrap libjpeg giflib libtiff gmp mecab tig emacs typesterさんによるフルスクリーンパッチを適用し、/Applicationにsymlinkを作る $ brew install emacs --cocoa $ ln -s /usr/local/Cellar/emacs/23.2/Emacs.app /Applications/Emacs.app cmigemo 以下を参考にインストール http://d.hatena.ne.jp/./lapis25/20100918/1284775330 uim uim-fep http

    homebrew + perlbrew + cpanm + local::lib + etc.な開発環境を作る - id:antipop
    Trapezoid
    Trapezoid 2013/06/06
  • OS X で rbenv を使って ruby 1.9.3 or 2.0.0 の環境を作る - Qiita

    こんにちは、7日の予定が2日ほど遅延しております、すいません。 さて、私は OS X で ruby 1.9.3 の環境を構築するネタで書きたいと思います。 今回使う物 homebrew readline libyaml (2.0.0なら不要) openssl (trunk をビルドする場合) autoconf rbenv ruby-build Command Line Tools (Xcode) 尚、環境は Xcode 4.5 + OS X Mountain Lion を想定しています。 準備 最近の Xcode, 4.3 からは Xcode.app のなかに Developers ディレクトリが入ったためターミナルから gcc とか叩いても 見つからないと言われます。なので Command Line Tool をインストールしましょう。 Command Line Tool, 入れる方法は

    OS X で rbenv を使って ruby 1.9.3 or 2.0.0 の環境を作る - Qiita
    Trapezoid
    Trapezoid 2013/06/05
  • Appiumを使ってMobile Safari上でSeleniumのテストケースを実行する - スコトプリゴニエフスク通信

    SeleniumのiPhone DriverはDEPRECATEDらしいので、代替として紹介されている Appium を試してみた。Appium is an open source test automation framework for use with native and hybrid mobile apps. It drives iOS and Android apps using the WebDriver JSON wire protocol.http://appium.io/最初は、AppiumはSelenium WebDriverとしてWebのテストだけに使えるものだと思っていたが、実はiOS/AndroidのネイティブUIの自動操作・自動テストにも使える(むしろそっちがメイン)ということを知って、さらに興味をそそられた。が、ドキュメントが少なく、地雷があり過ぎる印象があ

    Trapezoid
    Trapezoid 2013/05/25
  • JenkinsとSelenium WebDriverでUI層のテストも自動化&永続化する - プログラマでありたい

    思い立ったようにJenkins特集をしておりますが、今回はJenkinsとSelenium WebDriverでUI層のテストの自動化をする話です。Seleniumは面倒臭い画面のテストを自動実行してくれるツールで、出てきてからもう7〜8年がたちます。Web系の開発に携わっている人であれば、一度は試したことがあるのではないでしょうか?そして、必ず挫折したことがあると思います。 その理由としては、せっかく作ったSeleniumのテストケースが腐ってくるからです。一般的にはUI層の変更は、ロジック層に比べて変化が激しいです。だからこそテスト自動化して保証することに意味があるのですが、そのテストケースを維持するのは大変です。そこで、Jenkinsの登場です。Jenkinsでサーバサイドで継続的に実行することにより、Seleniumのテストケースが成功を保てるようにします。また、複数のブラウザ・バ

    JenkinsとSelenium WebDriverでUI層のテストも自動化&永続化する - プログラマでありたい
  • JSDoc Toolkit→JSDoc 3移行ガイド | BLOG - DeNA Engineering

    こんにちわ、DeNA San Francisco の渋川と申します。エンジニアブログには初登場です。 JavaScriptのソースコードからAPIドキュメントを生成するツールには何種類かありますが、日語の書籍やウェブサイトでも情報が得やすいこともあって、JSDocの系統が幅広く使われています。Google Closure Compilerも、JSDocを拡張したドックコメントをアノテーションとして読み込んで最適化します。 JSDocは長い期間メンテナンスされているオープンソースプロダクトです。初代はPerlで書かれたJSDoc 1です。これはすでにリポジトリも削除されています。現在最も使われているのが JSDoc Toolkit (JSDoc 2) です。弊社の ngCoreのドキュメント でも使用しています。 ただ、これも現在は機能追加を停止していて、後継プロダクトの JSDoc 3

    JSDoc Toolkit→JSDoc 3移行ガイド | BLOG - DeNA Engineering