Quantcast
Channel: Modegramming Style
Browsing all 149 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

MindmapModeling「チャネルの多様化で難題と化す予算の最適配分」

12月15日(土)に横浜モデリング勉強会(facebook...

View Article


Image may be NSFW.
Clik here to view.

SimpleModeler 0.4.0

モデルコンパイラSimpleModeler 0.4.0をリリースしました。マインドマップ(XMind)、SmartDox...

View Article


Scala Tips / トレイトでクラス分割

Scalaプログラミングの便利さを日々体感しているわけですが、その重要な要素の一つがトレイト。トレイトは関数型言語のものではなく、オブジェクト指向プログラミングの技術ですが、そのあるなしはプログラミング・モデルに大きく影響します。Scalaにおけるクラス設計は、このトレイトの存在だけを意識するとしてもJavaのそれとは別ものということができます。トレイトには色々な用途がありますが、最近ボクが地味に多...

View Article

Scala Tips / トレイトと抽象クラス

クラスの多重継承の問題点は、クラスの継承関係が循環グラフになってしまった場合に、循環してかち合ってしまったクラスの扱いが非常に難しいということです。循環してかち合ってしまったクラスは一つにまとめたほうが良いのか、別管理にしておいた方が良いのか、用途によってどちらもあり得ます。これに付随して、初期化の順番やメソッド呼び出しの解決の順番など、プログラミングを複雑に解決が難しい難問があります。こういった問...

View Article

ゆるふわScalaプログラミング・振り返り(7)

11月30日に開催されたBPStudy#63で「Scalaプログラミング・マニアックス」について、「ゆるふわScalaプログラミング」 といった方向性で振り返りをしています。その7はトレイトです。Scalaプログラミング・マニアックス from Tomoharu...

View Article


Image may be NSFW.
Clik here to view.

メッセージ・フロー図

システム・アーキテクチャなどを記述するモデル図を作成する際に困るのが、データ・フローとコントロール・フローの使い分けです。同期処理のみで構成される処理の場合は、データ・フローとコントロール・フローが一致するケースが多くなります。この場合、データ・フローまたはコントロール・フローのどちらか一方を書いておけば十分です。しかしクラウド・アプリケーションのようにいたるところで非同期処理やバックグラウンド処理...

View Article

Image may be NSFW.
Clik here to view.

MindmapModeling「日本は「シェールガス革命」の恩恵を受けることができない?」

2月16日(土)に横浜モデリング勉強会(facebook...

View Article

Scala 2.10

つい先日Scala 2.11がリリースされたばかりですが、タイトルの「Scala 2.10」は間違いではありません。一昨年の後半からとあるシステム開発に注力していたため時間が取れずブログ更新を中断していましたが、ようやく一段落してきたので、自分向けに技術情報の棚卸しをしていくという意味でもぼちぼち書いていきたいと思います。最近うれしかったことの一つはようやく製品開発にScala...

View Article


かんたんScalaz/Boolean編

Scalaz 7を本格的に使い始めたので、Scalaz 7を包含したコーディング・イディオムの棚卸しをしています。Scala 2.10の基本機能とScalaz...

View Article


かんたんScalaz/Booean論理記号

ScalazではBooleanに以下の論理演算子を追加しています。演算子意味別名Scala∧Conjunction, AND/\&&∨Disjunction, OR\/||!||Negation of Disjunction, NOR!&&Negation of Conjunction, NANDーー>Conditional<ーーInverse Conditional⇏Negational of...

View Article

かんたんScalaz/Option編

かんたんScalazのOption編です。Scalaプログラミングでは、Optionはキーとなる重要なオブジェクトで、Optionの取り回し方の優劣がプログラミングの精度・効率に大きく作用します。ScalazでもOption向けに多くの機能を用意しています。「かんたんScalaz」ということでScalazが提供しているMonadやMonoidといった難しい概念を抜きにして便利に使えるOptionの機...

View Article

かんたんScalaz/Option編 SomeとNone

Optionを使う場合にSomeやNoneを作成する処理は当然ながら頻出です。scala> val a = Some(5)val a = Some(5)a: Some[Int] = Some(5)scala> val b = Noneval b = Noneb: None.type =...

View Article

実用Scalaz/Option + Monoid

OptionはScalaプログラミングのキーパーツであり、Optionの捌き方の巧拙がScalaプログラミングの効率に直結します。これと同様にMonoidはScalazプログラミングのキーパーツということができるかと思います。Monoidの捌き方の巧拙がScalazプログラミング、さらにはMonadicプログラミングの効率に直結することになるでしょう。そして、ScalazのおいてOptionは代表的...

View Article


Scala Tips/ライブラリ選択(2014年6月バージョン)

どのようなプログラミング言語を使っても、本格的な応用では基本ライブラリだけでニーズが満たせるということはなく、用途に応じて外部ライブラリを併用することになります。Scalaプログラミングをする上で、ボク的に常に使用するライブラリというのがだいたい固まって来たのでまとめてみました。scalaz以下の理由で手放せないライブラリになっています。「かんたんScalaz」としてご紹介している各種の便利機能型ク...

View Article

実務者のためのかんたんScalaz

一昨年からEverforthに参画してScalaを使ってとあるシステム開発を行いつつ、クラウドアプリケーションの開発技法について整備してきましたが、ある程度方向性が見えてきたので、札幌の開発部隊に情報展開するための勉強会を企画しました。クラウドアプリケーションの開発は、ちょうど業務アプリケーション開発にオブジェクト指向技術が導入された時と同じようなパラダイムシフトが起きることになると予想されます。新...

View Article


Image may be NSFW.
Clik here to view.

関数型プログラミング技術マップ2014

来週の月曜(7月7日)に札幌で「実務者のためのかんたんScalaz」という勉強会を予定しています。この勉強会は、クラウドアプリケーション開発の基本技術の情報展開を目的としたもので、以下の勉強会をシリーズで行っていく予定です。実務者のためのかんたんScalaプログラミング実務者のためのかんたんScala入出力プログラミング実務者のためのかんたんScala設計実務者のためのかんたんオブジェクト指向分析/...

View Article

Scalaz勉強会しました

APPAREL...

View Article


Operationalモナド

おぼろげな記憶ではFreeモナドが話題になったのが一昨々年、Operationalモナドは一昨年だったと思うので、いまさらの感もありますが、ScalazでOperationalモナドが簡単に使えることが判明したのでメモしておきます。Freeモナドは、FunctorをMonad化することができるモナドですが、以下の性質を持ったインタープリターのDSLを簡単に作れることで知られています。トランポリン化に...

View Article

Operationalモナドの合成

ScalazでOperationalモナドが簡単に使えることが分かったので、次の段階としてxuweiさんの書かれた「CoproductとInjectを使ったFree Monadの合成とExtensible...

View Article

Scalaz 7.1の非互換項目

プロダクトで使っているScalazをscalaz 7.0.6からScalaz 7.1に上げたわけですが(Operational Monad)、その際に判明したScalaz...

View Article
Browsing all 149 articles
Browse latest View live