2019. 12. 15. 13:27
728x90

1. Windows 기능 켜기/끄기에 진입한다.

 - 방법 1
   Windows 설정 > 앱 > (우상단) 프로그램 및 기능 클릭
   좌상단에 있는 Windows 기능 켜기/끄기 클릭


 - 방법 2
   실행 창에 OptionalFeatures.exe를 입력


2. '인터넷 정보 서비스'에서 아래 항목을 체크한다.

 - World Wide Web 서비스
 - 웹 관리 도구 > IIS 관리 콘솔


3. 응용 프로그램 개발 기능에서 자신에게 필요한 항목을 체크한다.
 - 인터넷 정보 서비스 > World Wide Web 서비스 > 응용 프로그램 개발 기능


4. 실행
 - 시작 > Windows 관리 도구 > IIS(인터넷 정보 서비스) 관리자 실행
 - 왼쪽 트리를 열어 Default Web Site 선택
 - 오른쪽 웹 사이트 관리에서 '시작' 클릭


728x90

'공부 > 기타' 카테고리의 다른 글

티스토리에서 syntaxhighlighter 3.0.83 설치하기  (2) 2019.10.01
자료구조 2장. 연습문제 05  (0) 2018.07.25
자료구조 2장. 연습문제 04  (0) 2018.07.25
자료구조 2장. 연습문제 01  (0) 2018.07.25
xor을 이용한 스왑  (0) 2018.03.20
Posted by 아야카
2019. 10. 1. 19:27
728x90

설치

0. syntaxhighlighter를 다운로드 한 뒤 압축을 푼다.

SyntaxHighlighter_v3.0.83.zip


1. 블로그 관리 화면에서 꾸미기 - 스킨 편집으로 진입한다.
※ 블로그주소/manage/design/skin/edit#/


2. 우측 상단에 html 편집 버튼 클릭


3. 우측 상단에서 파일업로드 클릭 - 화면 하단에 [+추가] 버튼 클릭


4. syntaxhighlighter 폴더에서 scripts 폴더, styles 폴더 안에 있는 파일을 모두 업로드 한다.


5. HTML 탭으로 이동한다.

6. </head> 위에 아래 태그를 입력한 후 오른쪽 상단 구석에 있는 [적용] 버튼을 누른다.

<!-- SyntaxHighlighter 설정 시작-->
<script type="text/javascript" src="./images/shCore.js"></script>
<script type="text/javascript" src="./images/shLegacy.js"></script>
<script type="text/javascript" src="./images/shBrushBash.js"></script>
<script type="text/javascript" src="./images/shBrushCpp.js"></script>
<script type="text/javascript" src="./images/shBrushCSharp.js"></script>
<script type="text/javascript" src="./images/shBrushCss.js"></script>
<script type="text/javascript" src="./images/shBrushDelphi.js"></script>
<script type="text/javascript" src="./images/shBrushDiff.js"></script>
<script type="text/javascript" src="./images/shBrushGroovy.js"></script>
<script type="text/javascript" src="./images/shBrushJava.js"></script>
<script type="text/javascript" src="./images/shBrushJScript.js"></script>
<script type="text/javascript" src="./images/shBrushPhp.js"></script>
<script type="text/javascript" src="./images/shBrushPlain.js"></script>
<script type="text/javascript" src="./images/shBrushPython.js"></script>
<script type="text/javascript" src="./images/shBrushRuby.js"></script>
<script type="text/javascript" src="./images/shBrushScala.js"></script>
<script type="text/javascript" src="./images/shBrushSql.js"></script>
<script type="text/javascript" src="./images/shBrushVb.js"></script>
<script type="text/javascript" src="./images/shBrushXml.js"></script>
<link type="text/css" rel="stylesheet" href="./images/shCore.css">
<link type="text/css" rel="stylesheet" href="./images/shThemeDefault.css">
<script type="text/javascript">
SyntaxHighlighter.all();
</script>
<!-- SyntaxHighlighter 설정 끝-->



사용 방법

코드를 삽입하고 싶은 구간에 아래 내용을 입력한다.

<pre class="brush:언어">
</pre>

위와 같이 작성하면 본문에 아래와 같은 회색박스가 생긴다.
회색박스가 위치한 공간에 코드를 작성한 후 발행하면 된다.

html 모드에서 직접 코드를 작성할 경우 <, > 같이 태그에서 사용하는 특수문자가 제대로 표기되지 않으므로 코드는 에디터 모드에서 입력하는 것을 권장한다.

코드작성공간

참고로 일반 붙여넣기를 하거나 직접 작성하는 경우 <pre> 태그 사이에 <p> 태그가 추가되어 위에 출력되는 예제처럼 실제 출력 시에 <p></p> 태그가 출력된다. 글 작성 시 이 부분에 대해 체크할 필요가 있다.




참고 - 티스토리 코드블럭

