728x90
300x250

[MS SQL Server 2008] Table 존재 여부 확인하기(Sysobject를 이용한 방법)

 

MSSQL의 쿼리를 이용한 Table 존재 여부 확인하는 방법입니다.


1. SQL

select * from sysobjects where name= ' '

 

이 명령어를 사용하면 Table 생성 여부를 쉽게 파악할 수 있습니다.

반응형
728x90
300x250

[jQuery] Show(), Hide()

 

CSS에서 Show, Hide는

 

Display:none;

Display:block;

 

이와 같은 사항으로 표현합니다.

 

jQuery에서는

 

Show(), Hide() 명령어로서 이와 같은 기능을 수행할 수 있습니다.

 

다음은 응용예제입니다.

Show()와 Hide() 제어에 관한 예제입니다.

 

<script>

     $(document).ready(function(){
            $("#ckDiv").hide()

$("#button_sub").click(function(){

if($("#ckDiv").css("display") != "none"){

$("#ckDiv").show();

}else{

$("#ckDiv").hide();

}

});

});

</script> 

 

<div id="ckDiv">

야호

</div>

 

<input id="button_sub" type="submit" values="제어"> 

 

 

이상입니다.

반응형
728x90
300x250
[PC 활용] Visual Studio 2012) 느릴 때, 속도 향상 팁

 

간혹 Visual Studio 2012를 사용할 때, 느려진 경우가 종종 생깁니다.

한 커뮤니티에 올라온 글 중에서 느려진 이유는 다음과 같다고 정리되어 있어서 올려보게 되었습니다.

 

* 주요 느린 요인

1. 더 스마트해진 인텔리센스 사용 및 검색/탐색 데이터베이스 업데이트 사용

2. 소스제어 팀파운데이션시스템(TFS) 플러그인 사용

 

* 문제 해결

- 도구 -> 옵션에서 해결 가능함.

1. 텍스트 편집기 옵션 -> 옵션 -> C/C++ -> 고급 -> 인텔리젠스

   -> 검색/탐색 데이터베이스 업데이트 사용을 False로 전환

 

2. 소스 제어에서 사용 플러그인을 None으로 전환

 

기본적인 개발 툴 자체는 이전 비전에 비해 빠르다고 합니다.

단, 백그라운드의 지나친 갱신 작업으로 인해 속도 면에서 생산성을 저하했다고 할 수 있겠습니다.

 

개인적으로 생각해본 건데, SSD 이상이면, 하드 엑세스 속도도 빠르므로 VS2012에서 효과를 보지 않을까 생각합니다.

 


1. 참고 자료(Reference)
1. http://lab.gamecodi.com/board/zboard.php?id=GAMECODILAB_Lecture&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=hit&desc=desc&no=156

 

반응형
728x90
300x250

[jQuery] jQuery CDN(배포) 안내

 

CDN이라는 정의는 Contents Delivery Network라는 뜻으로 네티즌에게 영화, 뮤직비디오 등 대용량의 콘텐츠를 빠르고 안정적으로 전달하고자 등장한 서비스라고 볼 수 있다.

jQuery라는 라이브러리를 웹에서는 자주 사용하기 때문에, 조그마한 js(자바스크립트)의 파일이지만, 대량의 사용자가 접속한다고 가정했을 때, Traffic을 잡아먹을 수 있다고 판단돼서 서비스하는 것 같다. 둘째로 개인 서버에 비해 배포 속도가 빠르므로, 사용자는 빠르게 이용할 수 있다는 점이 있다.

 

jQuery 공식채널에서는 MaxCDN에서 지원하는 CDN 서비스를 제공한다.

 


1. jQuery CDN

 

http://code.jquery.com/

 

 

2. Microsoft CDN

 

http://ajax.microsoft.com/ajax/jquery/jquery-1.10.2.js

http://ajax.microsoft.com/ajax/jquery/jquery-1.10.2.min.js

