728x90 반응형 개발 관련 강의 정리/10분 테코톡67 [10분 테코톡] 차리의 Stream Stream 오라클 공식 문서 : 순차 및 병렬적인 집계연산을 지원하는 연속된 요소 모던 자바 인 액션 : 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소 연속된 요소라는 말에서 컬렉션이랑 크게 다를 바 없어 보인다. 위키피디아 : A Sequence of Data elements made available over time이라고 표현 캠브릿지 사전 : 일반 명사로 A continuous flow of things or people을 의미 두 가지 포인트에 집중 : available over time과 continuous flow 스트림은 어떠한 요소들이 모인 하나의 고정된 집합이라고 생각하기 보다 flow, 즉 데이터 흐름이라는 것에 좀 초점 오라클 공식 문서에서는 스트림 패키지를 요소들의 .. 2023. 7. 19. [10분 테코톡] 🎼라흐의 DTO vs VO 정리 DTO - Data Transfer Object(데이터 전송 객체) - 계층 간의 데이터 교환을 위해서 사용하는 객체 - 로직을 갖고 있지 않는 순수한 데이터 객체 - getter, setter 메서드만 존재 - 데이터를 전송할 때 사용되는 바구니 VO 1. Value Object로 값 그 자체를 표현하는 객체 2. 서로 다른 이름을 가진 VO 인스턴스의 모든 속성값이 같다면 같은 객체이다. ex) 컬러라는 VO가 있을때, 그 안에서 Red의 RGB값은 (255, 0, 0)이다. color1이 (255, 0, 0)이고 color2가 (255, 0, 0)일 때, 두 개는 같은 객체로 판단 3. 객체의 불변성 보장하며 로직 포함 가능 4. equals를 오버라이딩 하여 같은 값인지 비교할 수 있다. map .. 2023. 7. 12. [10분 테코톡] 📍인비의 DTO vs VO 정리 DTO : 데이터 전달용 VO : 값 표현용 DTO = Data Tranfer Object = 데이터를 전달하기 위해 사용하는 객체 = 데이터를 담아서 전달하는 바구니 특성 - 오직 getter/setter 메서드만 갖는다. - 다른 로직은 갖지 않는다. setter 메서드를 가질 경우 setter 메서드로 새로운 값 설정이 가능하므로 데이터가 가변적이라 할 수 있다. setter 메서드를 삭제한다면 생성자를 통해 속성값을 초기화하게 만들어 불변객체로 만들면 DTO가 전달하는 데이터가 전달 과정 중에 변조되지 않음을 보장할 수 있다. Entity Class는 DB와 매핑되어 있는 핵심 클래스이기 때문에 절대로 요청이나 응답 값을 전달하는 클래스로 사용하면 안된다. 또한 Entity 클래스를 요청, 응답 .. 2023. 7. 11. [10분 테코톡] 💫두강의 Generics 정리 public T foo(LIst list) { } 전달되는 타입 매개변수의 범위를 제한하고 싶다면? public T foo(List list) { } // O public T foo(List list) { } // X 참고 https://www.youtube.com/watch?v=n28M8iryFPw&ab_channel=%EC%9A%B0%EC%95%84%ED%95%9C%ED%85%8C%ED%81%AC 2023. 7. 6. [10분 테코톡] 🌳 나봄의 CORS 정리 SOP(Same Origin Policy) 다른 출처의 리소스를 사용하는 것에 제한하는 보안 방식 출처(Origin)란? URL의 Protocol, Host, Port를 통행 같은 출처인지 다른 출처인지 판단할 수 있다. https:// github.com :443 /da-nyee ?tab=repositories #example Protocol Host Port Path Query String Fragment http://localhost와 동일 출처인 url은? 1. https://localhost https라 다른 출처 2. https://localhost:80 http 기본 port가 80이므로 동일 출처 3. https://127.0.0.1 브라우저 입장에서는 String value를 서로 비교하.. 2023. 7. 5. [10분 테코톡] 크리스, 로마의 stream vs for Stream을 생성하고 filter와 map과 같은 중간 연산과 collect와 같은 최종 연산을 통해 원하는 형태의 데이터를 얻을 수 있습니다 for문 : 코드블록으로 표현 Stream 파이프라인 : 함수 객체로 표현 (함수 객체 : 람다식이나 메서드 참조가 될 수 있다.) 이러한 표현 방식은 몇 가지 제약을 가져오게 된다. public int subtractByFor(int baseNumber, List numbers) { for (int number : numbers) { if (number % 2 == 0) { baseNumber -= number; } } return baseNumber; } public int subtractByStream(int baseNumber, List numbers) .. 2023. 7. 2. [10분 테코톡] 알린의 암호 정리 암호의 정의 - 중요한 정보를 읽기 어려운 값으로 변환하여 제 3자가 볼 수 없게 하는 기술 - 수학적인 원리에 기반 - 보안에 기초가 되는 원천 기술 암호의 구성요소 암호의 구성 요소는 크게 보면 평문, 암호문, 암호화 알고리즘, 키 네가지가 있다. 보통은 평문과 키를 암호화 알고리즘에 넣었을 때 암호문이 나오고 암호문과 키를 복호화 알고리즘에 넣었을 때 평문이 나오는 식으로 암호가 이루어져 있다. 암호 사용의 이유 암호가 제공하는 기능이 크게 보면 네 가지 정도가 있다. 기밀성, 무결성, 인증, 부인 방지가 있다. 노출 위험으로부터 데이터를 안전하게 보호 - 기밀성 노출이나 유출의 위험으로부터 데이터를 안전하게 보호하는 방법이에요 예를 들어서 알린이 네오한테 '안녕하세요' 라는 메시지를 보냈을 때 그.. 2023. 7. 1. [10분 테코톡] 🎹 김김의 JVM Specification 정리 누구든 '무엇'의 표준을 만족하는 '무언가'를 만든다면, 그 '무언가'는 '무엇'이다. JVM은 표준의 역할을 하는 Specification이 존재한다. 하지만 국제 표준화 기구 같은 거대한 공적 기관으로 부터 표준으로 인정받지는 못해서 Standard라는 표현을 가지고 있지는 못한다. 영향력이 너무 강하다 보니 De Facto Standard, 즉 사실상 표준에 해당하고 있다. 누구든 JVM의 규격, 내지 사양을 만족하는 무언가를 만든다면, 그 무언가는 JVM이다. 참고로 위 스펙이 사실상 표준처럼 자리해서 JVM 표준이라고 번역되는 경우가 많다. 어쨌든 원칙적으로 JVM은 누구나 만들 수 있다. 이 스펙은 하나의 과정이면서 단체이기도 한 JCP에 의해서 관장되고 이 Specification에 기반해서.. 2023. 6. 30. 이전 1 2 3 4 ··· 9 다음 728x90 반응형