1월 13, 2015의 게시물 표시

C# LINQ InnerJoin OuterJoin 알아봅시다.

이미지
안녕하세요 메르세데스입니다. 이번시간에는 LINQ의 Join에 대해 알아보도록 하겠습니다. Join도 역시 마찬가지로 sql문에서 정말 다양하게 사용되는 기본기능중에 하나죠.. 쉽게 이야기하자면..교집합과 합집합을 생각하시면되겠습니다. 내부조인(Inner Join)은 교집합.. 외부조인(Outer Join)은 합집합이 되겠습니다. 두  데이터 원본사이에 일치되는 데이터를 연결하여 원하는 값을 얻는 방법이 되겠습니다. Table -a                          Table-b [name] [height]           [name] [product]   aaaa      180                 aaaa      "apple"    bbbb      160                 bbbb      "orange"   cccc      170                 bbbb     "grape"   dddd       165                dddd       "mango" A, B테이들이 있는데  name이라는 field에 중복되는 항목들중 겹치는 것과 겹치지 않는것을 생각하시면 되겠습...

C# 에서 파일다루기입니다 (File)

이미지
안녕하세요 메르세데스입니다. 이번시간에 알아볼 것은 C#에서 파일 다루는 방법입니다. 프로그래밍하면.. 조회하는것도 중요하지만.. 프로그램을 통해 내 컴퓨터안에 File을 만든다던가.. 명칭을 변경하거나 디렉토리를 생성하는등의 이런작업도 알아두면 정말 도움이 될 것아니겠어요? C#에서도 물론 이런것에 대한 기능을 지원합니다.  관련된 클래스와 메소드들도 준비되어있거든요 잘 따라서 배워보면 됩니다. 물론 요즘은 데이터베이스가 있어서 이곳에 기록하고 조회하는것들도 많이 하는데.. 필요에따라 간단하게 내 컴퓨터안의 디렉토리에 저장하거나 수정하는 작업도 간간이 필요하거든요..   클래스 설명 File 파일생성 복사 삭제 이동 조회 처리 statc Method FileInfo 위와동일하나 static Method대신 인스턴스 메소드제공 Directory 디렉토리 생성 삭제 이동 조회 처리 statc Method DirectoryInfo 위와동일하나 static Method대신 인스턴스 메소드제공 크게 보면 2가지를... 좀 분류를 하자면 각각에 2개씩해서 4가지 클래스가 제공됩니다. 이것들을 사용하시려면.. using system.IO; 를 추가해 주셔야 겠습니다. 책의 집필자의 이야기는...  정적메소드를 제공하는것과 인스턴스메소드를 제공하는것 이렇게 분류가 되어있는데.. 기능은 전부 동일하지만.. 처리작업이 많을경우.. 인스턴스 메소드를 제공하는 ~Info로 끝나는 클래스를 참조해서 하는게 바람직하다고하네요.. 해당하는 조건에 맞는것을 골라서 선택해서 사용하면됩니다. File,FileInfo 클래스를 보더라도.. Create() , Copy(), Delete(), Move(),(*MoveTo() FileInfo ) 거의 비슷하여 사용하는데 큰 무리가 없어보입니다. 예제를 안 볼 수 가 없겠네요.. 화면에는 빠져있는데 상단에  Using System.IO;가 추가되어야 제대로 동작합니다. 그동안에 배워왔던 내용들이 섞여있네요...

C# LINQ 의 group by 문법을 알아보겠습니다.