http://ajax.microsoft.com/ajax/jquery/jquery-2.0.3.js

http://ajax.microsoft.com/ajax/jquery/jquery-2.0.3.min.js

 

3. Google Ajax API CDN

 

http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js

http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.js

http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.js

http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js

 

 

 

반응형
728x90
300x250

[ASP.NET] OLE DB Provider for SQL Server

 

ADO로의 처리를 위한 SQL Server의 접속선언자에 관한 요약입니다.

 

1. 표준 선언(Standard Security)

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
        "Initial Catalog=MyDatabaseName;"
        "User Id=MyUsername;Password=MyPassword;");

 

2. 신뢰성 연결(Windows NT 통합 인증)

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
        "Initial Catalog=MyDatabaseName;"
        "Integrated Security=SSPI;");

 

3. 이름 인스턴스의 형태(SQL Server 2000부터 지원하는 방법)

Data Source=ServerName\Instance Name

strConnect = _T("Provider=sqloledb;Data source=MyServerName\MyInstanceName;"
 "Initial Catalog=MyDatabaseName;User ID=MyUsername;Password=MyPassword;");

 

4. (Local)로의 선언

   (자기 자신(로컬 서버)을 대상으로 하는 선언)

strConnect = _T("Provider=sqloledb;Data Source=(local);"
        "Initial Catalog=myDatabaseName;"
        "User ID=myUsername;Password=myPassword;");

 

5. 원격 접속 방법

strConnect = _T("Provider=sqloledb;Network Library=DBMSSOCN;"
        "Data Source=130.120.110.001,1433;"
        "Initial Catalog=MyDatabaseName;User ID=MyUsername;"
        "Password=MyPassword;");

 

외부포트로의 선언 형태 : "Data Source=127.0.0.1,1433;"

기본포트의 경우(포트 형태 생략가능) : "Data Source=127.0.0.1;"

 


참고자료

1. http://www.codeproject.com/Articles/2304/ADO-Connection-Strings

 

반응형
728x90
300x250

