2015. 6. 10. 03:39

Download the following Nuget Packages

  • xUnit.net
  • xUnix.net [Runner: Visual Studio]
  • AutoFixture
  • AutoFixture with xUnix.net data theories
  • Moq

Main Class and Interface
  • AutoFixture
  • var fixture = new Fixture();
  • Create<T>()
  • CreateMany<T>()
  • AddManyTo()
  • Inject()
  • Build<>()
  • With(), Without()
  • Do()
  • OmitAutoProperties()
  • Customizations.Add(ISpecimenBuilder inherited object)
  • ISpecimenBuilder



Posted by CoolDragon
2013. 11. 1. 14:43
    public static class Base64String
    {
        public static string Base64Encode(this string src, System.Text.Encoding enc)
        {
            byte[] arr = enc.GetBytes(src);
            return Convert.ToBase64String(arr);
        }

        public static string Base64Decode(this string src, System.Text.Encoding enc)
        {
            byte[] arr = Convert.FromBase64String(src);
            return enc.GetString(arr);
        }
    }
Posted by CoolDragon
2013. 9. 10. 09:15
1. class object
    [Serializable, XmlRoot("Field")]
    public class Field
    {
        [XmlAttribute("nm")]
        public string Name { get; set; }

        [XmlText]
        public string Text { get; set; }
    } 
2. serialize
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
StringBuilder sb = new StringBuilder();
using (XmlWriter writer = XmlWriter.Create(sb, new XmlWriterSettings() { OmitXmlDeclaration = true }))
{
    new XmlSerializer(typeof(Field)).Serialize(writer, type, ns);
}
string xmlString = sb.ToString();
3. deserialize
XmlReader reader = XmlTextReader.Create(new StringReader(xmlString));
XmlSerializer xmlSerializer = new XmlSerializer(typeof(Field));
var result = (Field)xmlSerializer.Deserialize(reader);
reader.Close();


4. Sample

public static XDocument Serialize<T>(this T source)

{

var ser = new XmlSerializer(source.GetType());

var sb = new StringBuilder();

using (var writer = new StringWriter(sb))

{

ser.Serialize(writer, source);

}

return XDocument.Parse(sb.ToString());

}


      public static T Deserialize<T>(this XDocument xmlDocument)

      {

          var xmlSerializer = new XmlSerializer(typeof(T));

          using (var reader = xmlDocument.CreateReader())

              return (T)xmlSerializer.Deserialize(reader);

      }


        



Posted by CoolDragon
2012. 10. 22. 17:39

첨부파일 참조..



MyBitis.zip


Posted by CoolDragon
2012. 10. 22. 17:31

<?xml version="1.0" encoding="utf-8" ?>

<sqlMap namespace="UserInfo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ibatis.apache.org/mapping">

  <alias>

    <typeAlias alias="MyUser"  type="MainApp.MyUser" />

  </alias>


  <statements>

    <!-- 동적 테이블 생성 -->

    <statement id='Create_Login_Log'>

      IF NOT EXISTS (SELECT 'X' FROM sysobjects where xtype = 'U' and name = 'Login_Log$yyyymm$')

      BEGIN

      create table Login_Log$yyyymm$

      (

      id int identity(1,1),

      name nvarchar(100)

      );

      END;


      IF NOT EXISTS (SELECT 'X' FROM sysobjects where xtype = 'U' and name = 'Login_Log2_$yyyymm$')

      BEGIN

      create table Login_Log2_$yyyymm$

      (

      id int,

      name nvarchar(100)

      );

      END;

    </statement>


    <!-- 동적 생성 테이블 데이터 Insert  -->

    <insert id="Insert_Login_Log" resultClass="int" >

      INSERT INTO Login_Log$yyyymm$ (name)

      VALUES (#name#);

      <selectKey resultClass="int" property="id" type="post" >

        SELECT @@IDENTITY AS VALUE;

      </selectKey>

    </insert>


    <!-- 동적 생성 테이블 데이터 Insert  -->

    <insert id="Insert_Login_Log2" resultClass="int" >

      INSERT INTO Login_Log2_$yyyymm$ (id, name)

      VALUES (#id#, #name#);

    </insert>


    <!-- 동적 테이블 데이터 조회 -->

    <select id="Select_Login_Log">

      SELECT *

      FROM Login_Log$yyyymm$ a inner join Login_Log2_$yyyymm$ b on a.id = b.id

      WHERE b.id = #id#;

    </select>

  </statements>

</sqlMap>

Posted by CoolDragon
2012. 10. 22. 17:25

1) iBatis.Net 프레임워크 다운로드

    http://blog.mybatis.org/


2) .NET 프로젝트 생성


