이 게시글은 Visual Studio 2015 기준으로 작성되었습니다.

 

 

1. Visual Studio로 GitHub 프로젝트 Clone하기

 

1) 우선 GitHub에 접속해 새로운 Repository를 생성합니다.

2) 이후 Clone을 하기위해 새롭게 생성한 Repositorty의 해당 URL을 복사합니다.

3) Visual Studio를 실행하고 상단 바의 팀->연결 관리를 클릭해 팀 탐색기를 실행합니다. 이후 [복제할 Git 리포지토리의 URL을 입력하십시오.]에 붙여넣기한 뒤 복제(Clone) 버튼을 클릭합니다.

4) 만약 성공적으로 복제(Clone)을 성공한 경우 아래 사진과 같은 메시지가 출력되고 로컬 Git 리포지토리가 생성됩니다.

[새 프로젝트 또는 솔루션을 만드세요.] 라는 메시지를 클릭해 새로운 프로젝트를 만듭니다.

5) 기존에 프로젝트를 만드는 방식과 동일하게 만들면 됩니다.

6) 방금 만든 프로젝트에 GitHub 연동 및 Commit/Push 테스트를 위해 소스.c 파일을 만들고 코드를 입력해보겠습니다.

7) 아래처럼 간단한 코드 입력 후 저장을 합니다.

8) 팀 탐색기 홈에서 [변경 내용] 버튼을 클릭해 변경 내용을 스테이징 상태로 만듭니다.

9) 변경 내용을 기록하기 위해 메모를 남깁니다. 적절한 커밋 메시지를 남겨두면 이후 커밋 내용에 대한 파악이 가능합니다. 주석과 비슷한 기능을 합니다. 테스트로 "visual studio commit test"라고 남겼습니다.

10) 이후 다시 홈으로 돌아와 [동기화] 버튼을 클릭합니다.

11) 나가는 커밋에 방금 만든 Commit이 있습니다. 푸시 버튼을 클릭하면 GitHub에 변경 사항이 동기화됩니다.

12) GitHub에 접속하면 아래처럼 파일이 업로드된 것을 확인할 수 있습니다.

Clone 후 수정 및 Commit / Push 작업이 성공적으로 이루어졌습니다.

 

2. Remote 설정하기

 

1) 확장  기능이 필요하므로 제어판을 통해 새로운 기능을 설치합니다. 수정 버튼 클릭 후 [Visual Studio용 GitHub 확장 (타사)]를 설치하면 됩니다. 설치가 되어있지 않은 경우가 대부분이라고 합니다.

2) 이후 Visaul Studio를 실행해 상단 바의 팀 -> 연결 관리 -> 홈을 클릭하면 아래 사진처럼 GitHub와 Remote된 것을 볼 수 있습니다. 이 과정을 마치면 GitHub의 파일을 원격제어할 수 있습니다.

성공적으로 Remote 설정을 마쳤습니다.

'IT > GitHub' 카테고리의 다른 글

GitHub Pull 사용법(Visual Studio 활용)  (0) 2019.04.09
GitHub 충돌 해결(Visual Studio 활용)  (0) 2019.04.09

원하는 개수만큼만 출력

select top(5) salary하면 상위 5개만 출력

with ties를 뒤에 붙이면 공동 등수 데이터도 가져온다.

 

percent

top(10) percent *

상위 10퍼센트

 

합계

Sum

 

평균

Avg

 

최대 최소

max min

 

로우 개수

select count(eno)

 

중복된 건 빼고 카운트

select count(distinct job)

 

그룹함수

group by로 기준을 만듦

집계함수는 이름 값 출력이 안된다.

나머지는 된다.

 

그룹함수에서 집계함수 사용

HAVING

그룹의 결과를 제한한다.

 

ROLLUP

중간합계와 전체 합계를 구한다.

with rollup

 

CUBE

큐브가 rollup 상위호환이다.

with cube

 

CASE

CASE 조건에 따라 서로 다른 처리

case when 조건1 then 결과1

else 결과n

end

 

