Ubuntu Ver : Server 18.04.1 LTS



서버 버전도 X 윈도우는 쓰고 싶습니다.

제 경우는 테스트용이니깐...;;

그래서.. 설치합니다.



1. 먼저 업데이트를 해줍니다.


아래 명령어를 이용하여 업데이트합니다


$ sudo apt-get update


$ sudo apt-get upgrade



2. 이제는 데스크톱을 설치하면 됩니다. 설치 방법에는 최소설치와 풀 설치가 있습니다. 풀 설치의 경우 파이어폭스나 오픈오피스 같은 프로그램도 추가로 설치됩니다. 아래의 명령어 중 원하는 형태의 명령어로 설치를 해주시면 됩니다.


$ sudo apt-get install ubuntu-desktop (풀 설치)


$ sudo apt-get install --no-install-recommends ubuntu-desktop (최소 설치)



3. 실행


$ startx




4. 마무리


실행되면 우선 아래와 같이 뜹니다. [Next]




키보드를 선택하는 화면입니다. 저는 아직 한글 키보드가 설치되어있지않은 관게로 영어로 합니다. 선택 후 [Next]




위치 기반 서비스라고 해야 하나요? 저는 필요없으므로 OFF 후 [Next]




온라인 계정과 연결. 전 필요없어서 [Skip]




마무리




저는 업데이터가 안되어있는지 업데이트하라는 메시지와 함께 desktop이 맞이해주네요. 이걸로 설치는 끝.



그럼 잘 쓰세요~



Posted by T.t.
:


Request.Url 을 이용하시면 url 정보를 가져올수 있습니다.

사용 방법에 따라서 가져오는 데이터가 조금 다릅니다.


우선 사용방법입니다.



Controller 에서 사용하실때



Request.Url.Host : 도메인명

Request.Url.Authority : 도메인명 + 포트번호

Request.Url.Port : 포트번호

Request.Url.AbsolutePath : 도메인명과 포트 그리고 쿼리스트링값이 제외된 전체 주소

Request.ApplicationPath : 현재 응용 프로그램의 가상 경로 값

Request.Url.AbsoluteUri : 도메인명과 포트 그리고 쿼리스트링값이 포함된 전체 주소

Request.Url.PathAndQuery : 도메인명과 포트번호가 제외되고 쿼리스트링이 포함된 주소



View 에서 사용하실때



HttpContext.Current.Request.Url.Host : 도메인명

HttpContext.Current.Request.Url.Authority : 도메인명 + 포트번호

HttpContext.Current.Request.Url.Port : 포트번호

HttpContext.Current.Request.Url.AbsolutePath : 도메인명과 포트 그리고 쿼리스트링값이 제외된 전체 주소

HttpContext.Current.Request.ApplicationPath : 현재 응용 프로그램의 가상 경로 값

HttpContext.Current.Request.Url.AbsoluteUri : 도메인명과 포트 그리고 쿼리스트링값이 포함된 전체 주소

HttpContext.Current.Request.Url.PathAndQuery : 도메인명과 포트번호가 제외되고 쿼리스트링이 포함된 주소



어디서 사용하시던지 사용법은 비슷하시고

결과 값은 동일합니다.


위의 예문을 돌렸을때 나오는 결과 값을 보겠습니다.

결과

(http://abcd.com:777/Board/Index?SchType=Subject&SchTxt=Text <- 실제 주소가 이와 같을 때)



Host - abcd.com

Authority - abcd.com:777

Port - 777

AbsolutePath - /Board/Index

ApplicationPath - /

AbsoluteUri - http://abcd.com:777/Board/Index?SchType=Subject&SchTxt=Text

PathAndQuery - /Board/Index?SchType=Subject&SchTxt=Text



끝!



Posted by T.t.
:


루프문을 돌리거나 기타 여러가지의 이유로 배열의 길이를 알아야하는 경우가 많다.

이경우 사용하면 된다.

기본 배열의 경우 1차원 과 2차원 또는 다차원 배열의 길이를 구하는 방법이 약간 다르다.

그외의 배열은 기본적인 방법은 유사하다.


배열은 기본 배열인 Array와 List<T> 이렇게 살펴보겠습니다.


1차원 배열



1. Array

Ex) Array.Length        // 1차원 배열의 경우 간단히 끝남. 배열의 길이가 반환됨


2. List<T>

Ex) ListT.Count        // List<T>의 경우 Length가 아니라 Count 를 사용함



그 다음은 2차원 또는 다 차원 배열에서 최상단 배열의 크기를 확인하는 방법

결론은 1차원 배열과 똑같습니다.


2차원 배열



1. Array

Ex) Array.Length        // 1차원 배열의 경우 간단히 끝남. 배열의 길이가 반환됨


2. List<T>

Ex) ListT.Count        // List<T>의 경우 Length가 아니라 Count 를 사용함



그리고 아래는 2차원 또는 다차원 배열에서 최상단 배열이 아닌 그 하단 배열의 크기 확인하는 방법입니다.


2차원 배열의 하위 배열 크기



1. Array

Ex)  Array.GetLength(0)    // Length가 아니라 GetLength를 사용. 배열 길이를 구할때 인덱스 0의 배열 길이를 반환함

Array.GetLength(1)    // 다차원 배열에서 배열 길이를 구할때 인덱스 1의 배열 길이를 반환함


2. List<T>