이미지
안녕하세요 메르세데스입니다.  group by 하니깐.. sql이 생각이 나네요.. 네 그렇죠!!     그룹별로 통계를 낼때 유용하게 사용되는 문법입니다. C#에서도 사용할 수 있다니 반갑습니다. 그렇지만.. 제가 느끼기엔 아직 무언가 부족해보이는데요.. 아무래도 아직 사용방법을 익숙하게 다루지를 못하서겠지요..  저는 sql에서 count(*)를 하여 해당 그룹으로 지정된 것의 갯수를 파악할경우 사용하거든요..  대부분은 사용 용도가 비슷하지 않을까 생각 합니다. 1.문법 group A by B into C A,B,C는 이렇게됩니다. A는 사용중인 변수가됩니다. B는 기준이되는 조건.. C는 그룹변수를 위치시키는 자리인데요.. .key라는 곳에 B기준에대한 결과가 true, false로 들어옵니다. 예제를 돌려서 확인하는게 빠르겠죠? 2.사용예제 예제를 실행해봤는데요.. group [A] by [B] into [C] 에서 보이듯이.. [B]위치에는  profile.Height <175 인 조건이 들어가고.. [C]위치에 그룹변수를 위치시키네요..    .key에 결과여부를  true, false로 할당 해줬습니다. 그리고 무명형식을 이용해서..  새로운형식을 즉석(?)으로 만들어 var listPrifile에 넘겨 줬습니다. 그래서 콘솔창에 출력해 본 결과 위의화면처럼 표시가됩니다. 175 미만인것과 이상인것으로 분류가 나뉘어 표시가됩니다. LINQ의 각종 문법을 사용하려면 많은 연습이 필요할 것 같네요..  이정도로 정리하는것으로 마무리를 지어야 겠습니다. 감사합니다.

C# LINQ를 이용해보자 from where orderby select

이미지
C# LINQ의  from where orderby select 대해 알아보겠습니다. 지난시간에 이어서 이번에는 데이터를 조금더 가공해서 출력하는것을 해보려고 합니다. 예제를 풀어나가기에 앞서 기본적인 문법을 먼져 알아보고 넘어가도록 하겠습니다. 1.from  sql문을 접했던 사람이라면 익숙하실텐데요..  문법적인 어순이 쿼리와는 조금 차이가 있지만 의미는 다르지 않습니다. 대상이되는 무엇인가를 from 뒤에다가 써 주는 것입니다. 대상이되는 배열이나 리스트 등이 되겠지요..  아직 제 눈에 안익어서 저도 어색합니다만.. 많이 연습해보는 수 밖엔 없겠지요.. int[] arrays = { 1,2,3,4,5,6,7,8,9}; ... var tests = from test in arrays     <-- from 뒤에  in arrays 이런식으로 넣어줬네요 .. 마치 foreach문과 비슷해보이네요.. LINQ에서 사용하게 될 변수와 접근하게될 데이터를 차례로 써 주시면됩니다. 2.where 이건.. 원하는 조건을 넣어주는 곳입니다.   Filter역할을 하는것이죠...   가령 이런 것 처럼요..   위에 있는 숫자들중 5보다 큰 숫자만이라던가..  원하는 데이터에 조건을 거는 것입니다. 혹시 and연산이 되는지  저도 모르게 그만 and 를 넣었더니 에러가 나네요 .. 그렇죠.. C#에서는.. &&였는데...   ^^ 3.orderby 이것도 잘 아시겠지만.. 정렬순서를 정하는 방법입니다. 오름차순으로 할 것인지 아니면 내림차순으로 할 것인지를 말죠.. 뒤에를 그냥 생략하면 오름차순(ascending)입니다. 반대로 내림차순을 원하신다면 뒤에 descending을 써주시면되겠습니다. 4.select 최종적으로 결과가 추출 되는...

티스토리 메인/타이틀 화면에 구글 광고넣기