pivot unpivot

pivot

행 집합을 열로 변환시켜 결과 값을 보여준다.

 

uppivot

열 집합을 행으로 변환시켜 결과 값을 보여준다.

select 칼럼명, rank () over (order by 순위를 정할 기준열)

 

dense_rank

그 수만큼 순위를 건너뛰지 않고 다음 순위 바로 나온다.

 

row_number

임의의 값을 대입해서 순위 매긴다.

 

NTILE

나누고 그 분할된 그룹에서 순차적으로 번호 매긴다.

 

partition by

열을 중심으로 그룹을 지어 범위 별로 순위를 매긴다.

IIF(boolean, true, false)

 

CHOOSE

index 값 위치의 변수 값을 돌려준다.

CHOOSE(index, val)

 

SEQUENCE

고유 값을 넣는 것

NEXT VALUE FOR deptsquence로 가능하다.

 

ANSI Inner Join

SELECT * FROM table1 INNER JOIN table2

ON table1.column1 = table2.column2

 

ANSI Outer Join

SLECT * FROM table1 [LEFT | RIGHT | FULL] OUTER JOIN table2

 

UNION

두 쿼리의 결과를 하나의 결과 집합으로 만드는 것이다.

두 테이블의 결과 집합의 열의 개수가 같고 형식이 같아야 한다.

SELECT 절에는 열이름이 존재해야 한다.

UNION ALL은 중복된 행 제거하지 않는다.

'IT > DB' 카테고리의 다른 글

MS SQL 기초 #3  (0) 2017.11.01
MS SQL 기초 #2  (0) 2017.11.01
MS SQL 기초 #1  (0) 2017.09.22

identity 속성

새로운 레코드가 추가 될 때 해당 칼럼을 구분할 때 사용되는 유일한 식별자 값이 자동으로 입력된다. - PK

IDENTITY [(seed, increment)]

seed 초기값 increment 증가치

하나의 테이블 당 하나의 칼럼에만 지정 가능

IDENT_INCR(), IDENT_SEED()

 

새로운 칼럼 추가

ALTER TABLE table_name

ADD column_name, data_type expr, ...

 

칼럼 수정

alter table cj_employee

alter column pdate varchar(20)

 

칼럼 삭제

alter table cj_employee

drop column pdate

 

테이블 내용 전체 제거

TRUNCATE TALBE table_name

 

테이블 제거

DROP TABLE tabel_name

SELECT

조회하고자 하는 칼럼명

FROM

조회하고자 하는 테이블 명

 

SELECT 문에는 사칙연산자 사용 가능

 

NULL

NULL은 블랙홀 개념

NULL 값 처리

isnull(commission, 0)

만약 commission null이면 0으로 대체

 

별칭 붙이기

as

출력에 별칭으로 출력된다.

 

DISTINCT

중복된 데이터를 한번만 출력한다.

 

where

특정 조건의 데이터만 조회

문자 데이터는 단일 따옴표로 다뤄야 한다.

날짜 데이터 조회도 마찬가지이다.

'2017/09/05'

 

논리 연산

and

or

not

<> 같지 않다.

 

사잇 값 출력

between a and b 이상 이하

not도 사용 가능 미만 초과

 

IN 연산자

or 대체용

IN(A, B, C)

하나라도 만족하면 출력

not도 사용 가능

where dno in (80, 90, 100)

 

LIKE 연산자와 와일드 카드

column_name LIKE pattern

% 또는 _

not도 가능

 

null 값 처리

is null

not도 사용

 

정렬

order by 칼럼명

ASC DESC

정렬 조건 여러 개

salary desc, ename asc

급여를 내림차순으로 하되 같은 경우 이름을 오름차순으로 정렬한다.

'IT > DB' 카테고리의 다른 글

MS SQL 기초 #4  (0) 2017.11.01
MS SQL 기초 #2  (0) 2017.11.01
MS SQL 기초 #1  (0) 2017.09.22

외래 키 값은 null이거나 참조 릴레이션의 기본 키 값과 동일해야 한다.

 

