전체 글 363

[Java] inner class를 static으로 선언해야 하는 이유

inner class를 static으로 "반드시" 선언해야 하는 이유가 2가지가 있습니다.  첫째, 위 코드를 기반으로 봤을 때, inner class 바깥 클래스의 인스턴스와 암묵적으로 연결되어 GC의 메모리 수거가 잘 수행되지 않을 수 있습니다. 그래서 Intellij에서 inner class를 non-static으로 선언할 경우, static으로 바꾸라는 경고표시가 생깁니다.  사진과 같이, static으로 선언한 경우 외부 참조를 하지 않는 것을 육안으로 확인할 수 있습니다. 둘째, 이러한 외부 참조를 저장하려면 시간과 공간이 많이 소비됩니다. 그래서 외부 참조를 막을 수 있도록 static 키워드를 붙여주는 것이 합리적입니다.  결론멤버 클래스의 인스턴스 각각이 바깥 인스턴스를 참조해야 하는 상..

Java/Java Concept 2024.05.16

[Java] enum 비교에서는 equals(), == 둘 중 어떤 것이 적합한가?

enum class에서 비교는 ==가 적합한가 equals()가 적합한지에 대해서 고민해 봤습니다. 자바의 enum class는 singleton이기 때문에, == 비교가 적합하다고 생각했습니다. (equals() 보다 속도도 빠릅니다)왜냐하면 런타임 시점에서의 NPE 방지뿐만 아니라, 컴파일 시점에 타입 호환성까지 check해주는 장점이 있기 때문입니다. equals() 비교를 통해 값을 비교했다면 그대로 컴파일되었을 것이라고 판단됩니다. enum의 class를 뜯어봤을 때, 결정적으로 == 비교를 하는 것을 확인할 수 있습니다. 즉, == 비교를 내부적으로 하고 있지만, 위의 장점들 뿐만 아니라 비교하려는 상수를 앞에 둬야 NPE를 방지할 수 있는 번거로움을 없애려면 == 비교가 적합하다고 생각합니다..

Java/Java Concept 2024.05.16

[대만] 🇹🇼 타이베이 (Taipei) 여행 준비물

다음 달 여행 계획이 있는데, 대만에 가기 전 준비물에 대해 알아보도록 하겠습니다. 1. 항공권 구매Trip.com (트립닷컴) 구매 완료  2. 호텔 및 숙소 예약agoda 앱에서 숙소 예약 완료 3. 트래블월렛 (travel wallet) - 환전 앱카드 신청(1주일이면 도착)대만 TWD(실시간 환율이 적용되어 대만 달러가 들어옵니다)Bank of Taiwan ATM기에서 수수료 없이 출금 가능무료 수수료: Google Map: Cathay United Back 검색 후 해당 은행으로 이동4. Esim 예약 kkday.com에서 주문 완료 (4일 (일당 2G), 대략 6000원)여권사진, 이메일, 폰번호 등 간단한 정보 입력여행용 지갑동전을 담을 수 있는 가방 (필수) 기기돼지코(변압기) 110v대만..

일상/여행 2024.05.13

[정보처리기사 실기] 2023년도 기출 내용 정리

2023년 1회class Static{     public int a = 20;    static int b = 0;    } public class Main{    public static void main(String[] args) {                int a;        a = 10;        Static.b = a;         Static st = new Static();         System.out.println(Static.b++); 10        System.out.println(st.b); 11        System.out.println(a); 10         System.out.print(st.a); 20    }}#include  int main()..

자격증 2024.04.27

[정보처리기사 실기] 2022년도 기출 내용 정리

2022년 1회 RAID 0 : 스트라이핑RAID 1 : 미러링 Redo: 재실헹Undo: 되돌리기 리스트 관련 파이썬 함수extend(): 리스트 확장, 여러 값을 한번에 추가pop(): 마지막 또는 지정 요소를 삭제하고 그 값을 반환reverse(): 역순으로 뒤집음append(): 리스트 마지막 요소 뒤에 값 추가insert(): 리스트의 인덱스 위치에 값 삽입remove(): 리스트에서 해당하는 값 제거 TKIP임시 키 무결성 프토로콜, IEEE 802.11i의 암호화 방식으로 초기 Wi-Fi 장비에서 널리 사용되었던 WEP 암호화 표준을 대체하기 위한 암호 프로토콜정적 분석: 실행하지 않고 원시 코드 분석동적 분석: 소프트웨어를 실행하여 동작이나 반응 추적 및 분석 Thread 스레드변수 = n..

