サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
インタビュー
qiita.com/phi16
こんにちはphi16です。この記事は VRChatワールド探索部 Advent Calendar 2022 の 5日目の記事です。 いろんなワールドを巡っているとうっかり気づいてしまう「エイリアシング」(aliasing) に関して、その原理と対処などについて書きます。 次の2枚の画像、どっちの方が「良い」ですか? 答えは2枚目です。「答え」という言葉を使うのは、この比較においては明確で客観的な「良さ」の基準が存在するという意味で、これはわかりやすく言えば「ピクセルがごちゃごちゃしていないこと」です。エイリアシングが発生しているとごちゃごちゃして見えます。 エイリアシングが発生していると、絵としても余計な色変化が多くなって見づらくなる上、VRの場合は常時視点移動がある為に時間的にチカチカする (頭をほんの少し動かすだけでピクセルの色が激しく変わる) ので体験としてよくありません。 これを軽
qiita.com/phigasui
Stripe を使うとサブスクリプションの決済が楽にできます。 サービスにおいてサブスクリプションを開始する際、トライアルをつける場合や、決済日を月初に固定したい場合などがあります。 サブスクリプションの開始パターンの取り方としては下記の方法があると思います。 トライアル期間の有無 固定決済日の有無 日割り決済の有無 上記の選択肢で6パターンのSubscription作成パターンが存在することになります。 が、トライアル終了後に日割りなしでその月の金額を請求するということは、その月の決済タイミングまででトライアルが実質終了していることになるので省かれます。 そのため、 5パターンについてRuby での例でコードを記述します。 API ドキュメントは上記をご参照ください 固定決済日なし、トライアルあり よくあるサブスクリプションサービスのパターンだと思います。 トライアルが一月(30日)あっ
Increments × cyma (Ateam Inc.) Advent Calendar 2020 の23日目は Increments株式会社の @phigasui が担当します。 同時編集のシステムのコアである 競合解消のための操作変換(Operational Transform)の説明 クライアント、サーバーで操作の管理と送受信についての説明 を行っていきます。 Operational Transformation の有名なOSSとして ot.js が存在しています。実は、JavaScript のみならず、Python, Haskell, Coq, Lua での実装例が用意されています。 それぞれの読みやすい言語で読み解けるためありがたいです。 https://github.com/Operational-Transformation また、Visualization of OT
qiita.com/philosophy_note
はじめに Pandasで欠損値がある時に他の列の値を使って補完したい時があります。 今回はその手段に加えて、手段を思いつかずに回り道をしたパターンを 忘備録として掲載します。 サンプルパターン 次のデータフレームで、col2の欠損値をcol1の日付を3日足した値で埋める ことを考えます。 import pandas as pd import datetime df = pd.DataFrame({'col1': ["2021/05/08", "2021/05/08", "2021/05/08"], 'col2': ["2021/05/09", "2021/05/11", None]}, index=['row1', 'row2', 'row3'])
はじめに プログラミング言語覚え始めの頃に競技プログラミングできるサイトで書く練習をしたりします。 Juliaを初めてまだまだ手に馴染むところまでいけていないため、Julia(0.5.0)が使えるAtCoderさんで練習してみました。 その時に使った&使いそうなコードのTipsをまとめます。 (アルゴリズム系の話はしません) 他にもオススメの小技等アレば是非教えていただきたいです 標準入出力 これ抜きでは語れませんね。 標準入力
qiita.com/phi
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
はじめに 「いいね」をもらうために記事を書くっていうのはお門違いですがやっぱもらうとうれしいですよね? 私事ではありますが、エイチームブライズアドベントカレンダーの初日に@sho0211が書いてくれた記事(アドベントカレンダーのいいねをスクレイピングで数える)の冒頭にあったとおり、エイチームの子会社間でどこが一番よい記事を提供できたのかを競おう、ということになっております。(各子会社のカレンダーリスト) そう、「いいね」をどれだけ頂けるのか、ですね。 ちなみに現状弊社が最下位です。ぐぬぬ... そして、一番多く「いいね」を頂けた記事を書いた人は美味しいお店に連れて行ってもらえるとかなんとか そんなこんなで、良い記事とはどんなもんか メタ情報 定性的な情報 に分けて見ていきたいと思います。 検証の結果3つの知見が得られました。 今回の実装に興味ない人は検証の章を飛ばしてもらっても大丈夫かと思
qiita.com/phithon
#前置き デバッグ用Proxyサーバーである『Fiddler』の機能の1つに 条件にマッチしたURLを差し替える『AutoResponder』という機能があり、 差し替えパターンの1つとしてローカルファイルを選択することが出来る。 実はこの機能、正規表現を使うことでかなり柔軟な設定が可能なのだが ドキュメントに明示されていないためか気付いていない人が結構いるようなので方法を書いておく。 なお、本記事ではFiddlerの導入方法などについては省略する。 今回記事を書くにあたって利用した環境はWindows 10。 #差し替えの有効化 今回は下記ブログ記事の画像を差し替えてみることにする。 まずは指定したURLを単にFiddlerで返させる所から。 Fiddlerを起動し、右のタブ一覧から『AutoResponder』を選択し、 右上にある『Enable rules』と『Unmatched r
Unity のプロジェクトでデフォルトの設定でgitとかで管理してると たまに binary のファイルが競合起きたりしますよね? scene ファイルとか. もうこうなってしまったら中身は binary なのでマージなんて簡単に できないし手詰まりになっちゃいます. ってことでちょっと調べたら, 最近(2014/12時点)の Unity ではバイナリではなくテキストで 管理するモードがありました!! 今回はその設定方法について紹介します. やること メニューの [Edit] -> [Project Settings] -> [Editor] を選択 (Inspector に [Editor Settings] が表示される) [Version Control] -> [Mode] を Visible Meta Files に変更 aaa[Asset Serialization] -> [
qiita.com/phi16_
※本家はこちらのブログエントリーになります. 毎日 html, css, js についてのエントリーを公開しているのでよかったらRSS登録してください♪ 先日書いた 『Electron の入門エントリー』 が好評だったので私の大好きな Riot.js の入門も書いてみました. AngularJS や React でもいくつか Web アプリケーション作ってきましたが, 私にとっては Riot.js が一番しっくりきました. なので今回は Riot.js について紹介します. とにかく詳しい説明はいいから触って試してみたいって方はぜひ読んでみてください. Runstant を使って作ったデモを並べているので, 実際に動かしたりコードをいじることができます. 実際に動かしながら, Riot.js がどれだけ使いやすいか体感してみてください♪ Riot.js とは? 今のところ私にとって(使いや
qiita.com
メリークリスマス はい、クリスマスイブです。 日本のカップルはクリスマス頃になると競ってアンアンしだすと言います1ので、今年のクリスマスはお一人の方も是非アンアンしましょう。 アンアン? アンアンと言えば、もちろんghcのANNプラグマですね。 Template Haskellからでも見る事が出来る様になって美味み増していると思うので、色々な所から覗いてみましょう。 ANNプラグマ? ANNプラグマは、値、型、モジュールに注釈を入れる為のプラグマです。 module Foo where {-# ANN module ("annotation" :: String) #-} -- モジュールに対する注釈。importの前には書けないっぽい。不便…… data Foo = Foo {-# ANN type Foo (2 :: Int) #-} -- 型に対する注釈 {-# ANN type F
もうcabalを使う必要はないしcabal hellも無いんだ…… コンパイルしたバイナリも使い回せて世界は平和になるんだ…… 1. stackを入れる コンパイル済みバイナリをダウンロードしてパスを通す他に、 windowsにはインストーラ、macにはhomebrew、大抵のlinuxディストリビューション1にはリポジトリ等が用意されているので、以下を参考にお好きな方法でインストール Install/upgrade — stack documentation bash/zsh用に補完も用意されているので、好みに応じて Shell Auto-completion — stack documentation 2. ghcを入れる stackが最新のlts-haskellに対応したghcを入れてくれる。 $ stack setup Run from outside a project, usi
Unity で全体に反映されるマクロを定義する方法についてのメモです. Unity では, そのファイルで #define したマクロは そのファイルでのみ有効になります. ちょっとしたデバッグ処理の on/off だったらそれで良いのですが, ファイルをまたいだい処理の切り替えにはちょっと不便です. ちょい前までの Unity では全体に反映させるマクロを定義する場合ゴニョゴニョする必要があったらしいですが, 最近のUnity(2014/12)時点ではサクッと設定する方法が用意されてます. 今回はその紹介です. Flow メニューの [Edit] -> [Project Settings] -> [Player] を選択 (Inspector に PlayerSettings が表示される) [Configuration] -> [Scripting Define Symbols] とい
こんなん作りました. Runstant Runstant って? ログイン不要でアクセスした瞬間からプログラミングを始められる エディタ & プレビューツールです. 名前は, run + instant からの造語で, インスタントラーメンのように一瞬でコーディングできて気軽に実行できるよって意味で名づけました. 特徴 instantly code ログインは不要! 即座にコーディングを始めることができます. Runstant は, ブラウザ上で高速に動作するエディタ&プレビューツールです. コードのハイライトや補完, オートインデント機能, vim や Emacs 対応といったコーディングに必要な機能をデフォルトで完備しています. instantly run コードを保存してみてください. 今までにない速度で実行結果を確認できます. サーバーを介さず, URL に情報を保存することにより
規模の大きい開発だったり, 途中アサインのプロジェクトの場合 コードが大きくなりすぎて処理を追うのが大変だったりしますよね? そんなときに必須な機能がデバッギング( debugging )です. コード中にブレークポイントを置いて処理を止めて その時の変数の中身をみたり, 呼び出し元に遡ったりするあれです. 今回は, Unity でそれやるメモです. 1. Unity と MonoDevelop を connect する まずは Unity と MonoDevelop をつなぎます. Unity と MonoDevelop を開いた状態で MonoDevelop の再生アイコンをクリックします. するとプロセスにアタッチするためのダイアログが表示されます. Unity Editor(Unity) を選択して右下のアタッチボタンをクリックします. これで connect 完了です. ちなみに
ゲームに関する設定ファイルとかって json で管理したかったりしますよね? ただ, C# では標準で JSON をパースする仕組みはサポートされていません. そこで, MiniJSON ってやつが手軽でサクッと使えたので 簡単に使い方を紹介します. 1. MiniJSON.cs をダウンロードして Assets に配置 MiniJSON は MiniJSON.cs という単体のファイルで実装されています. 下記からダウンロードしましょう code or raw ダウンロードしたら下図のように Plugins フォルダを作って MiniJSON を配置します. 2. json ファイルを作成 Resources フォルダに sample.json というファイルを作りましょう. ちなみに中身はこんな感じになっています.
モナドと一口に言っても内部実装色々あるので、同じ機能のモナドを色々な書き方で書いてみます。 要件 あまり複雑にしてもアレなので、State,WriterとIOの制約くらいにしておきます。 インスタンスはFunctor, Applicative, Monadのみ 内部にIntで0開始のカウンタと、DList Logで表現されるログを持つ incr :: Int -> DSL ()でカウンタを増減し、ログにI iを追加 reset :: DSL ()でカウンタを0に戻し、ログにRを追加 current :: DSL ()で標準出力に現在のカウントを出力。文脈内でそれ以外のIOは不可能とする runDSL :: DSL () -> IO (Int, [Log])でDSLを実行し、最後のカウンタの値とログを返す。 Logデータ型はこんな感じにして共通に使用し、
みんな大好きHaskell風altJS!みんな違ってみんな良いのですが、やはり気になるのは生成するjsの速度やサイズですね! 今回は竹内関数を使用してベンチマークを行ないました! エントリー javascript haste-0.4.3 fay-0.22.0.0 purescript-0.6.2 Elm-0.14 ghcjs-dev idris-0.9.15.1 ベンチマーク条件 ベンチマークには正格評価の竹内関数(Tarai)を使用した コードは以下のHaskell実装をベタ移植した1 2 コンパイルされたコードをuglifyjsにより圧縮した javascriptの実行にはnode-0.10.35を使用した ベンチマークは10回実行し、process.hrtime関数で計測した 実行環境はMac book air Mid 2011(メモリ4GB, CPU 1.8GHz Core i7)
こんにちは, Unity 初心者の @phi です. ちょこちょこ英語でコメント書いてたのですが, そろそろ自分の英語力では限界だったので @pkaichi san に教えを乞うたところ『Unityユーザー助け合い所』 なる Facebook Group で日本語入力できる MonoDevelop が配布されているという情報を頂いたので早速導入してみました. ※日本語IME出来るMonoDevelop-Unityを配布されている 鯡 マイケル さんに確認の上, このエントリーを書いております!! インストール MonoDevelop 日本語入力可能バージョンを こちら からダウンロード ダウンロードしたら .dmg ダブルクリック起動して MonoDevelop を Application フォルダに移動 ( MonoDevelop インストール done! ) MonoDevelop を
タイトルはちょっとふざけてますが, 地味に実用性あるかなと 思ったりするエントリーです. 前回, 『[Unity] Debug.Log で出力する文字の色を変えよう』というエントリーを 書かせてもらいました. んで, 引き続き調べてみると色以外にもサイズ変えたりボールドにしたり できるみたいですねこれ!! めっちゃ便利♪ http://docs.unity3d.com/Manual/StyledText.html ただ, 色とかサイズとかスタイルとか同時に指定してたら 文字列がタグだらけになってしまいます. そこで今回は, そうならないように文字列クラス(string)をメソッド拡張しちゃって スマートにデコれるようにしてみました.って話です. ※実際に使いたい方は, gist に書いたのでこちらから StringExtensions.cs を ダウンロードしてプロジェクトに追加して使って
表示 こんな感じでHtmlモジュールに定義されている、divやらのhtml要素の第一引数にAttributesを、第二引数に子ノードを与える形でDOMを構築していきます。 この例では100x100のdiv(elmのElementの制約により、サイズ指定が必要。Window.dimensionsを使用して常に全画面にして使用出来るのでそれ程気にならない)の中にテキストノード"Hello!"を持つdivが構築されます。 例では静的なページですが、勿論Signalやclickなどのイベントを使用して動的なページを作ることも出来ます。 TheSeamau5/GraphicsEngine WebGLを使用して3Dグラフィックスを扱うためのハイレベルライブラリです。 johnpmayer/elm-linear-algebraも一緒に使うように設計されているので一緒にインストールするべきでしょう(elm
個人的にずっと作ってるゲームライブラリ tmlib.js の紹介です! tmlib.js Advent Calendar 2014 初日の予定だったのにこのタイミングになってしまいすみませんmm ※『国民全員プログラマ化』計画進行中 tmlib.js ってなに? まずはトップページを見てください. なんとなく分かりますかね?w てかそもそもなんて読むの?って話ですよね. 『てぃーえむ りぶ ドット じぇいえす』と読みます. ざっくり言うと tmlib.js は phiのphiによるphiのためのオレオレライブラリ アイディアを即座に形にできるライブラリ です!! tmlib.js ってどんなことできんの? グラフィックス描いたり ゲーム作ったり ツール作ったり 具体的にはどんなよ? 具体的な機能としては コア機能の拡張 (最近 high.js に分離しました) クラス定義, ネームスペース
Elmとjavascriptのやりとりには、どちらかと言えば高レベルなportを使用するものの他に、 低レベルで、PureScript等で言うffiに相当する、Nativeモジュールという機能が有ります。 Elmのcoreモジュールやelm-htmlなど他のjavascriptライブラリとのやりとりにはこれを使っています。 Elmはまだ発展途上でcoreモジュールに足りない機能も多々有るので、Nativeモジュールは書ける方が良いでしょう。 本稿では現時点でcoreモジュールに無い、takeWhileの実装を通じてNativeモジュールの書きかたを解説します。 開発開始 なにはともあれelm-makeコマンドを使ってプロジェクトの雛形を作りましょう。 $ elm-make Some new packages are needed. Here is the upgrade plan. Ins
次のページ
このページを最初にブックマークしてみませんか?
『@phiのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く