Archive for 2月, 2017

デザインパターンについて

月曜日, 2月 27th, 2017

どうも、こんにちは。
新入りのtaka-kです。

会社の先輩、naoyaさんに続いて、技術的な話題で投稿させていただきますm(_ _)m
私は「デザインパターン」について学習記事を投稿します。

まずは「デザインパターンとは何か?」から。
ネットで検索すると定義についてはいろいろと出てきますが、
簡潔にかつ一言でデザインパターンについて説明すると
「よく出会う問題とそれにうまく対処するための設計」
となるのではないかと思います。

我々もよく設計、プログラミングをしていると同じような問題に直面することが多々あります。
その場合、過去、「自分がどのように設計したか?」を参考に解決策を模索します。
そういった解決策を体系化したものがデザインパターンになります。

デザインパターンについてはいくつか種類があります。
一番、有名なものが「GoFの23のパターン」で一般的にデザインパターンといえば、
これを指すようです。

他にも、以下のようなデザインパターンがありますが、本投稿では一番有名な
「GoFの23のパターン」と私が興味を持った「アンチパターン」について触れて
行きたいと思います。

・J2EEパターン
・アンチパターン
・アーキテクチャパターン
・アナリシスパターン
・アンチパターン

◆GoFの23のパターン
GoFの23のパターンには以下のような種類があります。
次回からはこれらを詳細に触れていこうと思います。

●生成に関するパターン
・アブストラクトファクトリ
・ビルダ
・ファクトリメソッド
・プロトタイプ
・シングルトン
●構造に関するパターン
・アダプタ
・ブリッジ
・コンポジット
・デコレータ
・ファサード
・フライウェイト
・プロキシ
●振る舞いに関するパターン
・チェイン・オブ・レスポンシビリティ
・コマンド
・インタプリタ
・イテレータ
・メディエータ
・メメント
・オブザーバ
・ステート
・ストラテジ
・テンプレートメソッド
・ビジタ

次回 「アブストラクトファクトリ」

【参考URL】
http://www.nulab.co.jp/designPatterns/designPatterns1/designPatterns1-2.html
http://www.techscore.com/tech/DesignPattern/foundation/foundation1.html

【参考文献】
Java言語で学ぶデザインパターン入門

959日目

月曜日, 2月 20th, 2017

こんにちは、F513です。
スタッフ持回りでブログ投稿が11週目となりました。
2014年7月8日に開設されたんで、959日目となります。

1000日まで、あと41日

記念すべき1000日目は誰が投稿するんでしょうね。
楽しみですね~。

さて、今年も我が家ではお雛様を出しました。

毎年わからなくなるのが、お内裏様とお雛様の位置!!
結論:どっちでも良い
京都風では、お内裏様は向かって右だそうです。
関東では、お内裏様は向かって左だそうです。
どうしてそうなったかは、諸説いろいろあるそうです。
で、結局、お内裏様が向かって左、お雛様が向かって右に直されました。

今年は、3月5日が日曜日なので、ひな壇を直して、五月人形を出すことになるんだろうな( ^ω^)・・・
そして五月人形はハロウィンかクリスマスまで出しっぱなし・・・

では、また。

以上

p.s.
男兄弟しかいないんで、桃の節句って何するのかよくわかんない ^^);

大分を満喫するには?

火曜日, 2月 14th, 2017

初めての投稿になります。
新入社員のtaka-kです。

私は最近、大都会東京から大分に帰ってまいりました。
長らく大分を離れていたので、何らかの手段で大分を満喫しようと思っています。

やはり大分といえば、温泉。
そして、私は温泉が大好きです。
というわけで、このようなものを買って温泉を満喫することにいたしました。

このスパポートをもって別府温泉から選ばれた144の温泉のうち88か所をめぐるスタンプラリーを「別府八湯温泉道」というようです。
88か所のスタンプがそろうと、別府温泉道名人の称号がもらえます。

別府温泉道名人を目指して温泉を巡っていこうかと思っています。
(まだ、1か所しかいってないので、先は長いですが・・・。)

[ちょい遅れ]2016年あんなこと、こんなこと

月曜日, 2月 6th, 2017

我が家のPC、テレビ周りの変化といえば、誕生日に友人からコンポが送られてきたのと、taka84氏に譲ってもらったノートPCが絶賛稼働中なくらいです。(画面はテレビ、音はコンポへ出力)
13996081_671355026345951_6570767347051430530_o

…taka84氏のブログをオマージュしようとしましたが断念します。crownです。

今年も始まって既にひと月が経ち、もう二月ですね。
しかしこのタイミングで昨年を振り返ろうと思います。
まぁ、以前も振り返ってましたし。。。(書くことも思い浮かばないですし…)

~~~

年末年始は大分にいたので
「馬刺し食いてぇな」→熊本
「黒豚食いてぇな」→鹿児島
車のある生活は最高ですね。
1618329_571772372970884_6247792021368462086_o 775088_571772386304216_2205551219391824989_o

あと、山口の角島大橋も走ってきました。冬の海も良いものですね。
12465902_574538096027645_6406256476177870578_o 12493872_574538082694313_3705482706185177826_o

01月10日:『今、話したい誰かがいる』発売記念 全国握手会@幕張メッセ