튜플

각 행애트리뷰트의 모임으로 구성

도메인 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자 값들의 집합

 

차수

애트리뷰트의 개수

 

카디널리티

튜플의 개수

 

sql문 종류

 

DDL

데이터 베이스를 정의하거나 다양한 오브젝트를 정의할 때 사용한다.

DML

사용하고 있는 모든 데이터가 실제 저장되는 데이터베이스 오브젝트인 테이블에 새로운 데이터에 대해 조회수정삭제삽입 등의 작업을 하기 위해 사용된다.

DCL

데이터베이스의 테이블저장 프로시저 등의 오브젝트를 어떠한 유저가 사용할 수 있게 하는 권한과 관련된다.

 

marster 서버로 이동

use model

go

 

DB 생성

CREATE DATABASE TEST01

 

primary

프라이머리 파일 그룹 지정

name 프라이머리 그룹 파일의 논리적인 이름

 

filename

운영체제에서 사용하는 파일의 이름과 경로를 의미

 

size

생성될 파일의 초기 크기

 

maxsize

파일의 최대 크기

 

filegrowth

파일의 증가 단위최대크기여서 초과할 수 없다.

 

데이터베이스 수정

ALTER DATABASE TEST01

 

데이터 베이스 축소

ALTER DATABASE TEST01

SET

AUTI_SHRINK ON

데이터베이스 엔진은 자동으로 빈 공간이 있는 데이터베이스를 축소한다.

 

데이터 베이스 파일 삭제

ALTER DATAVASE 데이터베이스 이름

REMOVE FILE 삭제할 파일의 논리적 이름

 

데이터베이스 이름 변경

ALTER DATABASE 데이터베이스 이름

MODIFY NAME = 변경할 데이터베이스 이름

 

데이터베이스 소유자 변경

sp_changedbowner '소유자이름'

 

데이터베이스 삭제

drop database 데이터베이스 이름

 

테이블 생성

CREATE TABLE table_name

(column_name, data_type expr, ...)

 

일반 문자열

varchar(100)이면 한글 50

 

유니코드 문자열

nchar(100) 200바이트 저장 영역

100글자까지 저장 가능

정확한 수 입력 때는

decimal 또는 numeric 사용해야 한다.

숫자는 tiniint로 사용하면 0 ~ 255까지 표현 가능하다.

'IT > DB' 카테고리의 다른 글

MS SQL 기초 #4  (0) 2017.11.01
MS SQL 기초 #3  (0) 2017.11.01
MS SQL 기초 #1  (0) 2017.09.22

데이터베이스의 개요

 

DBMS

데이터베이스 내의 데이터를 관리하는 파일 관리자

 

관계형 데이터베이스

관계나 2차원 테이블 이용

테이블 사용 로우와 칼럼으로 구성

 

데이터 타입

tinyint

smallint

int

정수 데이터 타입

 

날짜 및 시간 데이터 타입

datetume smalldatetime

 

고정 문자열과 가변 문자열

char, nchar varchar nvarchar

가변 문자열이 저장 공간 절약에 좋음

 

제약 조건

무결성 조건을 만족하기 위한 표준 방법 중의 하나

not null 제약 조건

기본 키 제약 조건

외래 키 제약 조건

 

SQL server 설치

Express, Workgroup, Standard, Enterprise

규모와 주용도에 따라 나뉨

 

SQL Server에서 제공하는 데이터베이스

시스템 데이터베이스

사용자 데이터베이스

 

시스템 데이터 베이스란?

SQL Server가 자체적으로 사용하는 데이터베이스

 

master

SQL Server가 자체 시스템을 유지 및 관리하기 위한 기본적인 내용을 다룬다.

model 개발자들이 새로운 사용자 데이터베이스를 만들 때 원본 역할을 한다.

 

msdb

msdb 데이터베이스는 경고 및 작업을 예약하고 운영자를 기록하기 위해 SQL Server 에이전트에서 사용된다.

 

tempdb

SQL Server에서 임시적으로 사용하는 메모리 역할을 한다.

 