Ex)  ListT.Count            // 인덱스 0의 배열 길이가 반환됨. Count로 다 끝남

ListT[0].Count        // 인덱스 1의 ArrayList[0] 배열의 길이가 반환됨. 조금만 생각해보면 유추가 가능함





이달부터 한달에 한건 포스팅 도전!!



ps. 2019-01-13 : 일부 잘못된 부분 수정



Posted by T.t.
:


Visual Studio 를 사용하면서 Git 을 사용할때 딱히 작업한것도 없고 했는데..

커밋해야 될것이 생길때가 있다.

바로 루트에 존재하는 .vs 라는 숨은 폴더가 그것인데요.

이녀석을 예외처리 시키는 방법입니다.


우선 소스트리를 실행시킵니다.

그리고 해당 프로젝트의 오른쪽 상단의 [설정] 아이콘을 클립합니다.



그러면 창이 하나 뜨는데 그 창에서 [고급 탭] 을 클릭하신후에

[편집] 버튼을 누르시면 됩니다.



그러면 어느 프로그램으로 열건지 물어보는데...

텍스트 편집이 가능한걸로 편한걸로 여십시오. 메모장이나 에디트플러스 같은걸로 여시면 됩니다.


기본적인 사용 방법은


폴더명/

폴더명/파일명.확장자


이런식으로 작성하면 된다.

비주얼 스튜디오에서 .vs/ 폴더를 예외처리시키시려면 아래처럼 하시면 됩니다.


.vs/


아주 간단하죠.

그리고 커밋 및 푸쉬.


조금더 사용 방법을 추가하고자 한다면


ex) /최상위폴더/중간폴더/최하위폴더 가 존재한다고 생각하면


중간폴더 포함 그 하위 폴더를 제외 하려면

**/중간폴더/


최하위폴더를 제외 하려면

**/중간폴더/최하위폴더/


특정 폴더의 특정 확장자(log) 제외

/폴더명/*.log


이런식으로 사용하시면 됩니다.


하지만 이미 커밋되고 푸쉬된 파일이나 폴더는 적용되지않음!


이미 관리에 들어갔던 파일은 제외되지않습니다. 일반적인 삭제를 하더라도 관리 대상으로 추적 당하고 있습니다. 삭제하고 다시 쓰이는 순간 또 관리에 들어가게 되죠. 이렇기 때문에 이미 커밋되고 푸쉬된 파일은 수동으로 제외처리를 해줘야 합니다. 원격 저장소의 캐쉬를 삭제하고 제외시킬 파일을 강제로 제거 해준후에 다시 설정해줘야 합니다.

아래 예문이 있으니 천천히 따라하시면 됩니다.


관리 파일을 관리에서 완전 제외

// 현재 저장소의 캐쉬를 삭제

$ git rm -r --cached .



// [파일명]에 해당하는 파일을 원격 저장소에서 삭제. (로컬 저장소에서 있는 파일은 적용되지않는다)

$ gir rm -r --cached [파일명]



// .gitignore에 적용된 파일을 제외하고 나머지 파일들을 다시 track하도록 한다.

$ git add .





ps. 2018-11-28 이미 푸쉬된 파일 제거하는 방법 추가



Posted by T.t.
:


로컬 Db를 쓰는 경우도 있고 Sql 서버를 별도로 두고 작업하는 경우도 있고..

여러개의 Sql 서버에 접근해야하는 경우도 있지요.

이때 Db 연결자를 추가하거나 변경을 해줘야하는데..

의외로 이걸 물어보는 경우가 있어서...


루트 폴더를 보면 appsettings.json 파일이 있습니다.


/appsettings.json



{

  "ConnectionStrings": {

    "DefaultConnection": "Server= ... "

  },

  "Logging": {

    "IncludeScopes": false,

    "LogLevel": {

      "Default": "Warning"

    }

  }

}


이렇게 되어 있는 부분이 보이실겁니다.

이 중에 빨간색으로 되어 있는 부분이 보이실껍니다.

ConnectionStrings라는 부분의 하위에 있는 것들이 Db 연결자 입니다.

여기서는 DefaultConnection이라는 연결자 하나가 보이는 상태 입니다.

여기다가 연결자 하나를 추가 해 보겠습니다.

연결자 이름은 TtConn 으로 별로의 MsSql 서버로 1433번 포트로 접속한다고 생각하겠습니다.

서버 주소는 test.com이고 Db명은 TestDb고 사용자는 testuser이고 패스워드는 1234라고 가정하겠습니다.


appsettings.json 파일을 수정합니다. 수정한 부분은 녹색이고 콤마 추가된거 조심합시다.


/appsettings.json



{

"ConnectionStrings": {

"DefaultConnection": "Server= ... "

,"TtConn": "Server=Data Source=test.com,1433;Initial Catalog=TestDb;Persist Security Info=True;User ID=testuser;Password=1234"

},

"Logging": {

"IncludeScopes": false,

"LogLevel": {

"Default": "Warning"

}

}

}


1433번은 MsSql기본 포트이고 기본 포트를 사용할 경우 ,1433 은 생략하셔도 됩니다.

도메인 주소 대신에 당연히 Ip를 사용하셔도 됩니다.

간한히 이렇게만 해주시면 연결자가 하나 더 추가되신거고 수정은 저기서 수정할곳이 있으시면 수정하시면 됩니다.



Posted by T.t.
: