목록전체 글 (278)
개발 무지렁이

𐂂 IP 🌐인터넷에 접속한 곳에서 기기의 네트워크상 위치를 말한다. 🌞 IPv4 : 대중화된 IP 관련 규약 (16진수 4자리가 4개 이어진 형태, 약 40억개) 𖠃 IP가 부족하다 여러 기기를 하나의 공인IP(절대유일)에 묶어 공유기를 통해 그 안에서 유일한 사설IP를 부여하면 한정된 IP를 나눠줄 수 있다. ⚠️ 다른 컴퓨터에서는 사설IP를 쓰는 기기로 접속할 수 없다.(전체적으로 봤을때 사설IP는 유일하지 않다.) 유동IP: 주기적으로 IP를 회수해서, 인터넷을 사용중인 곳에만 나눠주는 방식을 말한다 (↔️ 고정IP) ⚠️ ISP(Internet Service Provider)가 IP를 부여한다. ➼ 🦔 사설IP로 웹서비스 운영하는 방법 (공인IP: 톨게이트🏟️, 포트: 차선🚗) 포트포워딩 (포트와..

도메인 웹사이트에 접속하려고 할때, 내 브라우저가 그 서버의 ip주소를 알아야하는데, 이를 다 외울 수 없으니까 ip주소와 '매핑된' 사람이 외우기 쉬운 주소를 말한다.매핑 정보는 DNS 서버에 있다 여러 층으로 구성된 네트워크에 분산되어 저장되어 있다. ex. 내 브라우저에서 www.naver.com 에 접속하려할 때 로컬 DNS 서버에서 해당 매핑정보를 찾는다. 없다면, Root DNS 서버에 해당 매핑정보를 어디서 찾을 수 있는지 물어본다 .com을 담당하는 DNS 서버의 IP주소를 반환 naver.com을 담당하는 DNS 서버의 IP 주소를 반환 호스트 네임별 ip주소들이 있는데, 그중 www에 해당하는 ip주소를 브라우저에 반환 도메인과 서버IP를 연결하는 방법 도메인을 구매하는 ..

리포지터리 (엔티티에 의해 생성된) 데이터베이스 테이블에 접근하는 'CRUD 메서드'들을 사용하기 위한 인터페이스를 말한다. public interface QuestionRepository extends JpaRepository { // 리포지터리로 만들기 위해 JpaRepository 인터페이스를 상속 // } Create save() @SpringBootTest class App59ApplicationTests { @Autowired // 객체 주입 private QuestionRepository questionRepository; @Test void testJpa() { Question q = new Question(); q.setSubject("안녕..

ORM(Object Relational Mapping) 객체와 '관계형 데이터베이스'의 데이터를 자동으로 매핑해주는 도구를 말한다. 📍. 쿼리문 대신 ☕자바코드로 데이터베이스의 데이터를 처리할 수 있다. 📍. 내부에서 안전한 SQL 쿼리 자동 생성 JPA(Java Persistence API): 🧱 ORM 프레임워크의 표준 스펙 ☕ Java를 기반으로 한 객체 관계 매핑 기술을 말한다. 📍. 객체 지향 프로그래밍 모델과 관계형 데이터베이스 사이의 불일치를 해결하기 위해 개발 📍. 개발자가 SQL쿼리를 직접 작성하지 않아도 된다. 📍. JPA를 구현한 실제 클래스: Hibernate ❓ SQL쿼리문 ``` insert into question(subject, content) values('안녕하세요..

스프링부트 ❓프레임워크 -> 개발할 때, '자주 쓰이는 기능'을 '한꺼번에' 제공해 개발효율을 높여주는 '소프트웨어 환경'을 말한다 ⭕ 쿠키 처리 ⭕ 로그인 / 로그아웃 처리 ⭕ 데이터베이스 처리 ⭕ 보안 처리 이 모든 기능이 Java로 만들어져 한꺼번에 제공하는 소프트웨어 환경 중의 하나가 ' 스프링부트 ' 이다. [ 톰캣서버(WAS) 내장 ] 스프링부트 프로젝트의 구조 src/main/java 자바 파일(컨트롤러, 서비스, 레포지터리, 폼 및 DTO, 엔티티...) + Application.java 시작을 담당하는 파일 @SpringBootApplication // 스프링부트의 모든 설정을 관리 public class +Application { public static void main(String[..

그래프의 모든 노드를 탐색하는 DFS(Depth First Search) 1 -> 2 -> 4 -> 5 -> 3 -> 6 -> 7 시작노드에서 출발하여 리프노드까지 내려가고 부모에게 올라가, 다시 리프노드까지 내려가는 것을 반복하는 과정을 ' 깊이우선탐색(DFS) '라고 한다. 🕑 시간복잡도: O(V + E) (V: 노드 수, E: 간선 수) [모든 정점을 한 번씩 방문하고, 그러기 위해 모든 간선을 한 번씩 검사했으니] DFS와 재귀함수 DFS는 재귀함수로 구현하며, 재귀함수란 '자기 자신'을 Function call(함수 호출)하여 동작하는 방식을 말한다. (종료조건과 재귀적확장이 있어야 한다.)DFS 코드 구현, 백준 1260 DFS 🪅 에지리스트를 인접리스트로 구현할 수 있는가 🪅 ..