[Tistory] [새싹x코딩온] 웹 개발자 부트캠프 과정 7주차 회고 | MVC 패턴으로 프로젝트 만들기

1. 들어가며MVC 패턴에 대해 알아보고 MVC 패턴으로 프로젝트 구축하기2. MVC 패턴MVC 패턴이란?모델(Model), 뷰(View), 컨트롤러(Controller) 로 이루어진 소프트웨어 설계와 관련된 디자인 패턴이다.💡 디자인 패턴이란?소프트웨어를 설계할 때 발생하는 문제를 해결하기 위한 방법 중 하나로, 상황에 따라 자주 쓰이는 설계 방법을 정리한 코딩 방법론이다.  MVC의 장점과 단점 ✔ 장점패턴들을 구분해서 개발한다(기능 단위 별로 나눠서 처리)디버깅이나 코드 가독성을 높여서 유지보수에 용이하다유연성과 확장성이 높다협업에 용이하다✔ 단점설계 단계가 복잡해서 설계 시간이 오래 걸린다.단위가 많아진다.애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해진다. MVC 디자인 패턴 흐름  모델..

[Tistory] [우아한테크코스 6기] 프론트엔드 최종 합격 후기

우아한테크코스 6기에 최종 합격하였다!그동안 메일을 기다리면서 코딩 테스트 당시를 후회하기도 하고 꽤나 마음을 졸였는데 (우스갯소리로 배달의 민족 어플만 봐도 심장이 아프다는 말을 하고 다녔다……) 좋은 결과가 있어서 다행이다.비록 내가 준비한 방법이 정답은 아니겠지만, 그래도 우아한테크코스를 준비하는 사람들, 그리고 미래의 나에게도 어느 정도 도움이 될 수 있지 않을까 싶어 회고를 작성한다. 우아한테크코스 6기 선발 일정은 위와 같다. 보다시피 약 3달 간의 상당한 여정이다. 📝 서류 접수우아한테크코스는 다른 부트캠프에 비해서 작성해야 할 지원서의 양이 꽤 되는 편이다. 따로 1차 코딩 테스트가 없어서 그런지 예사 지원서 질문들과 상당히 결이 달랐다.특히, 독특했던 건 ‘몰입’이라는 키워드를 강조한다..

[Tistory] 멕시코에서 온 신비한 칵테일 ‘엘 디아블로’, 그 매력 속으로 빠져보세요!

멕시코의 전통이 담긴 엘 디아블로 칵테일 레시피와 함께 멕시코의 매력을 경험해보세요. 상큼하고 개운한 맛의 비밀을 공개합니다! 🍹 안녕하세요, 칵테일 매니아 여러분! 오늘은 특별한 칵테일 하나를 소개해 드리려고 해요. 바로 멕시코에서 온 상큼하고 개운한 맛의 칵테일, ‘엘 디아블로’입니다! 🌶️ 엘 디아블로(El Diablo)의 매력적인 역사 📚 1946년, ‘빅 트레이더의 음식과 음료’라는 책에서 처음으로 소개된 이 칵테일은 그 매력적인 맛으로 빠르게 사랑받기 시작했어요. 책에서는 ‘멕시칸’이라고 언급되어 있어, 이 칵테일의 기원이 멕시코임을 알 수 있죠. 멕시코의 풍부한 문화와 맛이 담긴 엘 디아블로는 지금도 전 세계인들의 입맛을 사로잡고 있답니다! 상큼하고 개운한 맛의 비결, 엘 디아블로 레시피 🍹..

[Tistory] [Jenkins] NCP, Github, Docker, Spring Boot, Slack로 CI/CD 구축하기

이번에 젠킨스를 이용하여 Spring Boot를 CI/CD 파이프라인 구축하는 것에 대해 글을 작성해보려 합니다. 많은 오류와 시행착오 속에서 어떻게 해결했는지 알아보겠습니다. 🔥빌드 순서 Code push to Github Build By Jenkins Push to Docker hub Docker run 🔥기술 스택 Spring Boot / Gradle Docker Github Jenkins NCP – Server Slack spring 서버와 jenkins 서버를 따로 두었다. compact 서버는 월 4~5만원 정도 신규 가입하면 10만 크레딧을 지원해줘서 micro는 너무 답답하여 compact를 사용했습니다. 공인 IP를 연결하고, ACG를 설정해줍니다. 포트 포워딩을 해줍니다. 작은 프로젝트..

[Tistory] eslint와 prettier 오류 해결

