しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

その他

ドメインモデルとドメイン駆動開発とは何か調べてみた

ドメインモデルとは ドメインモデル(英: Domain model)は、システムに関わる様々な実体とそれらの関係を説明するシステムの概念モデルである。 ドメインモデルは、システムの鍵となる概念と用語を文書化するために作成される。 ドメインモデルでは、システ…

ファーストクラス・コレクション とは

ファーストクラス・コレクションという設計パターンについて調べてみました。 ファーストクラス・コレクションとは 配列をも全てクラスを作ってラップする手法です。 例としてProductsの配列を直接変数にせずに、ProductListというクラスを通して変数化する…

Tell, Don't Ask(求めるな、命じよ)

Tell, Don't Ask(求めるな、命じよ)という原則について調べてみました。 Tell, Don't Ask(求めるな、命じよ)とは クラスの役割についての原則です。 クラスを呼び出す側はAsk(求める事)はせずにTell(命令)だけするべきという原則です。 下書籍が出典のよ…

コマンドとクエリ分離原則を調べてみた

コマンドとクエリ分離原則と言う原則について調べてみました。 コマンドとクエリ分離原則とは 簡単に言うと、メソッドは 取得/更新 のどちらかだけを行うという原則です。 データの取得をする場合は更新を行わないしデータの更新をする場合は値を返さない。 …

完全コンストラクタという良さ気な設計方法

完全コンストラクタという概念を知ったのでその事について書いてみます。 完全コンストラクタとは インスタンスの初期化時に全てのプロパティーが決まってその後変化しないようにする事です。 具体的には下のようなクラスを指します。 valueの値は初期化時に…

オブジェクト指向とは何か

今携わっているアプリの規模が大きくなってきたので、最近はクラスの分割をするようになってきました。 そこで「色々考えて分割はしているんだけどイマイチ何が正しいか分からない」って状態だったので答えを出す助けになりそうなオブジェクト指向についてち…

技術ブログを100日間書き続けてみた結果とか感想

先日ついに"継続期間"が3桁突破したので結果とか感想を書いてみようと思います。 ブログを100日間書いた結果 アクセス数 ありがたい事に1日150人前後が来てくれるようになりました。 ブログを放置していた頃は1日50人程だったので3倍くらいにはなりました。 …

React.js初心者がReactでToDoアプリを作ってみる - その1

今更ながらReactJSを勉強をしたメモです。 ReactJSとは JSのフレームワーク Facebookが作った Reactを動かしてみる 公式サイトに書いてある通りにStarter Kitをインストールしてサンプルを動かしてみました。 Getting Started | React <html> <head> <meta charset="UTF-8" /> <title>Hello React!</title> <script src="./react.js"></script> <script src="./JSXTransformer.js"></meta></head></html>

@ITで記事を書かせて頂きました

この度記事を書かせて頂いたので記事の紹介と書いた経緯や感想を書いてみます。 書いた記事 書いた記事はObjective-cからSwiftへの移行方法に関する記事です。 「まだObjective-cからSwiftへ移行してないけどそろそろ移行したい」って人向けの内容になってい…

1.5ヶ月毎日ブログを書いた結果とか雑感

ブログもついに連続更新48日まで行ったので結果とか雑感をまとめてみたいと思います。 本当は1ヶ月の時点で書こうと思ってたのですが他の事書いてたら時間が経ってしまって1.5ヶ月という中途半端な数字になってしまいました。 どんな事を書いたか プログラミ…

Cocos2d-x with luaを使ってゲームをリリースしました

先日、初めてCocos2d-xを使ったゲームをリリースしました。 今回はCocos2d-xの知見やCocos2d-xの感想を書いてみようと思います。 Avoiding Ball - ワンタップでできる簡単でシンプルな無料ゲームhiroki sugimotoゲーム無料 Cocos2d-xとは Cocos2d-xとはゲー…

Cocos2d-luaで四角を記述する方法

下のように書きます。 nodeを生成してそれのdrawPolygonを呼びます。 local node = cc.DrawNode:create() local points = { cc.p(0, 0), cc.p(20, 0), cc.p(20, 20), cc.p(0, 20) } local color = cc.c4b(51, 51, 51, 1) node:drawPolygon(points, table.get…

Cocos2d-x v3 Luaで円を生成する方法

円の生成は下のように行います。 ccとはcocos2dが作ってくれる変数です。 function MainScene:onCreate() -- ball local drawNode = cc.DrawNode:create() drawNode:drawDot(cc.p(40, 40), 20, cc.c4f(102/255, 102/255, 102/255, 1)) self:addChild(drawNod…

Lua 概要

Cocos2dの勉強でLuaを触り始めたので概要をまとめてみました。 特徴 スクリプト言語 軽量で高速 文字列 文字列は""か''で表します。 文字列連結は下のように..で実現できます。 "hello".."world" テーブル型 Luaには配列や連想配列がなく、代わりにテーブル…

Cocos2d-xでゲーム作りの環境構築

Mac上でCocos2d-xのゲーム開発環境を作るまでのメモです。 Cocos2dとは Cocos2dとはゲーム作成フレームワークです。 簡単に言うとC++/Lua/JS等でゲームを作れてそれをiOS/Android等 複数環境向けに書き出せるものです。 Cocos2d-xとは別プロジェクトのようで…

gitでremoteブランチに切り替えるコマンドを短縮する

悩み 下コマンドをremoteブランチに切り替えてたんですが長くて辛いので短縮方法を調査。 $ git checkout -b remote_branch -t origin/remote_branch Branch remote_branch set up to track local branch master. Switched to a new branch 'remote_branch' …

プロは自分の限界を知っている (CleanCoder 感想)

書籍 【CleanCoder】を読んだ感想です。 この本ではプロとしてどう振る舞うべきかについて記述されていました。 プロは自分の限界を知っている この本の中で一番心に残った言葉です。 プロは自分は何ができてできないかを把握している。 把握しているから無…

「コーディングを支える技術」 感想

「コーディングを支える技術」を読んだ感想です。 本の概要 この本は、例外・関数・スコープ・オブジェクト等の比較的基本的な概念について詳しく書かれた本です。 機能の挙動について書くだけでなく、そういった機能はどうして言語に組み込まれたかという歴史的…