자격증 2024.04.27

[정보처리기사 실기] 2021년도 기출 내용 정리

2021년 1회 네트워크 계층 프로토콜IP: 송수긴 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는데 사용하는 통신 프로토콜ARP: IP → MACRARP: MAC → IPICMP: IP 패킷 처리할 때 발생하는 문제를 알려주는 프로토콜IGMP: 인터넷 그룹 관리 프로토콜은 호스트 컴퓨터와 인접 라우터가 멀캐스트 그룹 멤버십을 구성하는데 사용하는 통신 프로토콜 (화상회의, IPTV)라우팅 프로토콜: 데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로중 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜DB 설계 절차 (요개논물구)개념적 설계 (요구사항 명세서를 기반으로 E-R 다이어그램 표현)논리적 설계 (목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스를 설계하는 정규화 과..

카테고리 없음 2024.04.27

[정보처리기사 실기] 2020년도 기출 내용 정리

2020년 1회살충제 패러독스: 동일한 테스트에 의한 반복적 테스트는 새로운 버그를 찾지못한다는 테스트의 원리데이터 마이닝: 대규모의 저장된 데이터에서 체계적이고 자동적인 통계적 규칙을 찾아내는 기술프로토콜의 3요소: 구문, 의미, 타이밍XML: W3C, 웹 브라우저 문제, SGML의 복잡함 해결JSON: 속성-값으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷HRN 계산 방식: (대기시간 + 서비스 시간) / 서비스 시간트랜잭션 특성: ACIDLAND attack: 패킷의 출발지 주소나 포트를 임의로 변경해 출발지와 목적지 주소를 동일하게 함으로써 대상 컴퓨터의 실행속도를 느리게 하는 공격MD5: MD4 대체모듈간의 결합도는 줄이고, 응집도를 높이는 것을 권장제품 패키지 릴리스 ..

자격증 2024.04.26

[Windows] Windows Powershell Terminal에 D2Coding 폰트 적용

회사에서 windows OS를 사용하는데, windows에서 제공하는 기본 폰트가 맘에 들지 않아 D2Coding (네이버에서 제공해주는 개발자용 폰트)로 바꾸려고 합니다. 다음과 같이, D2Coding을 제공해주는 사이트에 가서 zip파일을 다운해줍니다. https://github.com/naver/d2codingfont/releases Releases · naver/d2codingfont D2 Coding 글꼴. Contribute to naver/d2codingfont development by creating an account on GitHub. github.com 이후 ttf 파일을 설치해주고 터미널 설정에서 다음과 같이 D2Coding을 설정해줍니다. 저장 후, 터미널에 재접속하면 D2Cod..

기타 2024.04.23

[Java] ProcessBuilder

회사에서 Selenium Web UI Test를 담당하면서 테스트 격리를 위해 DB를 기존 초기 세팅된 상태로 초기화해야 하는 상황이 생겼습니다. 그래서 처음에는 RDB(MariaDB)와 NoSQL(Elasticsearch)을 세팅하는 docker-compose를 재실행하면 될 거라는 막연한 생각이었지만, 이는 시간이 많이 소모되기에 cmd창에서. sql 파일을 실행하는 방향으로 갔습니다. statement를 이용하여 sql을 실행하는 것도 가능하지만, DB 연결을 맺는 코드를 따로 작성해줘야 했기에 ProcessBuilder 클래스를 활용하게 되었습니다. ProcessBuilder 다른 외부 프로세스를 실행하거나 컨트롤러하는 것을 지원해 주는 Java class 윈도우의 cmd, 리눅스의 sh를 이용하..

Java/Spring 2024.04.02

[git] git commit message 한글 깨짐 현상 해결

git commit message에서 한글을 인식하지 못하고 다음과 같이 요상한 문자가 생기는 경우가 있습니다. 해결책은 다음과 같습니다. 해당 프로젝트 내 .git (Shift + Command + .) 폴더 접근 config 파일에 다음을 추가합니다. [i18n] commitEncoding = utf-8 logOutputEncoding = utf-8 or 명령어로 처리할 시 git config --global i18n.commitEncoding utf-8 git config --global i18n.logOutputEncoding utf-8 다음과 같이 로그 출력과 커밋 메세지 출력을 global하게 utf-8로 설정해주시면, 이상한 특수문자가 보이지 않고 한글이 깨지지 않게 됩니다. https://..

DevOps/Git 2024.02.27