데이터베이스는 데이터 저장 장소이고 관계형 데이터베이스는 관리하고자 하는 모든 데이터를 서로 연관관계를 가진 테이블 형식으로 저장할 뿐 아니라 이렇게 저장된 데이터에서 필요로 하는 정보만을 검색할 수 있는 방법을 함께 정의하고 있다.

 

SQL Server의 데이터베이스는 크게 시스템 데이터베이스와 사용자 데이터베이스, 두 가지로 나눌 수 있다. 시스템 데이터베이스는 SQL Server가 시스템을 운영, 관리하기 위한 데이터와 추가적으로 사용자 데이터베이스를 관리하기 위한 모든 데이터를 담아두는 곳이다.

 

데이터 모델링이란?

데이터베이스를 새롭게 구축하기 위한 준비과정으로서 사용자의 요구 사항을 듣고 사용자의 관점을 잘 분석하여 이를 추상화하여 문서화하는 과정을 말한다.

 

ERD(계체 관계 모델)

 

엔티티

실세계를 기본적로 표현할 수 있는 방법 - 테이블이 됨

 

엔티티는 인스턴스의 집합

 

애드리뷰트 - 칼럼이 됨

 

엔티티가 가질 수 있는 세부 특성

관계

엔티티 간의 연관성

 

관계의 차수

관계로 연결된 엔티티 타입들의 개수

 

카디날리티 비율

엔티티를 이루는 각 값이 관게에 참여할 수 있는 수

 

릴레이션 스키마

애트리뷰트의 집합

 

릴레이션 인스턴스

실제 값

 

릴레이션

스키마 + 인스턴스

 

무결성

개체 무결성

릴레이션에서 튜플을 구분하기 위해서 기본키를 구성하는 속성은 널 값이나 중복값을 가질 수 없다.

 

참조 무결성

외래 키 값은 null이거나 참조 릴레이션의 기본 키 값과 동일해야 한다.


질문은 댓글이나 방명록에 남겨주세요.

'IT > DB' 카테고리의 다른 글

MS SQL 기초 #4  (0) 2017.11.01
MS SQL 기초 #3  (0) 2017.11.01
MS SQL 기초 #2  (0) 2017.11.01

안드로이드 배경화면에 팝업 Activtiy로 알림 처리하기

 


이 방법을 사용하면 푸시 알람이 올 때 배경화면에 팝업을 띄움으로써 사용자에게 자세한 정보를 보여줄 수 있게 된다.

 

1.    필요한 클래스 및 xml 파일

1)     Push Receiver : 안드로이드 디바이스에 Push message를 보내는 클래스

2)     Popup Activity : Push message 전송 시 배경화면에 출력되는 팝업 화면을 컨트롤하는 클래스

3)     Layout : 팝업 화면 출력 시 사용자에게 보여지는 UI

4)     Manifest : Activity를 추가하고 launchMode를 설정하기 위한 설정 파일


 

2.    구현

1)     Push Receiver에 아래의 코드를 삽입함으로써 특정 시점에 팝업 화면이 출력되도록 함 :

Intent intent = new Intent(context, PopupActivity.class);
Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(intent);

부가설명 :

FLAG_ACTIVITY_SINGLE_TOP : 호출되는 Activity가 최상위에 존재할 경우에는 해당 Activity를 다시 생성하지 않고, 존재하던 Activity를 다시 사용함.

FLAG_ACTIVITY_NEW_TASK : 새로운 태스크를 생성하여 그 태스크 안에 Activity를 추가함. 이 코드에서는 Activity가 아닌 곳에서 startActivity()를 하기 위해 사용.

 


2)     PopupActivity에서 필요한 설정을 함 :

+@ : 여기서 버튼 클릭 이벤트를 처리하면 된다.

public class PopupActivity extends Activity {
   
@Override
   
protected void onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);

 

               // 타이틀 바 제거
       
requestWindowFeature(Window.FEATURE_NO_TITLE);

 

               // 설정을 위한 준비
       
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();

 

               // 팝업 화면 출력 시 배경이 검게 되지 않도록 함.
       