[C#.NET] AES를 통한 파일 암호화 구현 예제

 

AES를 통한 파일을 암호화하는 방법에 관해 논해보겠습니다.

C#을 통해 파일을 암호화하는 방법입니다.

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Security.Cryptography;

using System.Security; 

using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        // Rfc2898DeriveBytes constants:
        public readonly byte[] salt = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

      // Must be at least eight bytes.  MAKE THIS SALTIER!
      public const int iterations = 1042; // Recommendation is >= 1000.


        public static void Main(string[] args)
        {

 

        }

 

복호화(Encrypt)

 

public static void EncryptFile(string inputFile, string outputFile)
{

     try
     {
         string password = @"myKey123"; // Your Key Here
         UnicodeEncoding UE = new UnicodeEncoding();
         byte[] key = UE.GetBytes(password);

         string cryptFile = outputFile;
         FileStream fsCrypt = new FileStream(cryptFile, FileMode.Create);

         RijndaelManaged RMCrypto = new RijndaelManaged();

         CryptoStream cs = new CryptoStream(fsCrypt,
         RMCrypto.CreateEncryptor(key, key),
         CryptoStreamMode.Write);

         FileStream fsIn = new FileStream(inputFile, FileMode.Open);

         int data;
         while ((data = fsIn.ReadByte()) != -1)
              cs.WriteByte((byte)data);


              fsIn.Close();
              cs.Close();
              fsCrypt.Close();
        }
     catch
     {

     }
}

 

부호화(Decrypt)

 

/// Decrypts a file using Rijndael algorithm.
///</summary>
///<param name="inputFile"></param>
///<param name="outputFile"></param>
public static void DecryptFile(string inputFile, string outputFile)
{

    {
        string password = @"myKey123"; // Your Key Here

        UnicodeEncoding UE = new UnicodeEncoding();
        byte[] key = UE.GetBytes(password);

        FileStream fsCrypt = new FileStream(inputFile, FileMode.Open);

        RijndaelManaged RMCrypto = new RijndaelManaged();

        CryptoStream cs = new CryptoStream(fsCrypt,
        RMCrypto.CreateDecryptor(key, key),
        CryptoStreamMode.Read);

        FileStream fsOut = new FileStream(outputFile, FileMode.Create);

    

        int data;
        while ((data = cs.ReadByte()) != -1)
             fsOut.WriteByte((byte)data);

             fsOut.Close();
             cs.Close();
             fsCrypt.Close();

        }
}

반응형
728x90
300x250

[ASP.NET] 서버가 읽을 수 있는 형태로 Server.UrlPath.Encode()

 

한글이 깨지거나 하는 일부의 문제는 서버가 읽을 수 있는 형태로 변환되지 않은 문자를 처리할 때, 발생합니다.

 

이 글에서는 문자에 관한 형태는 자세히 소개하지 않습니다.


기초적으로 EUC-KR이라는 것을 소개하자면, 한글을 처리하기 위한 인코딩 규격입니다.

 

UTF-8가 탄생한 내력을 간단히 논하자면, 인코딩을 얼마나 빠르게 처리할 것인가를 놓고 이야기를 할 수 있습니다.
통신에서 문자를 어떤 규칙을 가지고 처리해야 안정 있게 처리할 것인지에 관한 이야기라고도 볼 수 있겠습니다.

 

우리의 문자는 컴퓨터가 해석하기엔 논리의 정보들의 뭉치일 겁니다.

이러한 상황을 가정할 때, 한글 어가 깨지는 것은 당연히 발생할 수밖에 없습니다.

왜냐 간단합니다.

 

ASCII 코드는 표준 인코딩 방식의 하나로서 ASCII에서는 0~127로 구성된 자료에서 한글을 바로 표현하는 건 문자에 관한 변환 과정을 전혀 하지 않고 구현할 수 없습니다.

 

여러 이유가 많이 있겠지만, 핵심은 문자열을 컴퓨터가 이해할 수 있는 형태 그리고 출력할 수 있는 형태로 변환을 제대로 하지 못해서 발생하는 것이라고 정리할 수 있겠습니다.


 


1. 구현

 Server.UrlPath.Encode()

 

Server.UrlPath.Encode()를 이용하여 문자를 서버가 이해할 수 있는 변환(Encode / 복호화)을 할 수 있습니다.

반응형
728x90
300x250

[ASP.NET] Response.TransmitFile에 관한 소개

 

Microsoft 기술자료 812406 "RPB: Response WriteFile Cannot Download a Large file"에서 언급하였습니다.

-> http://support.microsoft.com/kb/812406


파일을 메모리에 버퍼링하지 않고 HTTP Request Output Stream에서 직접 처리하게 해줍니다. 이 기술은 .NET Framework 2.0부터 지원합니다.

-> http://msdn.microsoft.com/en-us/library/12s31dhy(v=vs.80).aspx

 

하드웨어의 부하를 최소화하여 다운로드를 할 수 있도록 해줍니다.

 


1. Response.TransmitFile로 파일 처리하기

 

Response.ContentType = "images/jpeg";

Response.AppendHeader("Content-Disposition", "Attachment;filename=파일명.jpg");

Response.TransmitFile(@"D:\Test\곰돌이.jpg");

 

http://localhost:11111/test.aspx를 실행한다고 가정하면,

 

다운로드 창이 뜰겁니다.

파일명.jpg를 다운로드할 것인지 물어볼 겁니다.

 

즉, 웹 페이지 상에서 사용자가 요청에 의한 처리를 서버 메모리가 아닌 사용자가 요청한 프로세스에서 처리할 수 있도록 하는 방법이라고 할 수 있습니다.

 

 


2. 참고자료(Reference)

 

1. http://blog.ntils.com/archive/200706, Accessed by 2013-12-09

 

반응형

+ Recent posts