2023/04

· DEV/Java
Overriding - 🐥 카카오 테크 캠퍼스 오버라이딩은 상위 클래스에 정의된 메서드의 구현 내용이 하위 클래스에서 구현할 내용과 맞지 않는 경우 하위 클래스에서 동일한 이름의 메서드를 재정의 할 수 있다. 하위 클래스에서 상위 클래스의 메서드와 동일한 함수 시그니처를 가진 메서드를 정의한다. 기능을 변경하거나 확장할 때 사용한다. @Override 어노테이션을 사용해 명시적으로 오버라이딩임을 표시할 수 있다. 예시 class Animal { void makeSound() { System.out.println("The animal makes a sound"); } } class Dog extends Animal { @Override void makeSound() { System.out.println("..
· DEV/Java
상속 - 🐥 카카오 테크 캠퍼스 새로운 클래스를 정의 할 때 이미 구현된 클래스를 상속(inheritance) 받아 속성이나 기능을 확장하여 클래스를 구현한다 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 클래스를 상속한다 상속의 표현 방법 : Extends class B extends A {} 상속하는 클래스 : 상위 클래스, 부모 클래스, super class 상속받는 클래스 : 하위 클래스, 자식 클래스, derived class, sub class 상속을 구현하는 경우 자바는 단일 상속만을 지원하며, 상위 클래스에 일반적인 개념과 기능을, 하위 클래스에는 더 구체적인 개념과 기능을 구현한다 Example : Customer && VIP Customer Customer :..
· DEV/Java
Super 키워드 super 키워드는 하위 클래스에서 상위 클래스에 대한 참조 값을 가지며, 상위 클래스의 생성자, 메서드, 멤버 변수에 접근할 때 사용합니다. super() 생성자 호출 super()는 상위 클래스의 기본 생성자를 호출합니다. 하위 클래스의 생성자에서 명시적으로 상위 클래스의 생성자를 호출하지 않으면 자동으로 super()가 호출됩니다 (이때 반드시 상위 클래스의 기본 생성자가 존재해야 함). 상위 클래스의 기본 생성자가 없는 경우 (다른 생성자가 있는 경우) 하위 클래스에서는 생성자에서 super를 이용하여 명시적으로 상위 클래스의 생성자를 호출해야 합니다. 상위 클래스의 메서드와 멤버 변수 접근 super는 생성된 상위 클래스 인스턴스의 참조 값을 가지므로, super를 이용하여 상..
· DEV/Java
형변환(업캐스팅) 형변환 (업캐스팅) 은 자바에서 하위 클래스의 객체를 상위 클래스 타입으로 변환하는 과정입니다. 업캐스팅을 사용하면 상위 클래스 타입의 참조 변수를 통해 하위 클래스 객체에 접근할 수 있으며, 이를 통해 다형성을 구현할 수 있습니다. Example. 명시적 형변환 class Animal { void makeSound() { System.out.println("The animal makes a sound"); } } class Dog extends Animal { @Override void makeSound() { System.out.println("The dog barks"); } } class Cat extends Animal { @Override public void makeSoun..
· ETC
M - Mac OS에 설치 된 모든 파이썬 패키지 삭제하는 방법 Mac OS에서 다운로드 받은 모든 파이썬 라이브러리를 삭제하려면 다음 단계를 따르세요. 주의: 이 과정은 모든 파이썬 라이브러리를 삭제하므로 주의하세요. 이 작업은 되돌릴 수 없습니다. 시스템 전체의 파이썬 라이브러리 삭제: 시스템 전체에 설치된 파이썬 라이브러리는 일반적으로 /Library/Python//site-packages 디렉토리에 있습니다. 여기서 은 파이썬 버전을 나타냅니다 (예: 2.7, 3.7 등). 터미널에서 다음 명령어를 실행하여 해당 디렉토리로 이동한 다음 모든 라이브러리를 삭제합니다: cd /Library/Python//site-packages sudo rm -rf * 사용자 계정에 설치된 파이썬 라이브러리 삭제: ..
· ETC
Git Branch - 🐥 카카오 테크 캠퍼스 git branch는 Git의 핵심 기능 중 하나로, 프로젝트에서 독립적으로 작업을 진행할 수 있게 해주는 포인터입니다. 브랜치를 사용하면 여러 개발자들이 동시에 프로젝트의 다양한 기능을 개발하거나 수정할 수 있으며, 이후에 각 작업을 병합하여 최종 결과물을 완성합니다. 독립적인 작업 브랜치를 통해 개발자들은 서로 영향을 주지 않고 독립적으로 작업할 수 있습니다. 이를 통해 효율적인 작업 흐름을 구성할 수 있습니다. 병합 작업이 완료된 브랜치는 다른 브랜치와 병합할 수 있습니다. 이 과정에서 충돌이 발생할 수 있으나, Git은 충돌을 해결할 수 있는 도구를 제공합니다. 가지치기 더 이상 필요하지 않은 브랜치는 삭제할 수 있습니다. 이를 통해 프로젝트의 관리가..
· ETC
Github Actions GitHub Actions는 GitHub에서 공식 제공하는 CI/CD 도구로, 개발 워크플로우를 자동화합니다. 핵심 요소 Workflow: YAML로 작성되며, 이벤트에 의해 트리거되는 자동화된 프로세스입니다. 워크플로우는 여러 Job으로 구성되며, .github/workflows 디렉토리에 저장됩니다. Event: 워크플로우를 실행하는 규칙으로, push, pull request, cron, webhook과 같은 외부 이벤트에 의해 실행됩니다. Job: Step들로 구성되어 가상 환경의 인스턴스에서 실행됩니다. 다른 Job에 의존관계를 가질 수 있고, 독립적으로 병렬 실행도 가능합니다. Step: Task들의 집합으로, 커맨드를 실행하거나 action을 실행합니다. Actio..
· ETC
Git 기초 실습 카카오 테크 캠퍼스의 Git 기초 실습을 기록합니다 이 글에서는 Git을 이용한 프로젝트 관리를 소개하고, 여러분이 실습을 시작하는 데 필요한 기본적인 내용을 다룰 것입니다. 먼저, 깃허브(GitHub) 홈페이지에 방문하여 계정을 생성하고, 새로운 저장소(Repository)를 만드는 과정을 완료한 상태입니다. Git 기초 실습의 목적 버전 관리 시스템으로서 Git의 중요성을 이해하고, 기본적인 명령어들을 익히기 위함입니다. 협업을 위한 브랜치(branch) 생성, 병합(merge), 리베이스(rebase) 등의 고급 기능을 배우기 위함입니다. GitHub를 활용하여 원격 저장소(remote repository)를 관리하고, 다른 개발자들과 함께 작업하는 경험을 쌓기 위함입니다. 본 실..
🐥 카카오 테크 캠퍼스 - 공유 캘린더 만들기 Intro. 노션들어가서 확인하는게 번거롭다 백엔드 일정을 확인하기위해 노션에 들어가는게 번거로워서, 구글 캘린더에 마이그레이션하고, 변동 사항은 zapier로 연동해서 자동화를 하면 편할거 같단 생각에 시작합니다 23-04-24 : Zapier에는 사용자가 만든 데이터베이스만 연동 되는거 같아, 변동 사항 반영 하는 기능은 추후에 만들어야 할 것 같습니당 진행 과정 1. 노션에 있는 캘린더를 CSV로 추출합니다 바로 zapier로 연동하려고 했더니, 처음 마이그레이션할 트리거가 마땅치 않았습니다 그래서, CSV로 캘린더를 추출한 후 이를 먼저 구글 캘린더에 등록해서 변동 사항만 반영하면 될거라 생각했습니다 Notion에서 export 한 CSV를 열어보면,..
다익스트라 알고리즘(Dijkstra’s Algorithm) 다이스트라 알고리즘은 네트워크에서 한 노드에서 다른 노드까지의 최단 경로를 찾는 그래프 알고리즘이며, 가중치가 양수인 연결 그래프에 대해 작동합니다. 다이스트라 알고리즘의 핵심 정의에 기인한 장 단점 장점 가장 빠르게 수렴하는 최단 경로 알고리즘 중 하나입니다. 각 단계에서 최소 비용의 경로를 선택하기 때문에 항상 최적의 해를 찾습니다. 단점 가중치가 음수인 경우에는 잘못된 결과를 반환할 수 있습니다. 그래프의 크기가 커질수록 계산 복잡도가 증가하여, 리소스 소모가 크게 됩니다. 다이스트라 알고리즘 전개 과정 예시 시작 노드를 정하고, 시작 노드와 다른 모든 노드 간의 거리를 무한대로 설정합니다. 시작 노드와 자기 자신의 거리는 0으로 설정합니다..
berom
'2023/04 글 목록 (2 Page)