티스토리의 새로운 글쓰기에는 코드블럭을 삽입할 수 있는 자체 기능이 있다.
티스토리에서 공식적으로 지원하는 기능인만큼 별도의 설치가 필요 없고 사용하기 쉽다는 장점이 있지만
새로운 글쓰기에서만 지원되는 기능이고, 별도의 커스터마이징을 할 수 없다.

사용 방법은 아래와 같다.

0. 블로그 설정에서 콘텐츠 - 설정으로 진입한 후 새로운 글쓰기를 [사용합니다]를 선택 후 [변경사항 저장]을 클릭한다.


1. 글쓰기 화면에 진입하면 상단 메뉴 중 […] 버튼을 클릭한 후 [<> 코드블럭]을 클릭한다.

2. 코드블럭 화면이 출력된다.
코드블럭 삽입에서 작성하고자 하는 언어선택한 뒤 본문에 코드를 작성한 후 확인을 클릭하면 본문에 코드가 삽입된다.

지원 언어: HTML, CSS, Javascript, Python, Java, C++, Kotlin, Swift, PHP, Go


본문에 삽입됐을 때의 모습 (C++ 기준)

포스팅 한 후의 모습 (C++ 기준)

728x90
Posted by 아야카
2018. 7. 25. 02:14
728x90

아래와 같은 소스를 실행하였을 때 화면에 출력되는 값은 무엇인가.

즉, *(*(pptr_int_array+3)+2) 에 해당하는 값은 무엇인가.


int i = 0, j = 0, value = 0;

int row = 4, col = 5;


int **pptr_int_array = (int **)malloc(sizeof(int *) * row);

for (i = 0; i < row; i++) {

pptr_int_array[i] = (int *)malloc(sizeof(int) * col);

}


for (i = 0; i<row; i++) {

for (j = 0; j<col; j++) {

value++;

pptr_int_array[i][j] = value;

}

}


printf("%d\n", *(*(pptr_int_array + 3) + 2));




답은 18

값을 대입하기 전에 value++;를 하였으므로 최초 입력 값은 1

pptr_int_array[3][2]에 저장이 되므로 col이 5개짜리인 row를 3번 거친 후의 3번째 배열이므로 18번째 배열이다. 

따라서 화면에 출력되는 값을 18이다. 



728x90
Posted by 아야카
2018. 7. 25. 02:06
728x90

다음 소스 수행 결과로 예상되는 변수들의 구조를 그림으로 그리시오.


int int_value_A = 100;

int int_value_B = 200;

int *ptr_int1 = &int_value_A;

int *ptr_int2 = &int_value_B;


*ptr_int1 = *ptr_int2;

ptr_int1 = ptr_int2;


*ptr_int1 = *ptr_int2;에 의해 int_value_A의 값이 200이 된다. 

ptr_int1 = ptr_int2;에 의해 ptr_int1은 int_value_B를 가리키게 된다. 

따라서 소스에 의한 수행 결과는 아래와 같다. 



728x90
Posted by 아야카
2018. 7. 25. 01:28
728x90

구조체를 이용해 5명의 국영수의 평균을 구하시오

struct student
{
	char	name[30];
	float	korean;
	float	english;
	float	math;
	float	avg;
};

int main()
{
	struct student *ptr_student_new = NULL;
	int students = 5;

	ptr_student_new = (struct student*) malloc(sizeof(struct student) * students);

	*(ptr_student_new + 0) = { "Lee", 81, 79, 99, 0 };
	*(ptr_student_new + 1) = { "Kim", 80, 82, 78, 0 };
	*(ptr_student_new + 2) = { "Park", 79, 85, 75, 0 };
	*(ptr_student_new + 3) = { "Hong", 75, 87, 82, 0 };
	*(ptr_student_new + 4) = { "Jung", 90, 89, 65, 0 };

	struct student average = { 0, };

	for (int i = 0; i < students; i++) 
	{
		average.korean = average.korean + (ptr_student_new + i)->korean;
		average.english = average.english + (ptr_student_new + i)->english;
		average.math = average.math + (ptr_student_new + i)->math;
	}

	average.korean = average.korean / 5;
	average.english = average.english / 5;
	average.math = average.math / 5;

	cout << "국어 평균: " << average.korean << "\n";
	cout << "영어 평균: " << average.english << "\n";
	cout << "수학 평균: " << average.math << "\n";

	free(ptr_student_new);

	return 0;
}

 malloc으로 동적할당할 한 후의 활용에 대한 연습문제. 문제를 푸는 것 자체는 어렵지 않았으나 malloc의 크기를 따로 구해서 for문을 돌리려는 삽질을 하느라 시간이 조금 걸렸다. 생각해보면 동적할당은 애초에 어느정도로 할당할지에 대한 값이 있을테니 해당 값을 별도로 저장해서 관리하면 될 일이었다. _msize(void)라는 함수를 알아내긴 했지만 비표준이라 사용하기도 곤란한 함수였다. 애초에 동적할당은 변수를 이용해서 하거나 특정 값을 이용해서 할테니 그 값만 따로 관리해주면 될 일이어서 결과적으로 삽질을 한게 되었다. 