이미지
안녕하세요 메르세데스입니다. 이번 시간에는 티스토리 메인/타이틀 화면에 구글 애드 센스를 넣기를 해보려고 합니다. 티에디션을 이용하면.. 티스토리 블로그의 메인 화면을 꾸미실 수 있는데요...  관리자 메뉴의 화면 설정에서 티에디션을 활성화해주시면.. 블로그 메인 화면에서 [티에디션] 아이콘이 나타나게 됩니다. 네이버 블로그의 프롤로그와 비슷한 것입니다. 블로그 메인 페이지이죠..   쉽게 꾸밀 수 있는 도구를 제공하여서 정말 좋습니다. 블로그 메인 화면에서 티에디션 버튼을 눌러보시면..  화면을 어떠한 형태로 보여줄 것이가.. 설정하는 메뉴가 나옵니다. 기존에 포스팅 되어있는 글들을 화면에 보기 좋도록 꾸밀 수 있는 메뉴인 것이죠.. 화면에서 광고를 넣으려고 하는 영역을 선택하시고..  [+]버튼을 눌러 새로 생성을 할 수 있고.. 위아래로 옮길 수도 있습니다. 원하는 영역을 선택 하였다면.. 하단의 아이템부분에서 포스팅된 글들을 표시하는 타입을 선택하는 메뉴가 있는데요.. 그냥 아무거나 하나 선택 하시면 됩니다. 어차피 소스를 다 삭제하고 애드센스를 넣을 것이기 때문입니다. 선택이 완료되었다면.. 상단오른쪽의 [디자인]버튼을 누르시고.. 바로아래에.. [html]버튼을 누르세요.. 그러면 제일 오른쪽 화면과 같이 소스코드가 보여지는데 이곳 영역을 전부 지우신 후 소스를 집어넣으시고 적용 버튼을 누르시면 됩니다. 그리고 화면상에는 표시가 되어있지 않지만.. 화면제일 오른쪽 상단에 [적용하기] 버튼을 누르시면됩니다. 그러면 티스토리 메인 화면에 구글 광고가 올라오게 됩니다.  아래 보시는것 처럼.. 저는 티에디션을 통해서 위/아래로 2개 집어 넣어 적용했습니다. 역시 이것도 그렇게 어렵지 않게 적용을 하게 되었습니다. 거의 대부분은 검색을 통해서 블로그에 접근 하기 때문에 메인...

티스토리 사이드바 구글광고 넣기를 알아보자..

이미지
안녕하세요 메르세데스입니다. 이번 시간에 알아 볼 것은 사이드 바에 광고를 넣는 방법입니다.  사이드바는 계속 유지가 되어 보이는 부분이기 때문에 이곳에 게재하면 클릭률이 올라가지 않을까? 하는 기대감에 넣어 보기로 하였습니다. 네이버나 다른 사이트의 화면 구조를 보면.. 화면 중앙 상단의 메인 뿐만 아니라.. 오른쪽 약간 아랫 부분즈 음에  자주 보여지는 것 같아서..  경쟁력이 있는 위치가 아닐까 생각을 합니다. 사이드바 배너를 달기에 앞서... 관리자 메뉴에 플러그인 설정에  [배너출력]  이라는 메뉴가 추가되어 있는지 확인해보셔야 겠습니다. 배너를 추가하셨다면 본격적으로 사이드바달기를 해보겠습니다. 대개는.. 세로형이기 때문에 구글애드센스 사이트에보시면.. 내 홈페이지의 레이아웃에 맞는 사이즈를 선택하셔서 넣으셔야겠습니다.  사이드바의 가로사이즈를 확인해 보셔야겠습니다. 사용하는 테마마다 조금씩 달라서.....저 같은경우 style.css 쪽에서 폭을 확인하였습니다.   #container  로 찾아서 했습니다. 보편적인 권장크기에.. 300*600 사이즈가 큼지막하면서 마음에 들어서..^^   권장사이즈에 맞는 다양한 종류의 광고가 올라오는것 같아서 좋은것 같습니다. 크기도 적당한것 같고요..  제가 가로형가장 큰것을 달아봤는데 빈번하게.. 설정한 사이즈보다  작은사이즈가 올라오네요.. 해당사이즈의 물주가 많이 없다는 반증이 아닐까 하네요.. 광고를 생성하시고.. 코드를 복사하시고.. 관리자메뉴의 사이드바로 가시면...  HTML배너출력이라는 모듈이 하나 추가가된것이 보이실것입니다.  추가하셔서..  올리신 다음 편집을 눌러 이름과 아까 복사하였던 코드를 넣으신 후 [확인]버튼을 눌러 적용하시면되겠습니다. 캡처화면상에는 안보이지만.....

