빌드가 안된다.... 분명 멀쩡히 잘 되던거같은데..... 해결방법 1. Build Automatically 자동빌드 체크 상단메뉴 > Project > Build Automatically 체크 가끔 실수로 끄는건지 특정상황에 꺼지는건지 모르겠지만 체크해제되어있는 경우가 있다 2. 빌드위치 확인 프로젝트 우클릭 > Build Path > Configure Build Path > Source탭 > output folder workspace 하위 해당위치에 빌드파일 생성 되는지, 날짜수정 되는지 확인하면 된다 3. 프로젝트 클린 상단메뉴 >Project > Clean .class 파일들 지우고 다시 생성해주는거라는데 지워지는지는 확인 안해봄 4. 라이브러리가 잘못 적용된 경우 프로젝트 우클릭 > Build ..

찬율이가 몇개월이지? 사람들이 찬율이 나이를 물어볼때 항상 드는 생각이다 대략 기억하고있어서 ...쯤이요~ 하고 마는데 생각난김에 겸사겸사 오랫만에 파이썬으로 날짜계산 프로그램을 만들어봤다 날짜관련 모듈인 datetime을 import 하고 날짜계산모듈인 timedelta를 import 했다 msvcrt는 단지 getch()함수를 사용하기위해 import 했고 re모듈은 정규식을 사용하기 위해 import 했다 사실 정규식을 아직 잘 몰라서 찾아가며 작성해야하지만 이번에는 간단한 숫자만 구분해보려고 사용해봤다 주석을 달아놔서 별로 설명할게 없다 결과물을 보면 이런식으로 나온다
프로젝트 초기에 혹은 지적사항으로 컬럼 변경을 요청받았다 처음부터 잘 정해놓으면 문제될게 없을것 같은데 그렇지 않은 경우가 많은가 보다 컬럼을 수정하고 나면 mapper를 꼭 확인하도록 해야한다 지금 사용하는 DB는 티맥스사의 '티베로'를 사용중인데 오라클과 거의 문법이 비슷하다 ALTER TABLE 테이블명 ADD(컬럼명 데이터타입(사이즈)); ALTER TABLE 테이블명 MODIFY(컬럼명 데이터타입(사이즈)); ALTER TABLE 테이블명 DROP COLUMN 컬럼명; ALTER TABLE 테이블명 RENAME COLUMN 기존이름 TO 바꿀이름;
지금 프로젝트하는 곳에는 구내식당이 없다그래서 점심메뉴를 매번 여기저기 돌아다니며 먹는데 점심시간만 되면 부장님께서 "오늘은 어디갈까?응?" 이러신다그래서 걍 심심한김에 대충 만들어봤다 지난번 사용했던 랜덤함수를 사용했다 2019/03/06 - [Computer Language/ Python] - 파이썬 랜덤함수 얼마나 공평할까 우선 주변 식당 메뉴들을 items에 딕셔너리형태로 저장해두고월요일부터 금요일까지 일주일메뉴를 뽑기위해 day 변수도 지정했다tot는 items의 총 갯수를 확인하는 변수이고dplc는 중복메뉴를 방지하기 위한 변수이다 먼저 랜덤함수를 사용해 0부터 총갯수(tot)중 하나를 선택하고 중복제거용 dplc에 담아둔다이렇게 하면 중복되는값은 자동으로 사라지고dplc변수의 총 길이가 5개..
그러고보니 모듈 import 하는법 포스팅을 안하고 랜덤함수를 올렸네요random함수를 사용하려면 import를 해야되는데요 파이썬에서 기본으로 제공하는 모듈은 상단에 import문만 써주면 됩니다 간단하죠? random모듈에는 에는 random()와 randrange()가 있는데요random()은 0부터 1 사이의 값들을 랜덤으로 추출해 주는것 같구요randrange(시작범위,끝범위)는 시작범위부터 끝범위 사이의 값들을 랜덤으로 출출해 줍니다 파이썬에는 기본제공하는 많은 모듈들이 있다고 하는데기본제공모듈은https://docs.python.org/ko/3/library/index.html위 주소에서 제공해줍니다 저도 아직 모듈을 몇개밖에 사용해보지 않아서 한번 찾아봐야겠네요 ㅎㅎ
얼마전 식사메뉴 고르는게 귀찮아서 랜덤함수로 식사메뉴를 고르는 프로그램을 짰는데작성 도중에 단순히 랜덤함수가 얼마나 고르게 수를 뽑아주는지 궁금해서분포를 보는 프로그램을 다시 짰다 ㅎㅎ 초간단 프로그램이니 기대금지 ㅎㅎ(5분만에 막 짠 프로그램) 사용한 프로그램은 파이썬 설치시 자동제공하는 IDLE 사용했습니다 대충 간단하게 짠다고 짠건데지저분해보이긴 하네요 대략 설명하자면1. 랜덤함수를 하나 뽑는다2. 랜덤함수와 일치하는 위치를 찾은후3. 카운트를 증가시킨다4. 지정된 횟수만큼 돈다5. 결과물을 출력한다 참...간단한 프로그램입니다...ㅎㅎ 결과물인데요노트북 화면에서는 결과가 흐릿하게 나오네요;;ㅠㅠ ===1회차===(1, 99352), (2, 100162), (3, 100041), (4, 100304..
이번에는 txt파일을 읽고 쓰는 방법을 알아보겠습니다 open('경로를 포함한 파일이름','모드')함수를 사용하면 되고모드의 종류는 r(read), w(write), a(append)가 있습니다 D드라이브에 파일이 생겼습니다확인해보세요 사용했으니 닫아줘야 필요없는 데이터 낭비가 없겠죠?우리의 컴퓨터 메모리는 소중하니까요...ㅎㅎclose()함수는 말 그대로 파일을 닫는 함수입니다 이번에는 파일을 읽어보겠습니다 파일 열기 모드를 'r'로 바꿔주었고 file.read()함수를 사용했더니 내용을 읽어왔네요 파일을 읽는 방법은 때에 따라 여러가지로 사용할 수 있습니다readline()함수는 한줄씩 읽어옵니다 아까 개행문자(\n)를 사용했기 때문에 '안녕하세요'까지만 읽어왔네요 여러줄을 읽어올 때에는 while문..
우리는 여태까지 원하는 방식으로 입력하고 원하는 방식으로 출력을 했고컴퓨터의 요구에 의한 입력은 아직 해보지 않았습니다물론 컴퓨터가 입력을 요구하도록 만드는 코드는 우리가 만들지만요 그래서 이번에는 컴퓨터가 사용자에게 입력을 요구하도록 하고원하는 형태로 출력하는 코드 작성법을 알아보겠습니다 입력은 input()함수를 사용해서 사용자의 입력을 받을 수 있고입력받은 데이터는 문자열 형태로 받아집니다 출력은 전에도 몇번 사용했지만 print()함수를 이용하면 됩니다 하지만 이번에는 다른 방식으로 출력을 해 볼 건데요다른 언어에서는 printf()함수로 사용되는 포멧방식 입니다 변수를 대입해야 할 부분에 %s 와 %d를 적어주고 뒤에 출력할 변수이름을 순서대로 붙였습니다 %s - 문자열%c - 문자%d - 정수..
while은 '~하는 동안' 이라는 뜻을 가지고 있습니다 엄마가 컴퓨터 3시 안에 꺼라 라고 할 경우 보통은 3시까지 가득 채워서 하죠?ㅋㅋ 현재 시간이 1시인데 3시까지 열심히 게임을 하다가3시에 엄마가 화내러 들어오시니 강종해버렸습니다ㅎㅎ for은 뜻이 다양하지만 '~만큼'이라는 뜻으로 사용하는것 같습니다1부터 5까지 더해야 할 경우 이런식으로 사용할 수 있습니다range(시작, 끝) 함수는 시작지점과 끝지점까지의 범위를 표현해주는 함수입니다 while문 은 보통 끝을 알 수 없는경우에 사용하고for문 은 시작과 끝이 정확한 경우에 사용합니다(상황에 따라 바꿔 사용할 수 있습니다) 예를 들자면 txt파일을 끝까지 읽어야 하는데몇글자인지 몇줄인지 헤아리기 어려울 때 while문 을 사용하고 1부터 50..
if는 다들 알고 있겠지만 '만약 ~라면' 이라는 뜻을 가지고 있습니다a가 맞다면 b를 실행하고 c가 맞다면 d를 실행해라 와 같은 형태로 만들어집니다 어른이라면 '안녕하세요'를 친구라면 '안녕'이라고 인사하죠? 방금 만난 사람은 친구라서 '안녕~'이라고 인사했습니다 if - 첫번째 조건elif - 첫번재 조건을 만족하지 못할 경우의 다른 조건else - 위의 조건들을 만족하지 못할 경우(나머지의 경우)의 조건위와 같은 형식으로 작성해 주면 됩니다
비교연산자는 컴퓨터가 두 값을 비교할 수 있도록 하는 연산자입니다파이썬 뿐만 아니라 다른 모든 언어에서 비교연산자를 사용하고아마 거의 대부분의 언어가 같은 의미를 지닌걸로 생각됩니다 a b (a가 b보다 큰가)a = b (a가 b보다 크거나 같은가)a == b (a와 b가 같은가)a != b (a와 b가 다른가) 문법 그대로를 실행시키면 결과가 True와 False로 나옵니다 이후 다룰 제어문(조건문, 반복문)에서는비교연산자를 알고 있어야만 학습이 가능하기 때문에 반드시 익히도록 해야합니다 2019/02/27 - [Computer Language/ Python] - 파이썬 시작2019/02/27 - [Computer Language/ Python] - 파이썬 자료형 -..
파이썬에 이미 많은 모듈과 함수들이 있지만내가 사용하고자 하는 형태의 함수는 직접 만들어 사용해야 하는데 def 함수이름(파라미터): '실행할 내용' 위의 형식으로 사용자 정의 함수를 만들 수 있습니다콜론을 빼먹으면 에러가 발생합니다 여기서 param은 어떤 자료형이 들어와도 관계가 없지만 print문 에서 문자열과의 연산을 했기 때문에 숫자가 들어간다면 형변환을 해줘야겠죠?이런 경우에는 이렇게 바꿀수 있습니다 try / except문 은 차후에 알려드리겠습니다 2019/02/27 - [Computer Language/ Python] - 파이썬 시작2019/02/27 - [Computer Language/ Python] - 파이썬 자료형 - 12019/02/27 - [Computer Language/ P..
지금까지는 데이터를 한줄씩 다뤘기 때문에들여쓰기에 대해 신경쓰지 않았을 것입니다하지만 이제부터는 컴퓨터에게 여러줄을 해석하도록 해야하기 때문에어디서부터 어디까지가 한 문장인지를 알려줘야 합니다 Java에서는 이를 세미콜론(;)으로 알려주지만 파이썬에서는 세미콜론을 사용하지 않습니다그래서파이썬에서는 들여쓰기를꼭!!그리고 잘!!해야만 합니다 들여쓰기를 할 때 한 문장 안에서 어느줄은 띄어쓰기 4번하고 어느줄은 띄어쓰기를 2번하면컴퓨터는 이를 다른 문장으로 인식할 것입니다그렇기 때문에 같은 문장이라면띄어쓰기 갯수까지도 맞춰주어야 컴퓨터가 제대로 인식할 수 있습니다 (문장 시작부분에 띄어쓰기를 해도 에러가 발생합니다) 2019/02/27 - [Computer Language/ Python] - 파이썬 시작201..
파이썬에서는 기본적으로 많은 함수를 제공해준다(물론 다른언어에서도 많이 지원해줌)나름 많이 쓰일만한 함수들을 정리했다 print(a) - a를 출력해 준다str(숫자) - 숫자를 문자열로 바꿔준다int('숫자로 이루어진 문자열') - 문자를 숫자로 바꿔준다len('문자열') - 문자열의 길이를 반환한다a.replace('찾을문자열','바꿀문자열') - 일치하는 문자열을 찾아서 바꿔준다a.split('기준 문자') - 특정 기호(문자)를 단위로 문자열을 나눠준다 a.append('추가할 데이터') - 리스트a의 마지막에 데이터를 추가한다a.extend(['추가할 데이터들']) - 리스트a의 뒤에 리스트형태로 데이터를 한꺼번에 추가한다del a[index] - 리스트a에서 해당하는 index의 데이터를 삭제..
이번에는 배열형태의 자료형 입니다 자바에서 배운 리스트와 동일한 형태로 사용합니다a = [] 형태나 a = list() 형태나 a = [1,2,3] 형태로 선언 및 초기화 할 수 있고a[index] 의 형태로 호출 합니다 a = [1,2,3,[4,5,6]] 의 형태로리스트 안에 리스트도 넣을 수 있고리스트 안에 있는 리스트는 a[3][2] 의 형태로 호출 가능합니다 리스트 안에 들어갈 수 있는 리스트의 갯수는 제한이 없지만 3단(배열로 치면 3차배열) 이상 들어가는 경우는 거의 없는것 같습니다 a=[1,2,3] b=[4,5,6] 두개의 리스트가 있을 때 a+b로 두개의 리스트를 합칠 수 있습니다 리스트의 특정 인덱스 값을 수정할 때에는 a[index] = 1 의 형태로 교체할 수 있습니다 리스트에 값을 ..
컴퓨터 언어 배울때 항상 제일 먼저 배우는게 숫자와 문자열이죠 숫자형은 자바에서 Integer, Float, Double 등 여러 자료형이 있지만파이썬은 자료형을 명시하지 않아도 되기 때문에a=1, a=1.23 이런 식으로 넣어주기만 하면 됩니다 + 덧셈- 뺄셈* 곱셈/ 나눗셈//나눗셈(몫)% 나눗셈(나머지)** 제곱 다른건 대충 다 아실거같고 혹시나 파이썬을 첫 언어로 배우시는분들은 나눗셈 뭔소린가...하실수 있는데(제가...그랬습니다...) 나눗셈( / )은 결과물이 소숫점으로 나오고나눗셈몫( // )은 결과물이 나눠진 갯수가 정수로 나오고나눗셈나머지( % )는 결과물이 나누고 난 나머지가 정수로 나옵니다 데이터형으로 선언 안한다고해서 데이터형이 존재하지 않는건 아닙니다파이썬이 쉽게 코딩하라고 자동으..
먼저 파이썬을 설치한다파이썬 공식홈페이지 홈페이지 들어가서 Downloads -> Python3.7.2 다운받고순서대로 설치하면 된다 설치가 끝나고 나면 시작메뉴에 Python메뉴가 생긴다 메뉴중 Python 3.7 을 실행하면 이런 화면이 뜬다앞으로 진행할 때 간단한 내용은 이 화면에서 진행할 예정이다 2019/02/27 - [Computer Language/ Python] - 파이썬 자료형 - 12019/02/27 - [Computer Language/ Python] - 파이썬 자료형 -22019/02/27 - [Computer Language/ Python] - 파이썬 기본자료형에서 많이 쓰는 함수2019/02/27 - [Computer Language/ Python] - 파이썬 주의해야 할 것들2..
오라클 데이터베이스 11g버전 설치 오라클닷컴 - 영문오라클닷컴/kr - 한글 왼쪽 상단 햄버거메뉴에 데이터베이스(DataBase)찾아들어간다 메인에서 스크롤 조금 내려보면 왼쪽에 Oracle Database 클릭 나는 64비트 설치예정이고 File 1번과 2번을 둘다 받아야 한다.우측 'See All' 클릭하면 버전에 대한 여러가지 상세 파일들이 있는데 Release버전으로 받으면 되는것 같다역시 1번과 2번 모두 받아야 한다 1번,2번 압축 해제하고 setup 요구사항 충족안된다는데 그냥 설치 '예' 뭔가 정보줄테니 이메일 적으라는데 패스 그대로 진행 서버 컴퓨터를 구성하는게 아니라서 데스크톱으로 진행 전역 데이터베이스...?에 해당하는 관리번호인것 같은데 뭐 대충...적고 진행 대략 이런식으로 설치..
웹 프로그래밍은 EL과 JSTL을 배우기 전과 후로 나뉘는것 같다....라는 느낌을 받을 정도로 난이도와 코드 라인수가 차이가 난다. EL(Expression Language)(익스프레션)대신 EL을 사용해 앞에 셋팅해서 보내준 변수를 바로 불러 사용할 수 있고 forward된 정보들을 변수에 담을 필요 없이 requestScope와 sessionScope등으로 바로 호출해 사용할 수 있다. EL에서 연산자가 필요한 경우 연산자도 제공한다. == eq != ne = ge && and || or ! not null검사 empty JSTL(JSP Standard Tag Library)Html 영역에서 JAVA를 사용하는 것은 여러모로 불편한 일이라고 한다.특히 가독성면에서 스크립트릿과 태그가 섞여있는 상황은..
Html 문서는 대략 이런구조로 되어있다. 태그 안쪽에 태그와 태그가 있는데태그에는 문서를 설명하는 내용을 코드로 작성해주고태그에는 화면에 표시될 내용을 코드로 작성해주면 된다. 태그 - ,,등등 숫자가 클수록 글씨가 작아진다. 태그 - 문단태그 ,태그 - 태그 사이의 글씨를 굵게 표현한다. - 태그를 주로 사용했는데 요즘은 태그로 바뀌는 추세라고 한다. 태그 - 줄바꿈 해주는 태그 - 엔터와 동일하다. 태그 - 수평선(horizon)을 그려주는 태그 태그 - 태그는 클릭을 가능하게 해준다. - 태그 안에 href라는 속성을 추가해서 링크로 사용 가능하다. 목록태그 - 목록태그는 종류가 여러가지 있는 것 같다. - 태그와 태그 태그 - 이미지를 삽입 할 때 사용하는 태그 - src라는 속성에 주소(상대경..
프레임워크 - 소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경을 말한다.-두산백과- 컬렉션프레임워크란 개발자가 사용하기 편하도록 미리 만들어둔 메소드와 같다. 컬렉션프레임워크에는 크게 List, Set, Map 이 있다.List는 배열과 비슷하다.list는 index번호에 객체 혹은 값을 넣어두고 찾아 사용할 수 있는데 list의 index번호를 호출하면 주소를 찾아 해당 값을 가져온다.종류 - LinkedList, ArrayList Set은 중복제거에 좋다.set은 아무렇게나 집어넣고 전체를 불러오는경우 사용한다.넣을때부터 중복제거를 하기때문에 주로 중복처리하는데 사용한다..
자바에서 예외란 우리가 흔히 에러 혹은 오류 라고 부르는 단어와 같다.에러가 발생했을 경우 어떻게 처리할 지 결정해주는 내용인데자바는 미리 에러가 발생할 경우를 대비해야하는 경우가 있다. 특히 파일과 관련해서 파일경로에 해당 파일이 없을경우 라던지입출력과 관련해서 제대로 입출력이 되지 않을경우 라던지 이런 경우에 어떻게 처리할지 개발자가 미리 설정해 줄수 있고 이를 예외처리라고한다. throws - 보류 기능과 같은데 일단 해당 구역에서 에러가 발생하면 보류해두고 다음으로 넘겨준다.try-catch - try부분에 실행문을 작성하고 catch부분에서 오류발생시 어떻게 처리할지 정해준다. 실무에서는 예외처리가 굉장히 중요하다고 하고 실제로 많은 메소드들과 클래스에서 예외처리를 한다.
접근지정자란 해당 클래스를 어느정도 범위에서 사용할 수 있는지를 지정해주는 명령어이다. public - 모든 범위에서 접근 가능protected - 상속받은 클래스까지 접근 가능default - 패키지 안에서 접근 가능private - 클래스 내부에서만 접근 가능 보통 public 과 private를 많이 쓰는것 같다.public은 다른 클래스에서 가져다 쓸 일이 많은 경우 사용하고private는 다른 클래스에서 수정,접근을 제한할 경우 사용한다. 접근지정자는 메소드에서만 사용하지 않고 필드선언에도 사용한다. ex) 필드선언에서 사용할 경우private int num;private String str; ex)메소드에서 사용할 경우public void sum(파라미터){내용}protected void av..
상속과 인터페이스는 한 장에서 다룰 내용은 아니다.그만큼 이해가 필요하고 설명도 굉장히 많이 필요한 부분이다.하지만 나는 딱... 이 정도이기 때문에 한 장에 뿌린다. 상속은 class 이름 옆에 'extends 부모 클래스 이름'으로 정의하면 된다.extends(상속)는 하나만 받을 수 있다.상속이란 부모 클래스의 내용을 자식 클래스가 상속받는다.끝...상속이 무엇인지는 사전에 나와있지 않은가...부모가 물려준 재산을 자식이 물려받아 자식이 사용한다.그 재산을 자식이 어떻게 사용할지는 자식이 정한다.부모 클래스에서 정의해놓은 메소드와 필드를 모두 사용할 수 있고메소드를 재정의(override) 해서 다른 용도로 사용할 수도 있다. 추상클래스는 class 이름 옆에 'extends 클래스 이름'으로 정의..
Getter와 Setter는 솔직히 중요한 이름은 아니다.다만 자바를 전문적으로 다루는 사람이라면, 혹은 업으로 삼아야 하는 사람이라면 알아둬야 할 '약속' 같은 이름이다. public int getNum1() { return num1; } public void setNum1(int num1) { this.num1 = num1; } 위 예제에서 Getter는 getNum1이고 Setter는 setNum1이다.B라는 클래스에서 A라는 클래스를 객체화해서 사용할 경우 보통의 경우B클래스에서 A클래스의 필드(변수)에 직접적으로 영향을 줄 수 없다.이럴때 Setter(세팅해주는 메소드)로 값을 지정해주고Getter(값을 가져와주는 메소드)로 값을 가져온다. ....단지 그뿐이다.get머시기머시기 라는 이름을 가..
하나의 class를 구성하는데 있어서 필요한 기본 구성요소가필드,생성자,메소드이다.(때로는 생략도 가능) 필드는 변수선언하는 곳이라고 생각하면 된다.생성자는 class를 객체화(인스턴스화) 할수 있게 해준다.메소드는 class안에서 어떠한 기능을 하게 해준다. import java.util.Scanner;//스캐너 호출명령어 //import java.util.*;도 가능 public class chanyurappa { //필드 private int num1; private double num2; private String str; //생성자 public chanyurappa() {//기본생성자 } public chanyurappa(int num1, double num2, String str) { this..
국비과정 듣기 시작하니 바빠서 블로그할 시간이 없다.아침 8시 출발해서 6시 수업끝나고 10시까지 자습하고 집에오니 11시...일찍끝내고 오면 10시쯤 된다. 반복문까지 끝나고나면 continue 라던가 break문같은게 조금 있는데잘 안쓰이는것 같기도 하고 간단해서 그냥 넘긴다. 일단 배열 생성방법 int a[] = new int[3]; int [] b = new int[5]; 배열 생성 문법은 위 아래 둘다 가능하다.a배열은 3칸 생성하겠다는 얘기고 b 배열은 5칸 생성하겠다는 얘기. int [] b = {47, 51, 22,67,78}; 이렇게도 생성 가능하다.배열은 그래프랑 비슷하다고 생각하면 될 것 같다.1차배열은 x축만 있고 2차배열은 y축까지그리고 3차배열은 z축까지 있다고 생각하면 간단하다..
거품정렬에 이어 머리속으로만 이런 방법도 있겠구나...했던 정렬방법이알고보니 선택정렬이라고 한다. import java.util.Scanner;//스캐너 호출명령어 //import java.util.*;도 가능 public class chanyurappa { public static void main(String args[]) { int A[] = new int[10];//배열생성 Scanner sc = new Scanner(System.in); for(int i=0; i
- Total
- Today
- Yesterday