2月は池上本門寺や亀戸天神で梅を撮影しました。
お寺や神社は落ち着きますねぇ。
12719092_589895574491897_8008355287010791915_o 12719651_589895647825223_3101479116007764352_o

4月は千葉へ
念願のカピバラとのふれあい
想像以上の鋭い眼光、巨大な体にビビりながらも撫で回しました。
13029478_621260628022058_9137089694346093722_o 13062902_621260668022054_1753605587064405998_o

04月16日:『ハルジオンが咲く頃』発売記念 全国握手会@幕張メッセ

5月、GWは近畿地方へ
兵庫で姫路城や神戸牛
13116264_627286504086137_2438902602977967181_o 13130973_627287320752722_4785349885408573669_o
京都で伏見稲荷大社や鴨川川床での食事
SONY DSC 13147555_627286577419463_4362310893422031891_o
三重で伊勢神宮や松阪牛
13131551_627286730752781_9055386900545745549_o 13123314_627287474086040_4226794246095702372_o

05月04日:『ハルジオンが咲く頃』発売記念 全国握手会@京都パルスプラザ

07月10日:『それぞれの椅子』発売記念 個別握手会@パシフィコ横浜

9月、SWは中国地方へ
詳しくは以前のブログ参照
09月04日:『裸足でSummer』発売記念 全国握手会@幕張メッセ
09月26日:『裸足でSummer』発売記念 個別握手会@パシフィコ横浜

10月は舞台鑑賞
『嫌われ松子の一生』 『墓場、女子高生』
14525005_694572257357561_4537036155200589794_o 14712517_705969002884553_1506481058928823518_o

10月23日:『裸足でSummer』発売記念 個別握手会@パシフィコ横浜
10月29日:『裸足でSummer』発売記念 個別握手会@幕張メッセ

11月は丸の内イルミネーション
例年は表参道や渋谷に出没するのですが気持ち落ち着いたのでしょうか。
IMG_2447

11月13日:『裸足でSummer』発売記念 個別握手会@パシフィコ横浜

~~~

後半になるにつれて偏りが見えますがこんな感じの年でした。(偏ってるやつは東京を省いたのですが…)
一昨年「来年はもう少し遠くに行きたいな」と書いていたのを考えるとまぁクリアできたような、できていないような
今年も色んな所へ行けたら良いですね。

関数指向について

金曜日, 2月 3rd, 2017

関数指向について

 こんにちは。naoyaです。

 毎月一回のプログラム学習記事の投稿です。

 第四回は、「関数指向」について、調べたことをまとめていこう
と思います。

・関数指向
  いわゆる、「関数型言語」と呼ばれる類の言語の設計手法。オ
 ブジェクト指向言語でも使えるところが多い。
  正確な定義等は存在しないが、関数型プログラミングは、複数
 の式を関数を使って組み合わせていくプログラミングスタイルで
 ある。ということは認知されている。
  関数(function)中心の設計で、小さな関数を組み合わせて大
 きな処理を実現しようとする考え方。
  C#では、デリゲート(メソッド(関数)を参照するための型)や、
 ラムダ式(メソッド(関数)を整数などの変数と全く同列に扱う手
 法)などが実装されている。

・関数型言語の特徴
 1.第一級関数…関数を変数に格納できる性質を持ち、第一級オブ
       ジェクトと同じように扱うことができる→関数の受
       け渡しが容易になる。
 2.高階関数…関数を返したり、他の関数を引数として受け取った
      りできる関数。
 3.純粋関数…値を変更しない関数。データを受け取って、データ
      を出力するだけの関数。環境や評価の順などの影響を
      受けない。同じ入力が与えられるたび、決まって同じ
      出力が得られる。プログラムのほかの部分に影響を与
      えない。
 4.クロージャ…戻り値となる特定の関数だけがアクセスできる
       データを関数の内部に保存できる機構。つまり、戻
       り値となる関数は、その実行環境を維持できる。
       引数以外の変数を実行時の環境ではなく、自身が定
       義された環境で解決することが特徴。関数とそれを
       評価する環境のペアであるともいえる。
 5.不変状態(不変性)…状態を全く変更できないこと。状態の変更
          に対するテストを少なくできる。

 関数指向という言葉は、最初に6か月分のお題を決めた時に初め
て聞きました。その内容についても、未だ業務では使ったことのな
い事ばかりだったので、調べても内容が理解できないものが多かっ
たです(ラムダ式とデリゲートのみ、聞いたことがある程度)。
 調べてみた印象としては、関数指向は、データの流れが分かりや
すくなり、総合的にテストをするときの負担が軽くなる、テストが
しやすくなる。ということが所々に書いており、オブジェクト指向
の「開発のしやすさ」とは違う所に重点を置いているという風に感
じました。
 オブジェクト指向言語とは違い、関数型言語にはまだ触れたこと
がないので、触れる機会があれば、今回調べたことを思い出しなが
らやっていきたいです。

 次回(第五回)は「メモリとリソース管理」について、調べていこ
うと思います。

参考URL:
http://postd.cc/functional-programming-should-be-your-1-
priority-for-2015/

http://www.ibm.com/developerworks/jp/java/library/j-ft4/
https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%
B8%E3%83%A3

http://ufcpp.net/study/csharp/
http://syossan.hateblo.jp/entry/2016/07/16/211248
http://qiita.com/lrf141/items/98ffbeaee42d30cca4dc