분류 전체보기
-
OpenAPI 3.0 static DTO 반환 오류개발/spring 2024. 1. 11. 11:20
개발을 하다가.. API 문서에서 오류가 발생했다. 현재 application/json으로 요청/응답하는 구조를 가지고 있는데, 이 모델이 제대로 드러나지 않는다는 것. 그리고 심지어는 뒤죽박죽 중복된 요청/응답 구조를 가지고 있었으며, 몇 개는 제대로 적어져 있었다. 나 같은 경우 위와 같은 응답 모델이 계속 중복되어 나타났다... 한 시간 정도 GPT한테도 물어보고 구글링도 해보고 해봤는데, 결국 내가 찾은 원인은 이러하다. "static class에서 이름의 중복" 나는 static class를 통해 DTO를 정의한다. 그리고 동일한 구조를 갖고자 그 이름을 동일하게 가져가면서 구조를 일관적으로 하고자 한다. 예를 들어 FooDTO를 다음과 같이 작성한다. public class FooDTO { p..
-
Go interface 구현 시 pointer receiver 오류공부/GO 2023. 7. 11. 05:46
https://go-tour-ko.appspot.com/methods/25 Go를 향한 여행 go-tour-ko.appspot.com Tour of Go 중 interface에 대한 실습(Method와 Interface #25)을 진행하면서 발생했던 오류에 대해서 다룬다. image.Image interface의 구현을 다루는 다음 코드는 오류를 일으킨다. package main import "image/color" import "image" import "golang.org/x/tour/pic" type Image struct{ ImageBounds image.Rectangle Color color.Color } func (image *Image) ColorModel() color.Model { ret..
-
유니티 싱글톤 패턴 구현 및 축약 (unity c# singleton)개발/unity 2023. 7. 6. 12:05
Unity에서 Singleton 패턴은 흔히 쓰이는 패턴이다. 싱글톤 패턴에 대한 내용은 자세하게 다루지는 않을 것이다. 코드부터 보도록 하자. [싱글톤 기본 구현] public class SceneManager : MonoBehaviour { private static SceneManager instance; public static SceneManager GetInstance() { if (instance != null) return instance; // null인 경우 instance = GameObject.FindAnyObjectByType(); // 찾지 못하면 생성 if (instance == null) { GameObject singletonObj = new GameObject("Scene..
-
Go 언어의 세미콜론 ;공부/GO 2023. 7. 4. 05:49
Go언어는 세미콜론을 생략하여 사용한다. 정확하게 말하자면 세미콜론을 생략할 수 있다. https://go.dev/doc/effective_go Effective Go - The Go Programming Language Documentation Effective Go Effective Go Introduction Go is a new language. Although it borrows ideas from existing languages, it has unusual properties that make effective Go programs different in character from programs written in its relatives. A straigh go.dev 위 글에서 매우 잘..
-
Go tutorial - Hello World!공부/GO 2023. 7. 4. 05:08
Go를 처음 배운다. 프로그래밍 언어를 처음 배울 때에는 관례 상 Hello World를 찍어준다. 이는 마치 데니스 리치가 남겨놓은 유산으로 아마 100년 뒤에도 처음 언어를 배우면 Hello World부터 찍지 않을까 싶다. 처음 배우는 언어로 go를 선택한 사람도 있을 것 같으니(아마 없겠지만) 차근차근 설명하는 방식으로 하나씩 살펴보도록 하겠다. 공식문서: https://go.dev/doc/tutorial/getting-started Tutorial: Get started with Go - The Go Programming Language Documentation Tutorials Tutorial: Get started with Go Tutorial: Get started with Go In th..
-
Vim 설치하기 (Windows)공부/GO 2023. 7. 4. 04:43
Go언어를 배우기로 했다. 그래서 vim을 설치하기로 했다. 둘이 무슨 상관일까? 그냥 그런 기분이 들었다. go는 vim과 잘 맞는다. 잘 생각해보자. go를 사용하는 것은 시스템 프로그래밍과 밀접한 관계가 있다. 이것은 유닉스 내지는 리눅스 위에서 돌려야 제맛이다. 터미널 환경에서도 잘 작동하는 에디터, 그리고 잘 쓸 때 멋있는 에디터, 그것은 vim이다. 무엇보다 golang과 vim, 해피해킹이 함께 하는 개발자는 뽀대가 난다(힙스터 느낌 물씬 나는). 사실 vs code를 더 좋아하고 더 잘 쓰기는 한다. 그래도 go를 배울 겸 vim도 배워야 나중에 리눅스에서 코드를 작성할 일이 생길 때 아주 유용할 것이다. 그래서 vim을 에디터로 선택하였다. 사실 이성적 판단이라기 보다는 직감에 가까울 것..
-
인프런 동영상 웹 스크래핑하기 - 마치며(최종 코드)개발/웹크롤링 2022. 1. 16. 15:34
지금까지의 과정이 인프런 동영상을 스크래핑할 일이 생겨서 파이썬으로 어떻게 활용하면 할 수 있을까 3일 정도를 궁리하다가 나온 결과물입니다. 많은 시행착오가 있었고, 어쩌면 다른 사람들도 이런 것이 필요하지 않나 싶어서 이렇게 블로그의 첫 포스팅으로 쓰게 되었습니다. 사실 지금 군대에 와 있기도 하고, 대학교 1학년밖에 안 다닌 제가 알려드릴 게 많지는 않지만, 조금이나마 도움드리고 싶어서 글을 올리고자 결심했던 것 같네요. 제가 코드 전문을 올려드리지만, 너무 무턱대고 사용하지 않았으면 좋겠습니다. 인프런을 좋아하는 사람으로서 그 가치를 훼손하지 않았으면 합니다. 다운로드 받은 영상을 무단 배포하거나 상업적으로 이용하는 순간 범죄를 저지르는 거니까요, 참고해주시기 바랍니다. 다음은 제가 짠 코드입니다...
-
인프런 동영상 웹 스크래핑하기 - 3 : 네트워크 분석 - 2개발/웹크롤링 2022. 1. 16. 15:11
사실, 강의 형식으로 준비하려고 했는데, 강의로 하기에는 제 지식도 많지 않고 일일히 다 설명하려면 까마득한데다, 내용이 다 안 담길 거 같아서 코드 리뷰 형식으로 진행하겠습니다... 우선 인프런의 요청을 가로채기 위해서 selenium-wire를 사용했습니다. selenium-wire에서 requests를 받아오는 방법은 다음과 같습니다. >>> driver.requests [Request(method='POST', url='https://accounts.google.com/ListAccounts?gpsia=1&sour... 비디오가 들어 있는 url 패턴을 가로채서 해당 url에 get 요청을 보낸 후 6초 단위의 동영상 바이트 덩어리를 한 파일에 다 합쳐서 저장할 것입니다. url 패턴 중에서도 비..