묻고 답해요
152만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결
팀 프로젝트했는데 면접 관련 질문있습니다
제가 국비교육을 들었는데 한달 전쯤에 수료했습니다. 당연히 팀 프로젝트도 진행했는데, 이 팀 프로젝트에서 제가 맡은 파트의 비중, 중요도, 난이도 등등에 걱정되는 부분이 있어서 글작성하게 됐습니다. 이번 국비교육 팀프로젝트에서 역할분담을 하다보니 제가 맡은 부분들이 생각보다 큰 비중을 차지하지않아서(저희 팀은 api를 사용해서 웹소설, 웹툰, 도서 리뷰 플랫폼을 통합적으로 제공하는 웹페이지를 제작했습니다. 그런데도 저는 api를 사용하는 기술도 없고, 감정분석이나 스프링 시큐리티를 사용한 기술도 없습니다.) 제가 구현한 기능들은 공지사항 관련 CRUD나 공지사항 목록의 검색, 정렬 및 페이지네이션 구현과 페이지 간의 이동 정도로 요약할 수 있어, 포트폴리오나 이력서에 제출할 때 조금 부실하지않을까 염려되어 질문드리게 됐습니다.면접때, 이런 프로젝트 내용들로 질문이 들어오고 답변도 해야할텐데, 이럴땐 어떻게 하는게 좋을까요?정말 현실적으로 댓글 달아주시면 감사하겠습니다.
-
해결됨Golang을 통한 백엔드 개발 및 환경 구축하기
UserResponse struct 질문
go 언어 사용이 익숙치 않아 질문드립니다. ㅜㅜAPIResponse 와 User 모두 json 태그가 붙은 구조체로 보이는데, 어떤 기준? 방식으로 포인터 구조체, 일반 구조체를 사용하시는지 알 수 있을까요? 해당 영상내 ApiResponse만 포인터 구조체를 사용하신 이유를 알 수 있을까요?
-
해결됨Golang을 통한 백엔드 개발 및 환경 구축하기
키보드 어떤거 사용하시는지요?
혹시 어떤 키보드 사용하시는지요 .😀
-
해결됨Golang을 통한 백엔드 개발 및 환경 구축하기
repository 트랜잭션 관련 질문
안녕하세요 스프링으로 개발하고 있는 뉴비인데, 최근에 golang에 흥미가 생겨서 강의를 듣게 되었습니다.이제 강의를 다 수강하고, gorm을 사용해서 db연결까지 해보려고 하는데, 궁금증이 생겨서, 강의의 범위를 벗어나지만 질문드리려고 합니다스프링에서는 서비스 계층에 트랜잭션을 선언후 그 안에서 벌어지는 db관련 로직들을 원자적으로 실행할 수 있습니다. 트랜잭션의 전파를 통해, 서비스에서 다른 서비스를 호출해도 하나의 트랜잭션으로 묶을 수 있고요. gin에서 동일한 결과를 내고 싶은데, 제가 찾은 방법 2가지가 있습니다 DB 객체를 서비스에서 필드로 보관하면서 repository를 호출할때마다 인자로 DB에 트랜잭션을 적용해 를넘겨준다 (또는 트랜잭션을 받는 wrapper function을 사용한다) => 코드작성량이 ㄷㄷrepository에 임시적인 WithTransaction(tx)메서드를사용해, repository의 DB가 임시로 트랜잭션을 바라보게한다. =>싱글톤에서 말도 안되는 방법인거 같은데 gpt가 강추함컨텍스트에 트랜잭션 DB객체를 담아 모든 곳에서 꺼내 사용한다 => gpt, google 모두 권장되지 않는 방법이라고 함3줄요약전부다 다 뭔가 이상한거 같아서, 실무에서 golang을 사용하면 서비스에서 다수의 DB접근이 필요하고, 이를 하나의 트랜잭션으로 관리해야될 때 어떻게 트랜잭션을 처리하는지 궁금합니다!!
-
미해결Golang을 통한 백엔드 개발 및 환경 구축하기
hello world 가 2번 뜨는 이유가 뭘까요?
간단한 질문입니다만 localhost:8080 으로 접속했을 때 콘솔에 hello world가 2번 뜨는 이유를 몰라서 여쭙습니다.
-
미해결Golang을 통한 백엔드 개발 및 환경 구축하기
소스 코드가 있는 github 주소 공유 부탁드려도 될까요?
소스 코드가 있는 github 주소 공유 부탁드려도 될까요?
-
해결됨Golang을 통한 백엔드 개발 및 환경 구축하기
강의 코드 따라친거 public repository에 올려도 되나요?
저작권에 위배될까요?
-
해결됨Golang을 통한 백엔드 개발 및 환경 구축하기
service, repository 단계 구성하기 - 1
이 챕터에서 시작할때 network/user.go에서 갑자기 코드가 바꼈는데 이 부분은 임의로 작성하신건가요? &types.GetUserResponse{}, &types.CreateUserResponse{}, 나머지 두개 타입 update, delete. 작성하셨다면 types에 user.go에 작성하셨다는건데 일부러 뛰어 넘으신건지 궁금합니다.
-
해결됨Golang을 통한 백엔드 개발 및 환경 구축하기
delete 에러 관련되서 질문이 있습니다.
2023/11/20 20:44:01 http: panic serving [::1]:8034: runtime error: invalid memory address or nil pointer dereferencegoroutine 51 [running]:net/http.(*conn).serve.func1() C:/Program Files/Go/src/net/http/server.go:1854 +0xbfpanic({0xec01a0, 0x126f410}) C:/Program Files/Go/src/runtime/panic.go:890 +0x263github.com/dev-yakuza/study-golang/gin/start/repository.(*UserRepository).Delete(0xc0000a4030, {0x12466f8, 0x1}) C:/go_gin/src/CURS_SERVICE/repository/user.go:42 +0x36agithub.com/dev-yakuza/study-golang/gin/start/service.(*User).Delete(...) C:/go_gin/src/CURS_SERVICE/service/user.go:27github.com/dev-yakuza/study-golang/gin/start/network.(*userRouter).delete(0xc000444530, 0xc000456100) C:/go_gin/src/CURS_SERVICE/network/user.go:104 +0x1cagithub.com/gin-gonic/gin.(*Context).Next(...) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc0005841a0, 0xc000456100) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:620 +0x66bgithub.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc0005841a0, {0xfeda80?, 0xc00045e0e0}, 0xc000456200) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:576 +0x1ddnet/http.serverHandler.ServeHTTP({0xfecb10?}, {0xfeda80, 0xc00045e0e0}, 0xc000456200) C:/Program Files/Go/src/net/http/server.go:2936 +0x316net/http.(*conn).serve(0xc0004fa090, {0xfee018, 0xc0000a27e0}) C:/Program Files/Go/src/net/http/server.go:1995 +0x612created by net/http.(*Server).Serve C:/Program Files/Go/src/net/http/server.go:3089 +0x5ed관련된 에러가 나고 있습니다.for index, user := range u.userMap { if user.Name == userName { u.userMap = append(u.userMap[:index], u.userMap[index+1:]...) isExisted = true continue } } 해당코드에서 user가 nil일 경우에도 for문이 실행이 되고 있습니다. 혹시 이게 u.userMap이 자동적으로 뒤에 nil이 있는 것으로 확인이 됩니다. 혹시 다른 설정하신게 있으실까요?아니면 append가 패치된 상황일까요?일단은for index, user := range u.userMap { if user != nil { if user.Name == userName { u.userMap = append(u.userMap[:index], u.userMap[index+1:]...) isExisted = true continue } } }이렇게 해결 했습니다.
-
해결됨Golang을 통한 백엔드 개발 및 환경 구축하기
서버 구조에 대한 질문
이 프로젝트 서버 구조가 mvc 패턴에 기반한 건가요?계속 공부하다 보니 뭔가 헷갈리네요 ㅠㅠ
-
해결됨Golang을 통한 백엔드 개발 및 환경 구축하기
create 요청시 에러
2023/11/16 23:42:58 http: panic serving [::1]:6279: Undefined validation function 'require' on field 'Name'goroutine 21 [running]:net/http.(*conn).serve.func1() C:/Program Files/Go/src/net/http/server.go:1854 +0xbfpanic({0x8d4c00, 0xc000061b50}) C:/Program Files/Go/src/runtime/panic.go:890 +0x263github.com/go-playground/validator/v10.(*Validate).parseFieldTagsRecursive(0xc00014e0e0, {0x8bf3a5?, 0x9661a2?}, {0x8bf38b, 0x4}, {0x0, 0x0}, 0x0) C:/go_gin/pkg/mod/github.com/go-playground/validator/v10@v10.16.0/cache.go:299 +0xa39github.com/go-playground/validator/v10.(*Validate).extractStructCache(0xc00014e0e0, {0x909600?, 0xc000008108?, 0x1f4e0985898?}, {0x8b7042, 0xd}) C:/go_gin/pkg/mod/github.com/go-playground/validator/v10@v10.16.0/cache.go:156 +0x5acgithub.com/go-playground/validator/v10.(*validate).validateStruct(0xc00043a240, {0xa1ce68, 0xc000026158}, {0x909600?, 0xc000008108?, 0xcb2930?}, {0x909600?, 0xc000008108?, 0x0?}, {0xa220a8, ...}, ...) C:/go_gin/pkg/mod/github.com/go-playground/validator/v10@v10.16.0/validator.go:37 +0x19dgithub.com/go-playground/validator/v10.(*Validate).StructCtx(0xc00014e0e0, {0xa1ce68, 0xc000026158}, {0x909600, 0xc000008108?}) C:/go_gin/pkg/mod/github.com/go-playground/validator/v10@v10.16.0/validator_instance.go:394 +0x479github.com/go-playground/validator/v10.(*Validate).Struct(...) C:/go_gin/pkg/mod/github.com/go-playground/validator/v10@v10.16.0/validator_instance.go:367github.com/gin-gonic/gin/binding.(*defaultValidator).validateStruct(0xcb2930, {0x909600, 0xc000008108}) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/binding/default_validator.go:80 +0x4egithub.com/gin-gonic/gin/binding.(*defaultValidator).ValidateStruct(0x909600?, {0x909600?, 0xc000008108?}) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/binding/default_validator.go:59 +0x189github.com/gin-gonic/gin/binding.(*defaultValidator).ValidateStruct(0xc000436000?, {0x8e4840?, 0xc0000080c0?}) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/binding/default_validator.go:57 +0x105github.com/gin-gonic/gin/binding.validate(...) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/binding/binding.go:120github.com/gin-gonic/gin/binding.decodeJSON({0x1f4e0aa8188?, 0xc000038040?}, {0x8e4840, 0xc0000080c0}) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/binding/json.go:55 +0xa2github.com/gin-gonic/gin/binding.jsonBinding.Bind({}, 0xa1a460?, {0x8e4840, 0xc0000080c0}) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/binding/json.go:37 +0x66github.com/gin-gonic/gin.(*Context).ShouldBindWith(...) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:741github.com/gin-gonic/gin.(*Context).ShouldBindJSON(...) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:701github.com/dev-yakuza/study-golang/gin/start/network.(*userRouter).create(0xc000098080, 0xc00051c100) C:/go_gin/src/CURS_SERVICE/network/user.go:43 +0xbfgithub.com/gin-gonic/gin.(*Context).Next(...) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc0000844e0, 0xc00051c100) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:620 +0x66bgithub.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc0000844e0, {0xa1c940?, 0xc0001920e0}, 0xc00051c000) C:/go_gin/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:576 +0x1ddnet/http.serverHandler.ServeHTTP({0xa1b9d0?}, {0xa1c940, 0xc0001920e0}, 0xc00051c000) C:/Program Files/Go/src/net/http/server.go:2936 +0x316net/http.(*conn).serve(0xc000190240, {0xa1ced8, 0xc0000907e0}) C:/Program Files/Go/src/net/http/server.go:1995 +0x612created by net/http.(*Server).Serve C:/Program Files/Go/src/net/http/server.go:3089 +0x5ed무슨에러인지 알 수 있을까요?
-
해결됨Golang을 통한 백엔드 개발 및 환경 구축하기
1분24초에 go run .를 실행할때 filepath에러
main에서 filePath에 "./config.toml" 경로를 전달하면 config.go에서 NewConfig함수를 실행할 때 os.Open에 ./cofig.toml은 결국 config.go가 현재경로 기준이 되는게 아닌가요?
-
미해결PHP 7+ 프로그래밍: 객체지향
return에 대한 질문입니다
PostController 부분에서 class PostController { /* ..... */ public static function edit($id) { if ($post = Post::get($id)) { $post->isOwner() && Theme::view('post', [ 'post' => $post, 'requestUrl' => '/posts/' . $post->id, 'method' => 'patch' ]); } return http_response_code(404); } /* ..... */ } 다른 함수와 다르게 여기부분만 if문 안에 return을 안해주는 이유가 궁금합니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
이 강의에선 Update와 Delete는 구현을 하지 않는건가요?
이 강의에선 Update와 Delete는 구현을 하지 않는건가요?
주간 인기글
순위 정보를
불러오고 있어요