rosieblue
article thumbnail
[JAVA] Stream 이란?

SpringBoot로 Java를 오랜만에 사용하게 되었는데 아래 코드가 원리가 뭔지가 이해가 안돼서 Java 문법을 공부해보았다. 이번 포스트에서는 Stream의 개념을 다룬 후 아래 코드의 동작 원리를 분석해볼 것이다. public Optional findByName(String name) { return store.values().stream() .filter(member -> member.getName().equals(name)) .findAny(); } 일단 개념부터 짚고 넘어가보자. Stream의 용도와 구조 Java8에서부터 지원한 기능으로, 일종의 반복문을 간단하게 나타낸 것이라고 할 수 있다. Stream은 컬렉션이나 배열, 리스트 등에 있는 값들을 참고하여 그 값들에 대해서 연산을 해주는..

article thumbnail
[SpringBoot 입문 시리즈 (2)] 스프링 웹 개발 기초 - 정적 컨텐츠, MVC와 템플릿 엔진, API
🧰 Back-end/SpringBoot 2023. 3. 10. 17:15

이 포스트는 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술(무료) 강의 내용을 정리한 글이다. 스프링이 클라이언트에게 페이지를 보여주는 경우는 세가지가 있다. 정적 파일 제공 (ex: test.jpeg, test.html) 템플릿 엔진(html을 동적으로 바꾸는 애들)과 MVC(Model, View, Controller) API - JSON 형태로 클라이언트에게 직접 데이터를 내려주는 형식 오늘은 이 세가지에 대해 포스팅해보도록 하겠다. 정적 파일 제공 src/main/resources/static에 정적 파일 abc.txt를 저장했다고 해보자. 그러면 URL에서 검색할 때 localhost:8080/abc.txt로 그냥 접근하면된다. (단순히 URL에 파일 입력하면 ..

article thumbnail
[SpringBoot 입문 시리즈 (1)] 스프링부트 환경 설정 - 프로젝트 생성, 라이브러리 살펴보기, View 환경 설정, 빌드한 후 실행하기
🧰 Back-end/SpringBoot 2023. 3. 8. 18:14

이 포스트는 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의 내용을 정리한 글이다. 오늘은 아래 과정을 실습해볼 것이다. 1. 프로젝트 생성 2. 라이브러리 살펴보기 3. View 환경 설정 4. 빌드하고 실행하기 프로젝트 생성 https://start.spring.io/ 에 들어가서 스프링 프로젝트를 시작해준다. 2.x버전을 해야 Java 11버전으로 할 수 있다. 안그러면 오류가 난다. Gradle로 해주고, Dependencies에 Spring Web, Thymeleaf를 선택해준다. Thymeleaf는 템플릿 엔진이라고 한다. 다 설정한 후 generate 버튼을 눌러주고 압축을 해제해준다. 이후 이를 IntelliJ에서 Open as Project로 열면 ..

article thumbnail
[BurpSuite] Cluster Bomb Attack
🔐 Security/Web 2023. 3. 6. 15:55

오늘은 버프스위트의 cluster bomb 기능을 대충 요약한 글이다. 주저리 많음ㅎㅎ ㅠ Burp Suite의 Intruder를 이용해 Blind SQL Injection을 진행하던 도중 변수 2개에 대해 각기 다른 규칙을 적용해주어야하는 일이 있었다. 나는 바보같이......... Cluster Bomb이라는 멋진 아이가 있는 줄도 모르고 ...... 수동으로 공격을 진행했다....... 위 글에 따르면 "This attack iterates through a different payload set for each defined position. The Cluster Bomb Attack is useful where an attack requires unrelated or unknown input t..

article thumbnail
[AWS] Route53 비용/요금
🧰 Back-end/Server 2023. 3. 6. 14:59

AWS의 동아리 서버에서 많은 양은 아니지만 요금이 청구되어서 어떤 방식으로 청구되는지 찾아봤다. 보니까 다 Route53에서 나간 거였다. Route53이란 DNS 서비스인데, 대충 우리의 IP를 Route53에 등록한 호스팅영역의 도메인이랑 연결시켜주는 애이다. 뜬금 없는 Route53 이름의 유래를 살펴보면 DNS 서버가 포트 53으로 온 요청에 응답하고 엔드 유저들을 우리의 앱으로 라우팅해줘서 Route 53이라고 한다. (공식문서 참고) 위 사진은 한 호스팅 영역에 들어있는 애들을 말한다. 그러니까 우리 동아리 이름이 dongari라고 생각해보면, 한 호스팅 영역에 www.dongari.com, , dongari.com 등등 이런식으로 여러개 등록할 수 있다. 그리고 그 호스팅 영역 하나 당 매..

article thumbnail
[Security] Fuzzer, Fuzzing 이란?
🔐 Security 2023. 3. 3. 16:01

오늘은 Fuzzer, Fuzzing에 대해서 간단하게 다뤄보려고 한다 "Fuzzing refers to a process of repeatedly running a program with generated inputs to test if a program violates a correctness policy." 라고 한다. 걍 취약점 분석을 위해서 인풋을 반복해서 엄청 많이 넣어봐서(랜덤하든 안 랜덤하든) 버그같은 거 있는지 확인하는 거다!!!! 그 내가 Python 통해서 Blind SQL Injection 자동화 도구 만들려고 했던거랑 비슷한걸로 보인다(아마?) 근데 일단 저 Python 통해서 만드는거랑 ㄹㅇ로 비슷한 거면 fuzzer 만드는건 꽤나 내 취향일 수도...? 왜냐면 개발도 재밌고 보안..