티스토리 본문 상 하단에 구글 광고달기

이미지
안녕하세요 메르세데스입니다. 지난시간에 이어 구글애드센스 다는 것을 이어서 가려고합니다. 이번시간에 알아볼 것은... 본문 상/하단에  집어 넣는 방법입니다.   글 사이사이에 집어넣는 것은 효과에 매우 뛰어난 것이 사실인데 포스팅글이 많고 광고가 바뀔때마다 일일이 적용하는것이 귀찮고 번거로운 저같은 사람에게는 이 방법이 매우 효과적일 것이라 생각합니다.   하지만.. 글제목과 포스팅글을 시작하는 사이라면.. 조금은 경쟁력이 있는 위치가 아닐까 하는 생각이드네요.. 아래는.. 본문 상/하단에 적용한 모습입니다.  제가 워낙에 큼지막한것을 좋아해서... 뭐 본인의 입맛에 따라.. <table>태그를 이용하여.. 상단에 2개를 좌우로 배치하셔도 좋습니다. 근데 저는 적용해보니.. 간간히 같은것이 2개가 나란히 나오는 경우가 있어 보기가 안좋아서 그냥 큰거 하나 넣기로했습니다. 적용하는 방법은.. 역시 마찬가지로 관리자페이지의 HTML/CSS편집의 Skin.html파일에 소스를 추가해주시면되는데요.. skin.html소스에서 ctrl + f로  article_rep_desc 라는 이름을 찾으신후.. 위/아래에  소스를 집어넣어주시면.. 위에는 본문상단에.... 아래에는 본문하단에.. 적용이됩니다. 위치는 위의 화면에서 보이는 것과같이  상단광고는.. 글제목과 본문사이에 만들어집니다.(경쟁력이 있겠죠..)     그리고 하단은.. 카테고리 하단부에 생성이됩니다.  저 같은경우에는 글 상단/하단 그리고 사이드바에 하나 이렇게 하면.. 3개가 되기때문에 이렇게 하려고 생각을 하고 있습니다.  이렇게 적용하는 방법또한 그리 어렵지 않죠.. !   이상으로 티스토리 본문 상 / 하단에 구글 광고 넣는 방법에 대해 알아봤습니다. 감사합니다. ...

델파이의 findcomponent를 활용하여보자

이미지
안녕하세요 메르세데스입니다. 델파이의 findcomponent를 활용하여 소스코딩하는 것을 알아보도록 하겠습니다. 말 그대로 컴포넌트를 찾는 함수라고 생각하시면되겠습니다. 각종 요소들이 컴포넌트로 되어있고 이런 컴포넌트를 찾는 함수를 활용한다면.. 반복 적인 패턴의 코딩을 획기적으로 줄일 수 있는 효율적인 함수라고 생각이 듭니다. 사실 프로그램을 하면서.. 해당하는 폼이나.. 오브젝트의 이름이 규칙적으로 증가하거나 감소한다 던 가  규칙성을 갖고 있다면.. 해당 소스를 복사해서 붙여 넣는 작업을 반복 적으로 하여 프로그램 하는 경우가 많은데요.. ( 대부분은 귀찮아서 그렇죠..) 이름에 대한 규칙을 정의해서 처리할 수 있다면.. 반복문 안에 다가 마치 오브젝트 이름을 변수처럼 처리할 수 있는 방법이 가능해집니다. procedure TForm1 .TestBtn1 Click ( Sender : TObject ); var  i : Integer ; const  NamePrefix = 'MyEdit' ;   // myedit라는 상수를 할당 begin   for i := 1 to 20 do begin    TEdit . Create ( Self ). Name := NamePrefix + IntToStr( i );     //이름뒤에 1 , 2, 3 ,4 이런식으로 해서 TEdit컴포넌트를 생성하죠..     with TEdit ( FindComponent ( NamePrefix + IntToStr( i ))) do     begin      Left := 10 ;          ...