본문 바로가기

분류 전체보기178

spring boot - api 구조 보통 프런트엔드에서 백엔드에 api를 호출하고 정보를 받아온 다음 그 정보를 화면에 보여줍니다. 그럼 백엔드에서 api를 받고 정보를 넘겨줄 수 있어야 하는데요, 어떤 식으로 진행이 되는지 알아봅시다.controllercontroller는 유저가 유저가 정보를 요청할 때 어떤 경로로 요청해야 하는지, 어떤 식으로 요청해야 하는지가 담겨 있습니다.파일은 src - main - java - com - example - streak 위치에 계속 만들것입니다. 해당 파일에 package로 health, controller를 만들고 java class로 healthController를 만듭니다. 여기에 다음과 같이 만듭니다. @Slf4j부터 만들면 알아서 import 부분이 만들어 집니다. 어노테이션(@~~)을 .. 2024. 8. 29.
webgoat 사용법 이제 webgoat를 시작해 보겠습니다.우선 계정부터 생성해 줍니다. 해당 계정으로 webgoat와 webwolf에 로그인 할 수 있습니다.webgoat는 피해자 컴퓨터라고 생각하면 되고 webwolf는 공격자 컴퓨터라고 생각하면 됩니다. webgoat의 webwolf 탭에서 webwolf에 대한 설명과 간다한 기능을 사용할 수 있습니다. 1에서는 webwolf 실행 방법이 있지만 이미 실행했으므로 넘어갑니다.2에서는 파일 업로드 기능에 대해 이야기합니다.3에서는 메일 함 기능과 실습이 있습니다. {webgoat 계정}@webgoat.org를 입력하고 메일을 보냅니다. 그럼 webwolf의 mailbox에서 메일을 받을 수 있습니다.  이제 코드를 입력하면 해당 과제를 클리어 할 수 있습니다. 왼쪽 위에.. 2024. 8. 28.
[논문 구현] Encoder-Decoder with Atrous SeparableConvolution for Semantic Image Segmentation(DeepLabV3Plus) deepLabV3Plus는 이전 논문들과 다르게 모델 구조가 살짝 복잡합니다. 그래서 모델을 구현하는 것에 중점을 맞출 것입니다. 이전에 사용한 논문을 다시 가져왔습니다. atros conv는 기존의 conv를 변형한 것입니다. tensorflow 에서는 DepthwiseConv2D에 dilation_rate 속성을 주어 구현할 수 있는데 귀찮으니 ResNet50을 그대로 가져다 쓰겠습니다.모델 구현우선 512,512,3 크기를 입력받는다고 하겠습니다. keras.applications에서 ResNet을 가져옵니다. weights는 초기 가중치, include_top은 마지막 dense 레이어를 포함하는지 여부, input_tensor은 입력 크기입니다. 저희 모델의 큰 그림은 아래와 같습니다.여기서 *.. 2024. 8. 27.
16324 - Jumbled String 문제 번역더보기subsequence :  문자열에서 일부 문자 하위 집합을 제거하여 얻은 문자열(ex. string에서 sing, i, sg 등)0과 1로 이루어진 비어있지 않은 문자열을 만들고 싶습니다. 이때, 문자열에서 subsequence가00인 것들의 개수, 01인 것들의 개수, 10인 것들의 개수, 11인 것들의 개수가 각각 $a$, $b$, $c$, $d$였으면 합니다. 이런 조건을 만족하는 문자열을 만드세요.step 1더보기$a$를 통해서 0의 개수를 알아낼 수 있습니다.$\frac{n(n-1)}{2} = a$인 $n$이 0의 개수입니다.같은 방법으로 1의 개수 역시 $d$를 통해 찾을 수 있습니다.이렇게 찾은 0, 1의 개수를 각각 $n$, $m$이라고 합시다.step 2더보기어떤 1을 잡.. 2024. 8. 26.
spring boot - 시작 spring boot로 백엔드를 시작하기 위한 세팅입니다.spring initializrspring boot를 사용하기 위해 복잡한 세팅들이 있는데 이를 간단하게 해주는 사이트입니다(https://start.spring.io/). 여기서 언어, 버전, 의존성 등을 설정할 수 있습니다.몇 가지 유용한 의존성에 대해 알아보겠습니다.Lombok반복되는 부분을 아주 많이 줄여주는 annotation을 제공해 줍니다. 클래스를 만들 때 getter, setter를 통해 값을 읽고 씁니다. 그리고 toString을 통해 출력을 하고 생성자를 통해 객체를 생성합니다. 원래는 이 기능들을 구현해 주어야 하지만 Lombok 이 다 만들어 줍니다. 아니면 Data로 한 번에 만들 수도 있습니다. 그리고 @Slf4j 를 통.. 2024. 8. 25.
웹 개발 - 프로젝트 2 - 5. streak lover 백엔드 api 백엔드에 특정 자료를 요청하기 위해서는 api를 호출해야 합니다. 이런 것을 쉽게 하기 위해 talent api를 사용할 것입니다. 크롬 확장 프로그램으로 talent api를 추가합니다. 그런 다음 크롬 - 퍼즐 모양 - 핀을 클릭해서 상단에 고정하고 talent api를 눌러줍니다. 아래와 같은 화면에서 api를 호출할 수 있습니다. api 만들기intelliJ로 가서 health controller를 만듭니다.  해당 페이지에서 다음과 같이 입력해 health api를 호출할 수 있게 만듭니다. Slf4j는 로그 출력을 위한 것입니다. talent api에서 healthapi를 호출합니다.  이것을 실행하면 성공적으로 호출되는 것을 알 수 있습니다. 2024. 8. 24.