layoutParams.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;

 

               // 팝업 화면 출력 시 배경화면 투명도 설정

             layoutParams.dimAmount = 0.7f;

 

               // 설정을 적용함
       
getWindow().setAttributes(layoutParams);
       
setContentView(R.layout.activity_sos_popup);
   
}
}

 

 

3)     Layout : 본인이 원하는대로 커스텀해서 사용


 

4)     Manifest : Activity를 추가하고 launchMode를 설정함.

<activity
 
android:name="PopupActivity"
// 다른 Activity를 무시하고 오직 하나의 Activity만 출력되게 함.
 
android:launchMode="singleInstance" 
   android:screenOrientation="portrait"
   android:theme="@android:style/Theme.Translucent" >
</activity>

 

질문은 댓글이나 방명록에 남겨주세요.

설명 : 어떤 문자를 입력했는지 알려주는 프로그램입니다.




#include <stdio.h>


#include <string.h>


 


int main(void)



char str[256];


int i=0,j=0; 


int cntUpper, cntLower, cntNumber, cntSymbol,blank;




char charArr[53] = {0,};



int numArr[53] = {0,};


 


cntUpper = cntLower = cntNumber = cntSymbol =blank= 0; 


printf("문자를 입력하세요. :\n ");


gets(str);


for (; str[i] !='\0'; i++)



if (str[i] >= 'A' && str[i] <= 'Z') 


cntUpper++; 


else if (str[i] >= 'a' && str[i] <= 'z') 


cntLower++; 


else if (str[i] >= '0' && str[i] <= '9') 


cntNumber++;


else if(str[i]==' ')


blank++;


else 


cntSymbol++;


 



for(j=0 ; charArr[j] != 0 ; j++)


{



if(charArr[j] == str[i])


{


numArr[j]++;


break;


}


}


if(charArr[j] == 0)


{


charArr[j] = str[i];


numArr[j]++;


}


 



printf("전체 문자열 길이 : %d\n", i); 


printf("영문자 대문자 갯수 : %d\n", cntUpper); 


printf("영문자 소문자 갯수 : %d\n", cntLower); 


printf("숫자 문자 갯수 : %d\n", cntNumber); 


printf("특수 문자 갯수 : %d\n", cntSymbol);


printf("공백 갯수 : %d\n", blank);


printf("동일 문자의 갯수 "); 


for(i=0 ; charArr[i] != 0 ; i++)


{



if(charArr[i] == ' ')


{


printf("blank:%d  ", numArr[i]);


}


else


{


printf("%c:%d  ", charArr[i], numArr[i]);


}


}


printf("\n");


return 0;



방명록이나 댓글로 질문 남겨주세요.


'IT > C' 카테고리의 다른 글

C언어 내림차순 정렬 프로그램  (0) 2017.07.17
C언어 단어 순서 비교  (0) 2017.07.17

arr 배열에 들어있는 값을 내림차순으로 정렬해준다.



#include <stdio.h>


int main(void)

 {

     double arr[10] = {12.34, 34.56, 43.45, 55.67, 3.89, 213.2, 345.67, 88.23, 465.1, 2.12};

     int i, j=0, index;

     double b;


      for(i = 0 ; i < 9 ; i++)

      {

         index=i;

         for(j=i+1; j<10; j++)

         {

             if (arr[index] > arr[j])

         index=j;

   }

   b=arr[i];

   arr[i]=arr[index];

   arr[index]=b;

    }


  

  

     printf("삽입 정렬 결과\n");

     for(i = 0 ; i < 10 ; i++)

     {

         printf("%.2f ", arr[i]);

     }

     printf("\n");

   

     return 0;

 }

}


질문 사항은 댓글로 남겨주세요.

'IT > C' 카테고리의 다른 글

C언어 문자 종류별 개수, 각 문자 개수 구하기  (0) 2017.07.17
C언어 단어 순서 비교  (0) 2017.07.17

+ Recent posts