並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 13 件 / 13件

新着順 人気順

PhantomTypeの検索結果1 - 13 件 / 13件

  • Phantom Type(幽霊型)入門ですー>ω<

    あいさつ>ω< みなさん、お久しぶりです、月影です>ω< 「いつかブログを書こう」と思っていたら、なんと一週間もたってしまいました(゚д゚)! 「いつか」なんて考えていちゃいけませんね、「今でしょ!」の精神でいかなくちゃです>ω< というわけで、今回はPhantom Typeについてのお話です>ω< Phantom Typeってなんです(・ω・? Phantom Type…、幽霊型… みなさん、ご存知でしょうか(・ω・? わたしは昔に何度かTwitterで見かけたので、名前だけは知っていました(`・ω・´) かっこいい名前だな―って感じです>ω< ファントム・タイプ!!! で、ちょっと面白そうな香りがしたので調べてみましたのです>ω< Phantom Typeさん、名前は仰々しいですが、その実態は非常に単純なものでした>ω< Phantom Typeとはつまり、こういうことです>ω< え(

    • Phantom Type in Scala

      Phantom Type自体の説明はほとんどありません。Implicit parameterを使って、コンパイル時にごにょごにょやる方法を通し、型の表現によっていろいろできることを説明しています。Read less

        Phantom Type in Scala
      • Rust で Phantom Type (幽霊型) - Qiita

        はじめに 『Servoにおける単位系の静的チェック』という記事を読んでから、これを実現する方法がずっと気になっていたのだが、現状、 std::marker::PhantomData についての日本語文献が見当たらないので、メモ書きとして本稿を描いた次第である。 なお、使用したコンパイラのバージョンは rustc 1.10.0 (cfcb716cf 2016-07-03) 。 Phantom Type (幽霊型) について 幽霊型とは、型検査を利用したデザインパターンの一つ。インスタンスの状態を数値や文字列といった実際の値として持つのではなく、型パラメータとして持つことで状態の検査を実行時ではなくコンパイル時に行う。実行時にはこのパラメータが存在しないことから幽霊型と呼ばれる。(2016年9月2日訂正)改めて調べてみたところ、見た目上は現れない制約を付与するところがあたかも幽霊のようであるこ

          Rust で Phantom Type (幽霊型) - Qiita
        • スタンドファーム株式会社のよいところ

          株式会社ファントムタイプは昨年末からスタンドファーム株式会社にてMisocaの開発に参画させていただいております。 最近、ここ7ヶ月ほどの取り組みの一部をブログ記事として寄稿しました。 Misoca開発プロセスの今までとこれから Misocaで行ってきたことがいろいろお分かりいただけると思います。ここでは、補足として私(小久保)が思っているスタンドファーム株式会社のよいところを紹介したいと思います。 ワークライフバランスが安定している 残業をする文化がありません。19:00を過ぎるとほぼオフィスに人はいません。 (co-founderのマツモトさんは自由に仕事する人なので夜遅くまでいたりします) 自分はプロジェクトに入ってから残業らしい残業はしたことがありませんし、お願いされたこともありません。 もちろん無茶なタスクを振られたり、ということもありません。 身を粉にして働くことに価値を感じて

            スタンドファーム株式会社のよいところ
          • 今の会社を辞めるか悩んでるときに考える4つのポイント

            最近「モチベーション3.0」を再読してるのですがやはりプログラミングという知識労働の仕事では モチベーションが大事ですよね、というのをあらためて認識しています。 わたしは社会人になってから約9年経ちます。(ブランクが10ヶ月ありますが) その間、会社を2回辞めてなんとなく独立して株式会社ファントムタイプ社長という肩書になったわけですが 今まで会社を辞めるにあたって指標としてきた自分なりの基準をまとめてみたいと思います。 仕事で得られるものがない、または薄い 業務外の時間で仕事のことを考えたときに「負けた…」と思う 毎朝、会社に通勤するのが苦痛 自分ができること、やりたいことと実際にやれることとの乖離が激しい 仕事で得られるものがない、または薄い 働いてるプログラマー自身の恩恵は何よりもマスタリー(熟達)であると思います。 (もちろん最低限の給料を保証したうえでの話です) プログラマーである

            • 型安全なリストに対する補足とGADTsの話ですー>ω<

              お久しぶりですー>ω< 気がついたら一ヶ月も経っていてしまいました(´・ω・`) 前回の記事で実際に動かすことの出来ないtailを公開してしまったので、この記事はその謝罪と説明と補足になります(`・ω・´) 前回の記事で問題だったところ(・ω・? 問題だったのは、具体的にはここですm9(・∀・)ビシッ!! このtailは残念なことに型エラーが出て動かないのです(´・ω・`) なぜなのでしょうか?? 出てきたエラーメッセージを見てみます>< SafeList_by_PhantomType.hs: Couldn't match type `y' with `x' `y' is a rigid type variable bound by a pattern with constructor Cons :: forall x a y. a -> SafeList y a -> SafeList

              • 型安全なリストを作るのです(`・ω・´) ~ その1、Phantom Type(幽霊型)入門ですー>ω<

                2月 20 2014 型安全なリストを作るのです(`・ω・´) ~ その1、Phantom Type(幽霊型)入門ですー>ω< Phantom Typeってなんです(・ω・? Phantom Type…、幽霊型… みなさん、ご存知でしょうか(・ω・? わたしは昔に何度かTwitterで見かけたので、名前だけは知っていました(`・ω・´) かっこいい名前だな―って感じです>ω< ファントム・タイプ!!! で、ちょっと面白そうな香りがしたので調べてみましたのです>ω< Phantom Typeさん、名前は仰々しいですが、その実態は非常に単純なものでした>ω< Phantom Typeとはつまり、こういうことです>ω< え(・ω・? どういこと(・ω・? これだけでは分かりにくいかもしれませんです(´・ω・`) ですがよく見てください。PhantomType型は二つの型変数を取りますが、右辺のデ

                • で、出たー!幽霊型だー!(Phantom Type) - Qiita

                  はじめに この記事はDenis Shevchenko氏の講演、The Way to Simplicity: How Haskell Simplifies Code Maintenance.を参考に書かせていただきました。 概要 この記事ではHaskellのデザインパターンの1つである幽霊型(Phantom Type)について取り上げたいと思います。 完成したコードはGitHubにもアップロードしているのでそちらも参照してみて下さい。 https://github.com/HirotoShioi/PhantomType 今回はメッセージの暗号及び復号を行うライブラリの開発を行い、開発する上で発生した問題を幽霊型を用いることで如何に解決できるかを紹介します。 初期実装 まずはMessage型を定義しましょう 次にメッセージを暗号化し、それを復号する関数encrypt,decryptを実装しまし

                    で、出たー!幽霊型だー!(Phantom Type) - Qiita
                  • UIとUXの違い、そしてUXについての考察 – Phantom Type Co. Ltd

                    どうも、こんにちは。こくぼです。 最近MisocaでUXを考えることが多くなってきました。 世間一般的にUIとUXが一括りにくくられていたのにぼくはずっと違和感がありました。 ここでは自分なりにUIとUXの違いについて考えていることを書いてみたいと思います。 UIとUXの違い ぼくは、UXで設計したことがユーザーの目に見える形になったものがUIだと思っています。例えば、文字や文章、アイコンや図、ボタンやテキストフィールド…などです。 とある画面があったとして… UXで考えること 「ユーザーがこの画面で期待することはなんだろう?」 「ユーザーは何を期待してこの画面にくるのだろう?」 「ここではユーザーどういう情報を入力させてどういうフィードバックを返すべきか?」 「この画面でユーザーに何をさせたい?」 実際には一画面だけではなく、複数の画面をつなげて一覧の流れとして考えることになります。

                    • これから人の父親になるあなたへ

                      男というものは勝手で子どもができたと告白された瞬間には嫌な思いが頭をよぎる。告白者のことを思うとほんとうは喜んであげたいのだが瞬間的に素直に笑顔をつくれない。相手はそんなあなたの動揺を見逃さない。将来に渡っていつまでもグチグチ言われることになる。 あなたはできてしまったものは仕方ないと現実を受け入れようと努力して心の準備をしていくことになる。産まれてからの不安を抱きながら生活を送ることになる。 心の中は不安でいっぱいである。なにせ人の父親になるということは自分が子どものときに両親にやってもらっていたあれやこれやを自分が行うことになるのだ。今まで自由気ままに生きてきたのにそんな自分が立派な父親になれるというのか? 現実に起きてしまったことと父親になることへの不安と未知の期待をもってあなたは父親になるための準備へと向かう。 母親になる相手のケアは十分にできているだろうか?産まれたときに上手に抱

                      • スタートアップ企業で働く醍醐味

                        皆さん、こんにちは。 株式会社ファントムタイプは昨年末から名古屋を代表するスタートアップ企業であるスタンドファーム株式会社にお世話になっています。スタンドファームではMisocaという請求書管理ができるBtoBのWebサービスを提供しています。 今まで私はいわゆるSIerという経験しかしてこなかったため、初めてのスタートアップということでとても興味深い毎日を過ごしております。まだ2ヶ月ちょっとしか働いていませんがスタートアップで働く醍醐味みたいなことを書いてみたいと思いました。 SIerとスタートアップで何が違うのか?ざっくりと言葉を並べてもSIerでもそれこそ多種多様なお仕事があるし、スタートアップといってもいろんな種類があります。なのでここではあくまでも私の個人的な経験に基いて書きます。 前提 SIer:大人数(マルチベンダー)でウォーターフォールで工程が進むごとに偉い人の承認が必要

                        • ソフトウェア開発の楽しさは空白を埋める作業にある(と思っている)

                          ソフトウェア開発では設計と実装を繰り返しながら機能の完成度を高めていくことがよく行われていると思いますが、最初にザッと設計したものを実際にプログラミングしていくと当初の思惑とは違っていたり、設計の漏れが発生することがよくあります。 それは内部的なコードの話しであったり、ユーザーインタフェースであったり、エラー時の例外処理であったりします。 そういうことが起こった時に、どう対応するのが1番スマートに解決できるのか、を考えるのが実装担当のプログラマーのソフトウェア開発における楽しみだと思っています。 漏れが発生したときに偉い人に 「設計に漏れが発生しました、どうしましょう?」 よりも 「設計に漏れが発生したんですけど、こんな感じで対応しようと思うんですけどどうでしょう?」 と言えた方がかっこいいですよね。(まあそれを言うがために時間を使いまくった挙句偉い人にそれじゃないと言われたら本末転倒です

                          • UNIVERSE AdsでのScala 幽霊型 (Phantom Type) の活用方法 - MicroAd Developers Blog

                            はじめに こんにちは。マイクロアド21年卒サーバーサイドエンジニアの陶山(id:suyama_naoki)です。普段は主にDSP (UNIVERSE Ads) の開発を行なっています。 今回の記事では、UNIVERSE AdsでのScala 幽霊型の活用方法について共有させていただきます。 はじめに Scalaの幽霊型 (Phantom Type) とは 具体例 UNIVERSE Adsでの幽霊型の活用方法 Currency.scala AdPrice.scala AdPriceのcompareメソッドを呼び出す まとめ Scalaの幽霊型 (Phantom Type) とは 幽霊型 (Phantom Type) とは、コンパイル時には検査されるが、コンパイル後のプログラムでは消えているような型パラメータのことです。 コンパイル時の型検査を利用したデザインパターンとして認知されています。

                              UNIVERSE AdsでのScala 幽霊型 (Phantom Type) の活用方法 - MicroAd Developers Blog
                            1