본문 바로가기

분류 전체보기605

17.조건문(분기문) , bool형식 , 논리연산자1 - if 프로그램은 조건문과 반복문만 알면 모든프로그램을 만들수 있다. 그외 다른것들은 좀더 코드를 짧게 쓰고 읽기 쉽고 사용하기 편하게 하기위한 추가옵션이다. 실제로 이제까지 배운것에 조건과 반복문만 할줄알면 프로그램 코드를 길게 쓰긴하겠지만 모든 원하는것들을 다만들수 있다. 조건문 형식은 다음과 같다. if(조건) { 조건이 참일때 실행할내용 } else { 조건인 거짓일때 실행할내용 } { 내용 } 과 같은 형식도 처음볼텐데 이미 앞에 쓰고 있던 내용이다. 버튼클릭하면 { } 사이에 우리는 내용을 쓰고 있었다. 의미는 한단락으로 묶어주는 형태인데 첫번째 쓰여져있는내용에 종속되는 세부내용이라고 생각해도 된다. 아래와 같은 느낌이라고 생각하면 가장 좋을것같다. 단락에대한 개요 { 상세한내용 } 이내용은 거의 대.. 2021. 9. 20.
16.연산자 프로그램을 하면서 연산을 할경우는 수없이 많이 생긴다. 연산은 실제 샐황에서 사용하는 연산과 거의 비슷한 의미이다. 앞에서 문자열 더하는 공부를 했으니 + 는 이해했으리라 생각한다. 문자끼리는 문자연결을 수행하고 숫자끼리 더할경우는 실제 우리가 사용하는 + 기능을 수행한다. - 와 / 는 실생활에서 사용하는 연산과 같고 곱셈 의 경우 * 를 사용하는데 이내용도 이미 알고 있으리라 생각한다. 기본적인 연산자외에 프로그램에서는 특별한 연산자들을 추가로 사용한다. 첫째로 나머지 연산자 % 이다. 예를 들면 10을 3으로 나누면 몫이 3이고 나머지가 1 인데 이 1값을 대입해준다. int a = 10%3; 위와같은 코드는 a를 출력하면 1 이 나온다. 나머지연산자는 생각외로 여기저기 쓰이는 곳이 많아서 꼭 기억.. 2021. 9. 20.
15.주석 프로그램을 하다보면 소스코드가 계속 길어진다. 소스코드가 길어지면 나중에 내가 만든 코드를 봐도 뭘 할려고 만든기능인지 알수 없게 되버린다. 그래서 내가 뭔가를 만들면 메모해놓는 기능이 있다. 그걸 프로그램에서는 주석이라고 부른다. 실제 컴파일될때는 주석은 무시하고 컴파일하기 때문에 실제 런타임에는(프로그램이 실행될때) 주석은 아무영향도 끼치지않는다. 그래서 프로그램을 만들면 본인 뿐만 아니라 누군가 나중에 수정할때는 대비해서 주석은 필수적으로 필요하다. 그런데 실제로 노트에 글을쓸때도 노트에 너무많은 메모를 추가해놓으면 오히려 보기가 힘들어진다. 프로그램도 주석을 너무 과하게 달면 오히려 소스를 분석하거나 나중에 볼때 더 불편해진다.(물론없는거보다는 낫다) 그래서 주석도 적당히 보기좋을만큼 추가하는게 .. 2021. 9. 20.
14.이름입력후 그대로 출력 프로그램 만들기 이전장에서 전반적인 내용설명이 있었다. 충분한 연습이 필요한내용이라서 반복적으로 연습해야한다. ***숙제 : textbox에 내이름을 입력하면 "이름(쥐띠)" 같은형식으로 출력하는 프로그램을 만들어보자.(힌트:변수사용) 2021. 9. 20.
13.윈폼컨트롤 설명 그림1에서 왼쪽편에 보면 도구 상자라는 것이 있다. 이도구상자는 상단의 디자인용 탭을 눌렀을때 활성화 되는데 탭을 이동하는 방법은 앞에서 설명했다. (4장참조) 소스탭으로 도구상자를 사용할수 없는데 직접 변경하면서 확인해보기 바란다. 도구상자에 있는 컨트롤들은 모두 사용할수 있다. 그중 대표적으로 가장 많이 사용하는것이 label , textbox , button 이다. 다른 컨트롤들은 좀더 익숙해지면 그때 다시 살펴보기로 하고 3개정도만 잘다룰수 있도록해보자. Label 은 글씨를 내가 입력한대로 그대로 보여주기만 하는 컨트롤이다. 도구상자에서 label 을 드래그 해서 폼으로 옴겨보자.(폼 : 화면중앙에 컨트롤들을 올릴수있는 곳.하나의 창이라고 생각하면됨.) 드래그한 후 label 을 클릭하면 그림2.. 2021. 9. 20.
12.윈폼/콘솔프로그램 실행법 이제까지 공부한 내용을 간단히 정리해보면 빌드,변수,형변환 까지 진행했는데 상당히 중요한 개념이었다. 사실 프로그램의 거의 대부분이 이내용만 다룰수 있으면 되고 나머지는 추가적인 스킬들이다. 결국 변수들에 값넣고 다른처리들하고 출력하거나 사용자가 원하는 행동을 하는것이 프로그램이다. 프로그램은 여러 방식으로 만들수 있는데 크게보면 웹프로그램과 로컬PC 기반 , 모바일기반 프로그램으로 나뉜다. 웹은 브라우저(크롬,IE,오페라,사파리등) 에서 작동하는 프로그램을 통칭적으로 말하며 로컬PC기반 프로그램은 내PC에서 자체적으로 돌아가는 프로그램(윈도우,포토샵,메모장,그림판등) 을 대부분 가리킨다. 지금 연습하고 있는것은 로컬PC에서 돌아가는 프로그램을 만드는 연습을 하고 있는데 이또한 몇가지로 분류될수 있다. .. 2021. 9. 20.
11.형변환 앞서 많은 형태의 변수를 배웠다. 인간의 머리는 수많은 개념과 정보들을 말도안되는 속도로 처리한다. 예를 들면 "1" 이라는 숫자를 어떤형태로 써도 알수 있다. 그림1을 보면 모두 숫자 1을 가리키는것을 알수 있다. 글씨체나 문자형태나 수식이거나 모두 상관없이 동일한 것을 가리킨다는것을 사람은 순식간에 알수 있다. 하지만 컴퓨터는 프로그래밍 되어있지 않으면 해당내용을 알수 없다. 하나의 변수를 연산을 하거나 문자로 연결을 하거나 할때는 정확한 형태로 변경한 후에 해당 작업을 해줘야 한다. 그작업을 형변환(type casting) 이라고 한다. 형변환은 여러가지 형태가 있다. 첫째로 모든 형태를 문자로 변경해줄때는 .ToString() 을 붙여주면된다. 예를 들면 다음과 같다. int a = 10; str.. 2021. 9. 20.
10.변수연산 문자형 / 문자열 보간 문자형 변수를 연산을 하면 이전에 설명한것과 같이 1+1 = 창문 같은 느낌이다. 말그대로 문자를 연결하는것이다. int a = 2; int b = 3; a+b 를 출력하면 5 가나오고 string a = "2"; string b = "3"; a+b 를 출력하면 "23" 이 나온다는 의미이다. 이내용은 프로그램언어뿐만 아니라 DB를 다룰때도 동일한 개념이다. 실제 c# 에서는 그림1과 같이 문자연산을 하면 새로운 주소를 할당받아 거기에 값을 쓰기때문에 문자열 연산은 상당히 느린편이다. 그림에 대한 내용은 이미 앞에서 충분히 학습해서 이해하리라 생각한다. a의 위치에 b의 문자열을 바로 연결하면 공간을 많이 차지하지도 않고 새롭게 a+b의 공간을 할당할 일도 없고 다좋을텐데 왜 새로운 공간을 할당할까? 메.. 2021. 9. 20.
9.변수,자료형 3(char , string) 이전에 배운 숫자형외 문자형태의 자료형도 한가지가 아니다. 문자형은 크게 두가지 인데 1개문자 와 문장으로 나뉜다. 두가지를 쓸때는 각각의 형식을 지켜줘야 하는데 1개의 문자를 표현할때는 ' (홑따옴표) 로 감싸고 문장을 표현할때는 " (쌍따옴표) 로 감싼다. '가' - 1개문자 char 형식 "가나다" - 문장 string 형식 위 예제가 각각의 형식을 나타낸다. 소스로 보면 아래와 같다. char a = '가'; string b = "가나다"; char 는 하나의 문자이고 string 은 char 가 여러개 모여있는것이라고 생각하면 된다. 1개의 값만을 표현할때 char 를 사용하는데 그중 참거짓만 표현하고 싶을때는 bool 을 사용한다. bool 은 두가지 값만 넣을수 있는데 true , false.. 2021. 9. 20.
8.변수연산 숫자형 변수는 연산이 가능하다. 예를 들면 a 라는 변수에 5를 담고 b라는 변수에 10 을 담아서 a 라는 변수와 b 라는 변수를 더하면 15의 값을 얻을 수 있다. 소스코드로 보면 다음과 같다. int a = 5; int b = 10; a+b 변수 형식에 대해 이전에 빠져먹은 내용이 있어 여기서 추가설명하면 위와 같이 변수를 먼저 선언하고 값을 대입한다. 즉 (형식) (변수명) = (대입할값); 형태가 되는것이다. 만약 위 형식대로 하지않으면 에러가 발생하므로 해당에러를 분석해보는것도 좋다. 어째뜬 위와 같이 연산을 할수 있는데 변수의 타입에는 크게 두가지가 있다. 숫자형과 문자형이다. 소스코드내에서 " 없이 숫자만 1 이라고 적으면 프로그램은 숫자 1로 인식한다. 그런데 "1" 이라고 적으면 숫자가 아닌 .. 2021. 9. 20.
7.변수,자료형 2(int와 float, double) 앞장에서 변수에 대해 설명했다. 변수는 프로그램 하는 동안 계속 쓰기 때문에 꼭 내용을 이해하고 있어야 한다. 그림1은 여러 자료 형을 나타내고 있는데 내가 100이란 숫자를 변수로 사용할때 보통은 byte 형을 사용하진 않는다. 앞장에서는 크기에 맞춰서 사용하라고 해놓고 여기서는 다른말하니 당황스러울수 있다. 여기는 몇가지 이유가 있다. 첫째로 PC의 자원이 넉넉해져서 여유롭게 사용할수 있기 때문이다. ( 자원은 PC의 램,CPU처리속도,하드용량등 사용가능한 모든것을 말한다. ) PC 는 계속 가파르게 발전하고 있는데 과거에 비해 하드용량이나 메모리용량등이 비교할수 없을만큼 올라갔다. 내가 최초로 사용하던 PC는 하드가 무려 21메가 였는데 그때는 그용량도 넉넉하다고 느꼈었다. 램은 정확히 기억나지 않.. 2021. 9. 20.
6.변수,자료형 1(변수란, 자료형종류) 변수란 값을 담을수 있는 메모리상의 공간 가리킨다. 1번 그림에서 우측에 있는게 실제 pc의 RAM 인데 프로그램이 실행되는동안 해당공간에 임시로 데이터들을 넣고 프로그램에서 사용한다. 윈도우에서 RAM 의 임의공간에 데이터를 막쓰진 않는다. 기본적으로 순서대로 데이터를 쌓아서 사용하게 되는데 그 개념이 1번그림의 왼쪽과 같은 형태가 된다. 즉 , 낮은주소부터 객체의 정보를 넣어두게 되고 높은주소부터 상수등 고정된 정보를 넣어두게 된다. 지금 이내용을 정확히 이해할 필요는 없는데 궁금하면 개인적으로 윈도우가 메모리를 어떤형태로 사용하는지 찾아보자. 내부적으로 순서대로 데이터를 쌓아서 관리한다 정도만 알고 있으면 된다. 그림2를 보면 실제 메모리 공간에 데이터를 어떻게 넣는지 설명하고 있다. 20이라는 데.. 2021. 9. 20.
5.버튼 응용 개별공부 화면 중앙의 버튼을 누르면 우측 속성창에서 버튼에대해 바꿔줄 수 있는 속성들이 표시된다. 이번에는 개별적으로 연구해서 숙제만 진행한다. ***숙제 : 1개의 창에 5개의 버튼을 만들고 각버튼들에 스터디 인원의 이름이 표시되게 하고 그 버튼을 누르면 각 인원의 이름으로 팝업창 뜨게 해서 공유. 이미지참조. (힌트 : text 속성) 2021. 9. 20.
4.창레이아웃 , 버튼, 메세지박스 프로그램에서 기본적인 내용을 배우기 위해서는 상당히 지루하고 답답한 내용들이 있다. 하지만 꼭 알고 있어야 하는 내용들이므로 해당내용들을 더 시각적으로 확인하기 편하게 하기 위해 다른내용 보다 이내용을 앞으로 당겨서 배운다. vs 환경은 자유롭게 구성이 가능한데 기본 창 구성은 1번이미지와 같다. (디버그 상태가 아닌 일반상태) 창레이아웃은 상단에 있는 "창" > "창 레이아웃 다시설정" 을 눌러 초기화 할 수 있다. 각창은 상단에 제목부분을 드래그 해서 2번째이미지 처럼 위치를 옮길수 있다. 편한위치로 이동해서 사용하면된다. 3번 이미지와 같이 왼쪽의 도구상자를 열고 버튼을 드래그해서 화면 중앙으로 옴기면 버튼이 생성된다. 드래그 해서 생성할수도 있고 버튼을 클릭한뒤 마우스가 +모양으로 변경된뒤 우측에.. 2021. 9. 19.
3.솔루션 / 프로젝트 , 다른곳에서 파일 실행해보기 , 빌드이벤트 프로젝트는 내가 최종적으로 실행할 파일(exe 파일) 을 만드는데 필요한 소스,참조하는 DLL 등 모든 필요한 것들을 모아놓은 것을 말한다. 프로젝트를 만들때 1번그림과 같이 프로젝트명과 실제 프로젝트를 물리적으로 저장할 위치를 지정할 수 있다. 일반적으로 프로젝트명은 내가 실제로 만들 exe 파일 명칭과 동일하다. 물론 다른곳에서 변경해줄수도 있는데 그건 나중에 다시 설명한다. 그림2번에 보면 솔루션과 프로젝트를 표시해 놨는데 프로젝트는 위에서 말한거처럼 exe 파일을 만드는데 필요한 것들을 모아둔 것이고 솔루션은 그 프로젝트들을 관리하기 편하게 하나로 모아둔 것이라고 생각하면 된다. 프로젝트는 솔루션에서 마우스 우클릭한 후 "추가" > "새프로젝트" 로 현재 솔루션에 프로젝트를 추가할 수 있다. 물론.. 2021. 9. 19.
2.디버그/릴리즈 차이 , .net프레임워크버전 , exe파일 만들기 프로그램을 만드는 궁극적인 목적은 내가 실행되는 파일을 만들고 사용자가 그 파일을 실행하게 함으로써 사용자가 원하는 작업을 할 수 있게 하는 것이다. 1장에서 만든프로그램을 사용자가 사용할수 있게 하기 위해서는 프로그램을 빌드 해야한다. 빌드하면 실제로 사용자가 실행할 수 있는 exe 파일이 생성되는데 이 exe 파일을 만드는데 크게 두 가지 방법으로 빌드할 수 있다. DEBUG / RELEASE 모드 두 가지인데 차이점은 아래 경로에서 읽어보자. https://j2hworld.tistory.com/77 프로그램을 만들면 한방에 완벽하게 만들어지지 않는다. 어떤형태로든 버그(프로그램이 이상행동하는것) 가 발생하고 vs에서 해당 버그를 수정하기 위해 내가 만든 코드를 한줄씩 따라가며 값을 확인할수도 있다... 2021. 9. 19.
1.Visual Studio 설치/프로젝트 만들기 / 기본 윈폼 실행 c#으로 만든 프로그램은 .netframework 라는 프레임워크가 깔려 있는 상태에서 동작한다. 프레임워크는 프로그램에 필요한 함수나 변수등이 모여있는 파일들을 하나의 폴더에 모아 놓은 덩어리라고 생각하면 되는데 .net 프레임워크 말고도 여러종류 프레임워크가 있다. 위에서 말한것처럼 c#으로 만든 프로그램은 .net 프레임워크가 있어야 작동하는데 이전 윈도우 xp 시절에는 .net 프레임워크를 직접 설치해줘야 했지만 최근 윈도우는 윈도우 업데이트만 하면 최신프레임워크도 같이 업데이트 할 수 있다. 프로그램을 제작할 때 내가 직접 .net 프레임워크 버전을 지정해줄 수 있는데 만약 내가 4.7.1 버전으로 만들었는데 실제exe 파일을 만들어서 다른pc에서 실행할때 그 PC에 .net 프레임워크 버전이 .. 2021. 9. 19.
6년만에 노트북을 바꿨습니다 / HP 노트북 터치패드 드라이버 오래전부터 쓰던 노트북이 ASUS 꺼였는데 6년이 지나니 이제 발열도 너무 심하고 팬소음도 너무 심해서 고민하다가 노트북을 바꿨습니다. HP15-db1001AU 요번에 새로 출시된 모델인데 이래저래 가성비 따져보고 바꿨습니다. 일단 기본외관은 깨끗하게 마음에 듭니다 성능도 당연히 가성비 보고 샀으니 좋습니다 그런데 위쪽 카메라 부분이 노트북을 열때마다 소리가나네요 딸깍딸깍 HP서비스센터에 신청해서 불량검사 받아보니 원래 저부분이 약간 이격이 있어서 소리가 난답니다 그래서 양면테이프로 그사이를 붙여주냐고 물어보는데 괜찬다고 했습니다 같은 모델 사실분은 참고 하시면 좋겠네요 그리고 터치패드를 끌려고 하니 단축키가 없어서 HP 고객센터에 물어보니 아직 출시된지 얼마 되지 않아 터치패드 드라이브가 없답니다.. .. 2019. 3. 19.
[Eclipse] 이클립스에서 선택한 파일, 폴더위치에 탐색기 바로 열기 출처 - https://m.blog.naver.com/passith/220012979533 이클립스에서 작업하고 있는 파일 또는 탐색기에서 선택한 파일,폴더 위치를 탐색기에서 열 수 있게 할 수 있습니다. 파일, 폴더를 선택후 아래의 아이콘을 선택하면 해당 위치의 탐색기가 열리게 됩니다. 사용할 수 있게 하는 방법은 아래와 같습니다. 1. 아래의 아이콘을 클릭 -> External Tools Configurations... 클릭 2. Program 더블 클릭 3. Name : 사용하고 싶은 이름을 Location : ${env_var:SystemRoot}\explorer.exe Arguments : /select,${resource_loc} 위의 사항 적은후 Apply 하면 완료. 2018. 11. 6.
[Java] Java설치 및 환경변수 설정 (JDK 설치 방법) 출처 - http://limkydev.tistory.com/61 이번에 새로 노트북을 사면서 자바를 다시 깔아야 할 일이 생겼다. 이왕 다시 자바를 까는겸 어떻게 까는지 스크랩하겠다. Java JDK 설치 우선 나는 이클립스로 JSP를 바탕으로 웹을 개발해야한다. Java를 사용하기 위해선 JDK(Java Development Kit)을 설치해야한다. 자바 개발 도구인 JDK를 깔아야 Java라는 언어로 프로그래밍을 할 수 있기 때문이다. 우리는 자바라는 언어를 통해 개발을 하고자 하기 때문에 JRE, JVM이 아닌 JDK를 깔아야한다. 참고로 JRE는 자바언어로 개발된 어떤 SW를 구동시키기 위해 최소한 설치되어야할 것들을 지원하며, JDK는 JRE 이상으로 환경구성 뿐만 아니라 직접 개발까지 가능하게.. 2018. 11. 6.
구글원격테스크톱 어플 터치 동작 구글원격 데스크톱어플에서 사용할수 있는 터치동작 *스와이프 : 터치한상태로 해당방향으로 움직임 -마우스이동: 화면아무곳에서나 스와이프 -왼쪽클릭: 화면터치 -오른쪽클릭: 두손가락으로 화면터치 -가운데클릭: 세손가락으로 화면터치 -위아래 스크롤: 두손가락으로 스와이프 -클릭하여 드래그(1개항목): 길게터치하여 드래그 -확대/축소: 두손가락을 벌리거나 모음 -키보드표시: 세 손가락을 위로 스와이프 2017. 10. 19.
안드로이드 unable to find explicit activity class 에러발생시 androidmanifest에 activity 를 추가해준다 ex) 2017. 9. 12.
MYSQL 이벤트 스케줄러 출처 - http://genesis8.tistory.com/298 DB 기록을 주기적으로 할 수 있는 기능.. 작업 스케줄러처럼 주기적으로 쓸 수 있는데다가 쿼리를 넣어두거나 프로시저 호출 등을 지정해둘 수 있다!... 이런 기능을 몰랐었다니.. show variables like 'event%'; ㄴ이벤트 스케줄러가 켜져 있는지를 체크할 수 있다. SET GLOBAL event_scheduler = ON ; SET GLOBAL event_scheduler = OFF ; ㄴ 이벤트 스케줄러를 껐다 킬 수 있다. (이벤트 동작 여부를 총체적으로 결정) SELECT * FROM information_schema.EVENTS; ㄴ 현재 db에 작성된 event 들을 볼 수 있다. CREATE EVENT 이벤트.. 2017. 9. 11.
안드로이드 spinner( combobox ) ---res/values 1명 2명 3명 ---java Spinner spinner1; spinner1 = (Spinner)findViewById(R.id.spinner); final SpinnerAdapter spinnerAdapter = ArrayAdapter.createFromResource(getApplicationContext(),R.array.spnnerdata1,R.layout.support_simple_spinner_dropdown_item); spinner.setAdapter(spinnerAdapter); spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onIt.. 2017. 9. 7.
안드로이드 canvas 리셋하기 Canvas drawCanvas = (Canvas)findViewById(R.id.canvas); drawCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR); 2017. 9. 6.
안드로이드 view 배경색 가져오기 ColorDrawable cd = (ColorDrawable) textView.getBackground(); int colorCode = cd.getColor(); 2017. 9. 6.
버튼 클릭 이벤트를 처리하는 몇 가지 방법. (Android Button Click Event) 출처 - http://recipes4dev.tistory.com/55출처 - http://nanstrong.tistory.com/274 1. Button의 클릭 이벤트 처리안드로이드에서 Button 클릭 이벤트를 처리하기 위해서는 리스너(listener)의 개념과 구현 방식을 이해하고 있어야 합니다. 만약 리스너에 대한 내용을 처음 접하신다면, 이전 글 [안드로이드 버튼 기본 사용법 - Button 클릭에 대한 이벤트 처리]에서 리스너의 의미와 View 클래스의 리스너 구현 내용, 리스너 객체 생성과 이벤트 처리 함수 작성 내용을 설명하였으니 살펴보시기 바랍니다. 그런데 버튼 클릭 이벤트를 처리하기 위해 반드시 [안드로이드 버튼 기본 사용법 - Button 클릭에 대한 이벤트 처리]에서 설명한 방법만 사.. 2017. 9. 6.
글루디오 던전 지도( 글루디오 던전 , 글루디오던전 , 글던 , 본던 , 던전 , 던전지도 ) 2017. 7. 16.
수련 던전 지도( 수련 던전 , 수련던전 , 던전 , 던전지도 ) 2017. 7. 16.
WannaCry 랜섬웨어 예방 출처 - http://m.post.naver.com/viewer/postView.nhn?volumeNo=7658112&memberNo=3326308 1. 제어판을 들어가서 윈도우 방화벽을 선택한다 2.고급설정을 클릭한다 3.왼쪽의 인바운드 규칙을 선택한후 오른쪽 새규칙을 클릭한다 4. 새로뜬창에서 포트를 선택하고 다음을 클릭한다 5. 위와같이 TCP,특정로컬포트를 선택한후 (기본 선택되있음) 입력란에 134,445 를 입력하고 다음을 클릭한다 *134,445 사이에 있는건 쉼표(콤마) 다. 6. 연결차단을 선택하고 다음을 클릭한다 7.위와같이 선택하고(기본선택되있음) 다음을 클릭한다. 8. 이름란에 아무 이름이나 쓰고 마침을 클릭한다. 2017. 5. 15.