문제  팀프로젝트를 하면서 프론트엔드 배포를 해야하는데 빌드에서 prettier오류가 계속 떴다. 지난번 팀프로젝트에서도 prettier를 잘못 설정했는지 계속 오류가 떠서 이틀동안 고생했던 적이 있다. 그 때는 잘 이해를 못한 상태에서 그냥 넘어갔던 거 같아서 제대로 짚고 넘어가려고 한다.  이런식으로 space 오류가 났었다.이외에도 tab과 줄바꿈 등에서 오류가 날 수 있다. 찾아봐도 제대로 된 해결법이 나오지 않아 정리해보려고 한다. ESLint 란 ?더보기ESLint는 코드 퀄리티를 보장하도록 도와주는 도구이다. ESLint를 사용하면 프로젝트에서 코드를 작성하는 방식을 일관성 있는 방식으로 구현할 수 있도록 도와준다. ESLint는 처음부터 유용하게 사용할 수 있는 스타일 가이드(built-i..

[Tistory] [Spring-Security] 스프링 시큐리티를 사용하여 로그인 기능 구현 – 1

Intro – Spring Boot 버전 3.3.0 사용  Security를 사용하기 위해서Maven 의존성 추가 – Spring Boot Starter Securityhttps://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-security org.springframework.boot spring-boot-starter-security( 위의 코드와 같이 버전을 지정하지 않고 알아서 설정되도록 하는게 좋다 ) : 위의 의존성을 추가하면 어떤 페이지에 접근하든 로그인 하지 않았을 경우스프링 부트에서 제공하는 로그인 화면으로 보내준다  의존성을 추가하고 Maven update를 해준다음 실행시켜보면  위와 같이 ..

[Tistory] [ML/DL] Youtube 조회수 분석

팀 프로젝트를 통해 머신러닝과 딥러닝을 배우게 되면서 이론적으로는 알겠는데 실제로 무슨 차이가 있는것인지 궁금하여 시작하게 된 유튜브 조회수에 대한 프로젝트를 진행했다.  Kaggle에서 Youtube Korea에 대한 데이터셋을 제공해주어 이를 토대로 분석을 시도하였다.조회수가 잘 나오게하려면 어떤 변수들이 상관관계를 가지고 종속변수에 영향을 주는지 확인해보는 방향으로 개발을 진행 하였다. 1. 변수를 선정한다. 조회수는 Views 나머지 변수는 tags, channel_title, comment_count, likes, dislikes 등이 있다. 2. 먼저 데이터셋을 분석하기 위해 각각의 변수를  피처 스케일링 작업을 진행하였다. 피처 스케일링 작업이란 모델의 성능을 더 좋게 만들기 위해서 데이터의..

[Tistory] [Android/Kotlin] Multi View Type 리사이클러뷰 구현하기

일반적인 리사이클러뷰는 하나의 뷰형태만 보여주고 데이터만 달라지지만,리사이클러뷰 멀티뷰타입을 사용하면 다수의(다른) 뷰형태를 가지는 아이템을 보여줄 수 있다 이런식으로 멀티뷰타입을 통해서 구현하면 아이템들을 다르게 보여줄 수 있다     # xml먼저 해당 아이템에 들어갈 레이아웃을 각각 디자인해준다   # 상수정의enum class를 사용해서 방금만든 뷰타입의 상수를 정의해준다// enum class로 열거형 클래스로 만들기 (코드 단순, 가독성 up)enum class MultiViewEnum(val viewType : Int) { BlUE(0), LIGHTBLUE(1), ORANGE(2)}   # 데이터들어갈 데이터클래스를 작성..

[Tistory] [Hilt] 기존 프로젝트에 Hilt 적용해보기

https://developer.android.com/codelabs/basic-android-kotlin-compose-practice-bus-schedule-app?hl=ko&continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-6-pathway-2%3Fhl%3Dko%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-practice-bus-schedule-app#0 연습: Bus Schedule 앱 빌드  |  Android DevelopersRoom을 사용하여 데이터 유지 Co..

[Tistory] [React] package.json과 의존(dependency)

유형: Study/React학습 계기 git을 통해 협업했을 때, 모두가 다른 패키지 혹은 같은 패키지의 다른 버전을 사용하면 오류가 나는 것이 아닌지 의문이 생겼다.  서론(배경지식)1) 패키지(package): 라이브러리와 비슷한 개념으로 라이브러리가 코드의 묶음이라면, 패키지는 코드의 배포를 위해 사용되는 코드의 묶음이다. 일반적으로 라이브러리나 실행파일(.exe)을 포함한다. 다음 세가지 정보를 가지고 있다. – 컴파일한 소프트웨어의 바이너리(실행 가능한 형식의 데이터 파일) ex) 메모장, 계산기- 환경설정에 대한 정보  – 의존(dependency)에 대한 정보  2. 패키지 매니저 ex) npm, yarn : 패키지의 의존 정보를 통해 패키지의 설치, 업데이트, 수정, 삭제 등을 보조한다. ..