728x90

'공부 > 기타' 카테고리의 다른 글

자료구조 2장. 연습문제 05  (0) 2018.07.25
자료구조 2장. 연습문제 04  (0) 2018.07.25
xor을 이용한 스왑  (0) 2018.03.20
[엑셀] 반올림/올림/내림 (ROUND)  (0) 2017.11.05
[엑셀] 특수 합계 계산(SUMPRODUCT)  (0) 2017.11.01
Posted by 아야카
2018. 3. 20. 02:30
728x90

변수와 변수의 값을 바꿀 때 보통은 아래와 같이 한다.

void swap(int& a, int& b)
{
	if (a != b)
	{
		int temp = a;
		a = b;
		b = temp;
	{
}


XOR 연산자를 이용해서 연산할 경우에는 temp 변수를 생성하지 않고 할 수 있다. 방법은 아래와 같다.

void swap(int& a, int& b)
{
	if(a != b)
	{
		a = a ^ b
		b = b ^ a
		a = a ^ b
	}
}

XOR 연산은 교환법칙과 결합법칙이 성립한다.

이 법칙들을 이용해서 계산 과정을 살펴보면 아래와 같다.

c = a ^ b

d = b ^ c = b ^ (a ^ b) = b ^ a ^ b = a ^ b ^ b = a ^ 0 = a

e = c ^ d = (a ^ b) ^ a = a ^ b ^ a = a ^ a ^ b = 0 ^ b = b


따라서 XOR 연산을 위와 같이 진행하면 두 값은 swap 된다.

728x90
Posted by 아야카
2017. 11. 5. 22:58
728x90

ROUND(값, 자리 수) - 지정한 자리수에서 반올림한다.

ROUNDUP(값, 자리 수) - 지정한 자리수에서 올림한다.

ROUNDDOWN(값, 자리 수) - 지정한 자리수에서 내림한다.


※ 자리 수는 0으로 할 경우 정수로 출력되며, , 양수는 소수 자리에서, 음수는 정수 자리에서 처리를 한다.


예시)

=ROUND(12.25, 1) >> 12.3

=ROUND(12.25, 0) >> 12

=ROUND(12.25, -1) >> 10

728x90

'공부 > 기타' 카테고리의 다른 글

자료구조 2장. 연습문제 05  (0) 2018.07.25
자료구조 2장. 연습문제 04  (0) 2018.07.25
자료구조 2장. 연습문제 01  (0) 2018.07.25
xor을 이용한 스왑  (0) 2018.03.20
[엑셀] 특수 합계 계산(SUMPRODUCT)  (0) 2017.11.01
Posted by 아야카
2017. 11. 1. 00:48
728x90

sumproduct(배열1, 배열2, 배열3...)

각 배열에 대응하는 순서끼리 곱한 것을 합한다.
예를 들어 sumproduct(A1:A3, B1:B3, C1:C3)로 설정할 경우 각 배열은 아래와 같다.
배열1 - A1, A2, A3
배열2 - B1, B2, B3
배열3 - C1, C2, C2
이 때 sumproduct의 계산은 ((A1*B1*C1)+(A2*B2*C2)+(A3*B3*C3))이 된다.
범위가 하나라도 다른 경우가 있을 경우 곱하기를 진행하는 과정에서 에러가 나와 #VALUE가 뜬다.
따라서 각 배열의 크기와 형태가 모두 동일해야 한다.

단순히 이런 형태이기만 해서는 활용이 어렵지만 배열1의 위치에 범위 조건을 걸어주는 방식을 응용하면 좀 더 활용도를 높일 수 있다.

오른쪽 자산에 있는 값들은 왼쪽에 있는 각 브랜드의 가격*수량의 총합이다.
A의 자산에는 sumproduct((B3:B8=F3)*1, C3:C8, D3:D8)이 작성되어 있다.
(B3:B8=F3)*1을 이용해서 범위를 설정하고, 나머지 배열 인자들은 조건문이 설정한 범위를 따라간다.
조건문은 *로 연결하는 것으로 여러개를 설정할 수 있다.
sumproduct((B3:B8=F3)*(C3:C8>100)*1, C3:C8, D3:D8)으로 설정하면
브랜드가 A이면서 가격이 100보다 비싼 곳을 범위로 설정하여 결과가 나온다.
이와 같은 형태로 특정 조건에 해당하는 범위의 합계를 구할 수 있다.

728x90

'공부 > 기타' 카테고리의 다른 글

자료구조 2장. 연습문제 05  (0) 2018.07.25
자료구조 2장. 연습문제 04  (0) 2018.07.25
자료구조 2장. 연습문제 01  (0) 2018.07.25
xor을 이용한 스왑  (0) 2018.03.20
[엑셀] 반올림/올림/내림 (ROUND)  (0) 2017.11.05
Posted by 아야카