본문 바로가기

SOFTWARE58

[eXERD] 리버스 엔지니어링 하기 eXERD는 데이터 베이스의 스키마 관리를 쉽게 할 수 있는 툴이다. 리버스 엔지니어링은 이미 존재하는 데이터 베이스에 연결해서 그 스키마 구조를 가져와서 한눈에 보기 쉽도록 맵으로 그려준다. 반대로 포워드 엔지니어링은, 설계 단계에서 완성한 데이터 베이스 구조를 실제 DB에 옮기는 작업을 쉽게 할 수 있도록 DDL을 생성하는 작업을 도와준다. 이번에 관리하고 있는 DB에 새로 테이블을 추가할 일이 있어서 기존 DB를 eXERD로 가져왔다. 개발 작업 할 때 이렇게 관리를 해 놓으면, 나중에 운영 서버에 테이블 생성할 때 eXERD에서 DDL만 뽑아다가 쿼리를 돌려주기만 하면 되어서 관리가 쉽다. 또 협업할 때 수정한 사항을 바로 바로 반영해서 팀원들과 공유하기에 용이하다. 서두가 길었으니, 리버스 엔지.. 2023. 4. 15.
[Java] Vector 클래스에 대해 알아보자 Java에서 Vector는 동적 배열(dynamic array)로 구현된 클래스이다. Vector는 배열과 유사하지만, 크기가 자동으로 조정되는 배열이다. 배열과 다른 점Vector는 객체를 저장할 수 있는 배열로, 배열의 크기는 동적으로 조정될 수 있다. 반면 배열은 크기가 고정되어 있고, 크기를 바꾸기 위해서는 새로운 배열을 만들고 기존의 값을 복사해야 한다. Vector는 크기가 자동으로 조정되므로, 요소를 추가하거나 삭제할 때마다 크기가 조정된다. Vector 특징Vector는 여러 스레드에서 안전하게 사용할 수 있도록 동기화되어 있어서 다양한 멀티스레드 환경에서 사용될 수 있다. Vector는 다양한 메소드를 제공하며, 요소의 추가, 삭제, 검색, 정렬 등의 작업을 수행할 수 있다. 그러나 Ve.. 2023. 4. 9.
[React] 기초 개념 (2) DOM에서 JSX를 렌더링 하기 위해서 ReactDOM이라는 API를 사용한다. 컴포넌트를 렌더링하고 싶을 때도 마찬가지로 ReactDOM을 사용한다. ReactDOM.redner(componentToRender, targetNode) 괄호 안에 들어가는 첫번째 변수는 렌더링 하고자 하는 컴포넌트이고, 두 번째 변수는 컴포넌트와 함께 렌더링 하고자 하는 DOM 노드이다. (어느 위치에 렌더링 하고 싶은지라고 생각하면 될 듯) JSX를 렌더링 할 때와 조금 다른 점은, JSX는 요소의 이름만 변수로 넣어줬다면, 컴포넌트는 구문을 통으로 적어주면 된다. ES6 class 컴포넌트, 함수화 컴포넌트 모두 이렇게 해준다. ReactDOM.reader(, targetNode) ReactDOM.render(, do.. 2023. 4. 6.
[React] 기초 개념 (1) 요즘 공부하고 있는 내용들을 오래 기억하기 위해 정리해본다. JSX에서는 class를 정의하기 위해서 class라는 단어를 사용하지 않고 className이라고 쓴다. 모든 HTML 속성에 대한 JSX의 네이밍 컨벤션은 카멜표기법으로, onclick 은 onClick, onchange는 onChange로 쓴다. HTML에서 self-closing tag들이 있는데 (개행을 할때 이라고 쓰거나 이라고 써서 굳이 내용이 없는 태그들은 닫아주지 않거나 스스로 닫는 기능), JSX에서는 모든 요소들이 self-closing tag를 사용할 수 있다. 그리고 반드시 닫아줘야한다. 안됨. 됨. 가능하지만 아무것도 안에 담을 수 없다. 컴포넌트는 React의 핵심이다. React에서 컴포넌츠를 생성하는 2가지 방법이.. 2023. 4. 5.
[Java] variable answer might not have been initialized 원인과 해결 오늘도 에러를 만났다. 오늘 만난 에러는 variable answer might not have been initialized. 번역하면, 변수 응답이 초기화되지 않았을 수 있습니다. 이 오류는 변수가 선언되었지만 사용되지 전에 값이 할당되지 않은 경우 발생하는 컴파일러 오류다. Java에서는 모든 변수를 사용하기 전에 초기화해야 한다. 변수에 초기 값을 할당하지 않고 변수를 선언하면 컴파일러에서 변수에 기본 값으로 0 또는 null을 준다는 것을 알고 있을 것이다. 그러나 변수에 값을 할당하기 전에 변수를 사용하려고 하면 컴파일러에서 위와 같은 에러 메시지를 보낸다. 내가 어떻게 코드를 작성했기에 이런 에러를 만났는지 보자면, 여기 이렇게 boolean 변수를 선언하고 아직 false인지 true인지 .. 2023. 4. 4.
[Java] error: char cannot be dereferenced Leetcode에서 알고리즘을 풀다가 오류가 났다. char cannot be dereferenced 보통 업무를 할 땐 char type을 쓸 상황이 별로 없었다. 대부분 1글자만 받을 때도 String을 많이 사용하니까. 그리고 String을 비교할 땐 equals를 많이 썼는데, equals를 char 비교용으로 사용하려고 하니까 에러가 났다. 알게 된 점 char는 primitive 데이터 타입이어서 객체 또는 다른 함수 기능이나 속성이 없다. 내가 사용했던 equals()는 String 클래스를 위한 함수여서 char에 사용하려 했더니 오류가 난 것이었다. 이 오류를 해결하기 위해서는 char 대신 Character를 사용하거나, char 타입일 때에도 가능한 비교방법을 사용하면 된다. Char.. 2023. 4. 2.