본문 바로가기

전체 글293

[JavaScript 프로젝트 : 공학용 계산기] 삼각함수 계산 s. c, t, p 등 변수에 따라 삼각함수 계산이 가능하도록 추가하고자 하였다. split을 통해 앞 문자열 / 뒷 문자열로 나누어 계산하고자 하였다. 삼각함수 연산자 앞에 숫자가 있을 경우 배열 afterTmp[0], 연산자 뒤의 숫자는 afterTmp[1] 에 저장한다. 문제는 연산자 앞에 숫자가 없을 경우 연산자 뒷 숫자가 afterTmp[0] 에 저장될 줄 알았으나 되려 afterTmp[0] 에 null 값이, afterTmp[1] 에 연산자 뒷편 숫자가 저장됨을 확인하였다. 이유는 모르겠다. let letters = '3pow21'; console.log(letters); // split을 하면 기준에 따라 2개의 배열로 나누는데, // 기준점 앞 문자가 null 이라면 배열[0] 값은 nul.. 2022. 1. 18.
[Java] Interface 정의 : - 하나의 시스템을 구성하는 2개의 구성 요소(하드웨어, 소프트웨어) 또는 2개의 시스템이 사호장혹 - 동일한 목적을 위해 동일한 기능을 수행하게끔 강제하는 기능 - 객체를 어떻게 구성해야 하는지 정리한 설계도 특징 : - - 객체의 교환성( 다형성 )을 증대 - 인터페이스 변수에 인터페이스 메소드가 구현된 서로 다른 구현 객체를 할당하여 사용 가능 - 구현 객체를 몰라도 인터페이스(interface) 메소드를 알면 객체 호출이 가능 - 객체가 인터페이스(interface) 사용 시, 반드시 인터페이스(interface) 메소드를 구현해야함 장점 : - 개발 코드를 직접 수정하지 않아도, 사용중인 객체만 변경할 수 있음 - 대규모 프로젝트 개발 시 일관성이 있으며 틀을 갖춘 개발을 위한 표준을 .. 2021. 3. 24.
[Programing] Metadata (메타 데이터) 정의 : - 데이터(data)를 정의하는 데이터(data) - 하위 레벨의 데이터(data)를 설명&기술 하는게 목적 (데이터 구성의 정의, 데이터 분류를 위한 데이터 등) - 상위 Level에서 하위 Level 데이터에 대한 각종 정보를 담은 데이터(data) 구성 : - 정보 자원의 내용(content) 관련 사항 - 다른 자원과의 관계 (relation) - 정보 자원의 지적 속성에 관한 사항 - 정보 자원의 물리 형식 및 생성일자 등 정보 자원을 식별케하는 데이터(data) 요소 활용안 : - 문서 : 문서의 내용, 작성 시간, 파일 확장자, 송신자 등 - 이미지 : 누구, 촬영 시간&장소 등 - 오디오 : 가수, 장르, 제목, 발표 년도 등 - 동영상 : 이벤트 명, 인물, 촬영 시간&장소, 제.. 2021. 3. 24.
[Programing] Clean Code Tip 코드는 이해하기 쉬워야 한다 - 코드를 더 좋게 만드는 건 무조건적인 간결함이 아니다 - 가독성의 기본 원리 (1) 코드는 다른 사람이 이해할 때 최소 시간을 들이도록 작성 (2) 일회용으로 대강 만든 코드라도 다른 프로젝트에 쓰일 수 있다 - 분량이 적으면 항상 더 좋은가? (1) 이해하기 쉬운 코드 작성이 최우선이고, 라인(Line)을 간략하게 만드는게 그 다음이다. 이름에 정보 담기 - 특정 단어 선택 (1) 재치있는 이름보다 명확하고 간결한 이름이 더 좋다 (2) 연관성-직관성이 떨어지는 단어는 배제 - 보편 naming(이름 짓기) 피하기 (1) tmp나 retval 등을 쓰지 말고, 개체의 값이나 목적을 설명하는 이름으로 설정 (습관적으로 tmp를 쓰다가 코드가 길어지고 tmp가 여러 기능으로.. 2021. 3. 24.
[Java] 오버로딩 & 오버라이딩 오버로딩 (Overloading) - 정의 : 같은 이름의 메소드(method) 를 여러 개 가지면서 매개변수의 유형과 다르도록 하는 기술 - 특징 : 1) 같은 이름의 함수를 여러 개 정의하고, 매개변수의 유형과 갯수를 다르게 하여 다양한 유형의 호출에 응답하게 한다. 2) 메소드(method) 의 리턴 타입이 다른 경우, 오버로딩(Overloading)이 성립 X (void는 return 없음) 3) '매개변수의 갯수' 혹은 '매개 변수의 자료형' 이 달라야 한다. 4) 매개변수의 이름 & 리턴 타입은 오버로딩(Overloading) 에 영향을 주지 못한다. 5) 매개변수에 따라 메소드(method) 의 이름을 다르게 할 필요가 없어 기억 및 코드 단순화에 용이 public class Overload.. 2021. 3. 15.
[Java] 간단 문법 정리 2021. 3. 15.
[C] 버퍼(buffer) [버퍼 (buffer)] 정의 : printf(), scanf() 등 표준 입출력 함수를 사용시 입력이 저장된 '임시 메모리 공간' 장점 : - 문자를 하나씩 전달함이 아닌 묶어서 한번에 전달하므로, 전송 시간이 적게 걸려 성능이 향상 - 사용자가 문자를 잘못 입력했을 경우 수정 가능 버퍼링 방식 : - 완전 버퍼링 (Fully buffered) : 버퍼(buffer)가 가득 차면, 버퍼(buffer)의 내용물을 목적지로 전송 ex) 파일 입출력 - 라인 버퍼링 (Line buffered) : 입력된 문자 중 개행 문자가 나타날 때마다 버퍼(buffer)의 내용물을 목적지로 전송 ex) 키보드 입력 - 버퍼(buffer)는 출력에도 쓰일 수 있는데, 출력하고자 하는 데이터를 출력 데이터(buffer) 에.. 2021. 3. 15.
[C] 유니온 (Union) #include union ex{ int i; char c; }; int main(){ union ex v; v.c = 'A'; printf("%d \n", &v.c); v.i = 10000; printf("%d \n", &v.i); return 0; } 출력하면 같은 주소값이 나온다. int i 와 char c 는 할당된 메모리 공간 안에서 각기 다른 위치를 점유하고 있기에 그렇다. ex) 할당된 메모리 = 주소값 = 집, int = 방 1, char = 방2 #include #include #define STU_NUMBER 1 #define REG_NUMBER 2 struct student { int type; union { int stu_number;// 학번 char reg_number[15];/.. 2021. 3. 12.