3) iBatis.Net DLL 참조


4) config 파일 설정

 - provider 파일

 - sqlmap 파일

 - query 파일

Posted by CoolDragon
2012. 10. 4. 15:24

[닷넷용 Driver 다운로드]

 - http://github.com/mongodb/mongo-csharp-driver/downloads


[어셈블리 참조]

 - MongoDB.Bson.dll

 - MongoDB.Driver.dll


[샘플 코드]

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;


using MongoDB.Bson;

using MongoDB.Driver;

using MongoDB.Driver.Builders;



namespace ConsoleApplication1

{

    public class Entity

    {

        public ObjectId Id { get; set; }

        public string Name { get; set; }

    }


    class Program

    {

        static void Main(string[] args)

        {

            var connectionString = "mongodb://localhost/?safe=true";

            var server = MongoServer.Create(connectionString);

            var database = server.GetDatabase("test");

            var collection = database.GetCollection<Entity>("entities");


            var entity = new Entity { Name = "Tom" };

            collection.Insert(entity);

            var id = entity.Id;


            var query = Query.EQ("_id", id);

            entity = collection.FindOne(query);


            entity.Name = "Dick";

            collection.Save(entity);


            var update = Update.Set("Name", "Harry");

            collection.Update(query, update);


            collection.Remove(query);

        }

    }

}


출처:http://www.mongodb.org/display/DOCS/CSharp+Driver+Quickstart

Posted by CoolDragon
2012. 10. 4. 11:50

// 사용중인 DB 리스트 조회

show dbs;


// 선택 데이터베이스 사용

use [databasename];


// 사용중인 컬렉션 리스트 조회

show collections;


Index관련

// 인덱스 설정 (j열 인덱스 설정)

db.[collectionname].ensureIndex({j:1});
// 컬렉션에 설정된 인덱스 정보 조회

db.[collectionname].getIndexes();


// 선택 컬렉션 전체 조회

db.[collectionname].find();

// 선택 컬렉션에 조건식을 지정하여 조회

db.[collectionname].find({a:1});

// 선택 컬렉션의 결과를 배열형태로 조회

db.[collectionname].find().toArray();

// 선택 컬렉션의 결과 개수

db.[collectionname].find().count();


// 선택 컬렉션의 전체 삭제

db.[collectionname].remove();

// 선택 컬렉션에 조건식을 지정하여 삭제

db.[collectionname].remove({a:1});


// 선택 컬렉션 제거

db.[collectionname].drop();


// 선택 데이터 베이스 제거

db.dropDatabase();

Posted by CoolDragon
2012. 10. 2. 15:42

memCached 관련


[서비스]

 - 32bit : http://blog.couchbase.com/memcached-144-windows-32-bit-binary-now-available

 - 64bit : http://mnshankar.wordpress.com/2011/03/25/memcached-on-64-bit-windows/

 - 서비스 등록 및 실행


[.NET용 어셈블리 참조]

 - MemcachedProviders.dll

 - Enyim.Caching.dll

 - log4net.dll


[Config 작성은 첨부된 pdf파일 참조]

Using Memcached Cached Provider 1.2.pdf


[샘플]

TestmemCached.zip



Posted by CoolDragon
2011. 3. 31. 14:47
재귀호출에 따른 하위폴더 접근 및 파일 삭제 코드 샘플이다.

샘플에는 선택한 경로에 .svn폴더가 있으면 그 .svn 폴더 정보를 모두 삭제한다.



RemoveSvn.zip

Posted by CoolDragon