블로그

수진

[인프런 워밍업 스터디 1기 디자인] 1주차(스타일 가이드 만들기) 발자국

월요일부터 본격적으로 시작한 인프런 워밍업 스터디!나는 피그마 베리어블을 활용한 디자인 시스템 구축하는 강의를 선택했다! 이 강의를 선택한 이유현재 다니고 있는 회사에는 디자인 시스템이 없다. 없는 상태에서 일을 하다 보니 페이지마다 디자인들이 일관성 없이 만들어진 것을 보고 얼른 디자인 시스템을 도입해야겠다는 생각이 들었다…하지만 나는 디자인 시스템을 처음부터 구축해본 적은 없어서 강의를 알아보던 중에 인프런에서 워밍업 스터디를 한다는 것을 보았다. 때 마침 베리어블을 활용하여 디자인 시스템 구축 방법을 볼드 강사님의 피드백을 받으면서 배울 수 있는 강의가 있어 당장 신청했다! 1주차 강의 후기1주차 강의는 스타일 가이드 만들기이다.월요일은 피그마 베리어블과 디자인 토큰 / 디자인 시스템 개념 이해하기라는 이론 강의였다. 디자인 토큰과 시스템의 개념을 알고 스타일 가이드를 만드니까 더 이해하기 쉬웠다.화요일부터 실습 강의가 들어가는데 동영상만 봤을 때는 음 이 정도면 쉬워서 미션도 금방 끝나겠네! 하면서 목요일부터 두 개씩 해야지! (멈춰 이 좌식아..!) 하고 집에서 쉬었는데 그런 생각은 하지 말았어야 했다..목요일 퇴근 후 직접 피그마를 켜서 따라해보니까 생각보다 오래 걸리고 결국 미션을 하나 밖에 못 했다..😭그래서 미션이 밀려서 금요일부터 토요일 새벽까지 미션3까지 하고 잤다ㅎ.. 😮‍💨근데 여러 인터넷 강의들을 들어봤지만 이번 인프런 워밍업 스터디는 확실히 다른 분들과 같이 공부하다 보니까 학원 다니는 느낌이 들어서 너무 좋았고 무엇보다 볼드 강사님이 내 미션을 보고 코멘트도 해주셔서 너무 좋았다!! 인프런에서 만나기 전에 인스타에 좋은 디자인 정보들을 올려주셔서 팔로우하면서 일 할 때 참고 많이 했었는데 이렇게 실시간으로 피드백을 받으니 너무너무 좋았다!! 2주차 강의 목표2주차 강의 때는 자만하지 말고 매일매일 미션을 해야겠다는 생각이 들었다. 그래서 2주차 강의 목표를 새워본다면매일 미션 완수하기출근하면서 강의듣기일단 이렇게 2개를 목표로 완주까지 달려볼 것이다!!  

UX/UI워밍업클럽디자인시스템볼드피그마워밍업스터디

상은/Liane

[인프런 워밍업 스터디 1기 디자인] 1주차 발자국

 워밍업 스터디에 참여하게된 이유작년 여름, 배리어블 업데이트 이후 많은 사람들이 해당 기능을 필수로 알아야한다고 했지만토큰에 대한 개념이 부족하기도하였고, 기존에 사용하던 스타일을 통해서도 충분히 작업이 가능했기 때문에 쉽사리 사용하지 못했다.시간이 생긴 지금, 개념을 정확히 알고 배리어블을 사용해보고싶었다.인스타 팔로우하던 볼드님이 강의를 진행한다고 하셔서 바로 신청하게되었고 신청하길 정말 잘한 것 같다.강의를 보며 공부하면.. uiux 직군으로 이직하길 마음먹고 독학으로 피그마를 공부하던 시절과 함께 회사에 사수가 없어 혼자서 고군분투하며 작업하던 나날들이 떠오른다 .. ㅠㅠ 더 열심히 공부해야하는 이유가 늘 떠오른다.이직할때는 개념을 완벽히 이해하고 다양한 기능을 사용하여 더 빠르게 작업 할 수 있는, 스킬업이 되어있는 상태였으면 좋겠다.   기억하고 싶은 부분들색상 배리어블의 구조Primitive : 색의 원시값을 저장해 놓은 디자인 언어의 기본 값Theme : 시멘틱 칼라로 브랜드 모드를 적용하기 위한 목적Semantic : 시맨틱 칼라로 라이트/다크 모드를 적용하기 위한 목적색상 배리어블 등록시border의 색상은 text와 색상이 겹치기 때문에 색상이 살짝 빠진 색상으로 선택해준다. 스타일은 지우기 색상 배리어블 등록 후 적용하려보면, 스타일 목록과 함께 노출되기 때문에 원하는 색상을 찾을때 너무 복잡하기때문에 등록된 스타일은 지우는 것이 좋다.플러그인apply variables혹여나 배리어블을 적용하지 못했다면, 하나하나 눌러서 확인하지 말고 해당 플러그인을 사용하여 자동으로 적용시킬 수 있음styler한번에 text styles 등록 가능frameall선택한 layer들에 fram이 씌워짐색상이 있는 아이콘을 다른 아이콘으로 변경하는 경우, 전체 색상이 변하지 않는 이유A는 1개의 vector가 색상 1개만 먹히기 때문에 B의 2개의 vector중 1개만 색상이 변함[해결 방법]B의 vector를 union을 사용하여 하나로 만들어주면됨 ** 대신 이름은 동일한 이름으로 변경해줘야함합치기 전에는 stroke에 색상이 채워졌었는데, 합친 후에는 fill로 색상이 채워짐

UX/UI인프런워밍업스터디

yuri

[인프런 워밍업 스터디 1기 디자인] 1주차 발자국 및 회고

 [인프런 워밍업 스터디 1기 디자인] 1주차 발자국실무에서 피그마를 사용하지만, 손에 잘 익지 않았었고 피그마 툴의 기능이 계속해서 업데이트되어부분적으로 공부를 해보아도 사용하지 않으면 잊어버리게 되어서개인 스터디 차원에서 피그마 툴도 공부하고 디자인 가이드를 더 체계적으로 알아가고자스터디에 신청하게 되었습니다.업무와 병행하다 보니 스터디에 대한 이해가 부족해서 과제 제출하며 실수를 여러번 하였는데,디스코드를 통해서 실시간으로 피드백 주셔서 틀린 부분을 인지하고 공부할 수 있었습니다.1주차 강의 수강을 통해 배운 것베리어블 기능을 활용해서 피그마에서 디자인 가이드를 관리하는 법다양한 플러그인을 활용해 디자인 가이드를 구축하는 법베리어블의 구조 네이밍 하는 방식과 규칙 등2주차에서 보완하고 싶은 점강의를 들었지만, 놓치는 부분이 있어서 강의를 다시 재수강 할 필요를 느꼈습니다.미션을 미리미리 해두어야 차후에 페이지 제작이 수월할 것 같습니다.강의를 따라하는 것에 그치지 않고 다시 활용하는 방식으로 실습해야 할 것 같습니다.강의가 초반 기초부터 응용까지 알차게 짜여있어서 수강하는 데 어려움이 없던 것 같고일일 과제와 회차가 정해져 있어서 동기부여도 되는 것 같습니다.스터디 하시는 분들 모두 한 주 고생 많으셨고 앞으로도 화이팅입니다! ✊✊

UX/UI워밍업스터디UIUX디자인디자인시스템

cynh K

[인프런 워밍업 스터디 1기 디자인] 1주차 발자국 및 회고

피그마 베리어블을 활용한 디자인시스템 구축 1주차 회고1주차 회고를 시작하려고 합니다.스타트업에서 1인 디자이너로 일하며 디자인시스템의 필요성을 절실히 느껴 처음으로 접근해보았던 디자인시스템,현재 약 3년차 프로덕트디자이너로 실무를 경험하며 '현재 내가 가장 모르겠고 자신없는 분야는 디자인시스템이다' 라는 나만의 약점을 이젠 강점으로 상쇄하고자 신청한 스터디였습니다.업무와 병행하다보니 초반참여가 어려웠는데, 하나하나 강의 수강을 완료하고디스코드,노션,PDF 등 다양한 자료와 동기부여,피드백을 적극적으로 해주시는 볼드 멘토님과 열정적인 멘티분들을 보며할 수 있는 만큼 최대한 임하자! 하며 진행했던 것 같습니다.한 주가 지나고 느낀바가 너무 커 이 부분 개선해 2주차에 접근하고자 합니다..1주차 느낀점오전시간 활용퇴근 후 수강은 피로도가 높아 집중하기 어려웠습니다. 출근 전 오전시간을 활용해 수강하고, 퇴근 후의 시간은 추가/보완 하는 시간을 가지면 좋을 것 같아요.미루기 금지! 대비할 것예측가능한 선에서 업무와 약속을 정리하고, 강의출석을 성실하게 하고싶다는 생각이 절실했습니다. 2주차 시작에 있어 다짐스타일가이드를 재수강 후 정리하며, 내가 좋아하는 구성의 파운데이션 구성하기멘토님이 정의하신 스타일 외에 나만의 스타일도 생각하며 만들기최대한 계획적으로 임하고 싶은데 변수가 없길 바래봅니다!스타일가이드 정리하다 뭔가 이상하다 싶어 수정할게 많아졌는데 그것보다 발자국 먼저 남기러 왔습니다ㅠ!볼드님도 멘티님들도 스터디 하는 모든 분들도 한 주 고생하셨고,다음주도 화이팅입니다!

UX/UI인프런디자인시스템피그마워밍업스터디

공존

[인프런 워밍업 스터디 클럽 1기 BE] 1주차 발자국

학습 내용강의 내용네트워크IP 고유 주소HTTP와 API에 대해서HTTP는 지켜야 할 규칙. 일종의 통신을 위한 표준서로 소통하고 상호작용하기 위해 정의된 규약HTTP methodGET, POST, PUT, DELETE HTTP 응답값DBRDB데이터를 표처럼 구조화 시켜 저장하는 친구SQL표처럼 구조화된 데이터를 조회하는 언어인텔리J DB 연결 DDLDB를 정의하는 언어CREATEALTERDROPTRUNCATEDMLSQL 데이터를 조작하는 언어SELECTINSERTUPDATEDELETE Layered Architecture 3단 분리ControllerServiceRepository회고록스터디에 참여해서 꾸준히 강의를 듣게 만들어줘서 좋다. 게으른 나도 열심히 하는중!수업 자체가 기본기부터 천천히 접근하기 좋게 되어 있어서 이해하기도 쉽고 전체적으로 내용을 복습하기 좋은 수업이다!생각해보니까 포스트맨 자주 안쓰듯이 개발했는데 이번 기회에 포스트맨으로 테스트 하는 습관을 기른거같다~~! 미션이론, 실습 이렇게 돌아가면서 미션이 있는거같다.이론 부분도 어노테이션이 있어서 사용했지 어노테이션의 배경지식 같은건 깊게 생각해본적이 없는데 이참에 찾아보게 됐다. 실습 부분도 하면서 다른분들은 나랑 다르게 어떻게 진행했는지 알 수 있어서 좋았다!최근에 4일차 미션같은 경우도 요구조건에 맞게 테이블 컬럼을 어떻게 짜보면 좋을지 다시 생각해보게 된거같다.

백엔드워밍업워밍업스터디워밍업1기워밍업백엔드

이삭토스트

[인프런 워밍업 클럽 스터디1기] BE 1주차 회고록

 강의 수강 1일차 - 서버 개발을 위한 기본 환경 설정 및 네트워크 기초 기본적인 내용을 배우는 시간, HTTP 네트워크 기초에 대해서 배우고 있는 내용이 있어서 기본에 배웠던 내용들을 복습하는 시간이 되었다.2일차 - 첫 HTTP API 개발 대표적으로 GET과 POST를 나타내며 데이터를 전달하는 방법이 쿼리와 Body(JSON)으로 나뉘며 자세하게 모르고 있었던 JSON을 받는 방법에 대해서 알게 되었다.예전에 배웠던 부트캠프에서 스프링을 배우다가 dto 개념을 제대로 모르는 상태에서 프로젝트에 투입이 되었는데, request 와 response 을 활용하지 못하여 주어진 소스코드를 이해하지 못해서 구조를 어떻게 활용을 해야하나 고민했었다.그리고 다양한 파라미터와 JSON을 받아서 어떻게 컨트롤러 단에서 처리를 해야하는지 전혀 감이 잡히지 않았는데 최태현 코치님이 보여주신 구체적인 예를 통해서 막연한 안개가 걷힌 느낌이 들었다.  3일차 - 기본적인 데이터베이스 사용법 MySQL에 대해서 이론적인 부분은 배운 상태이지만 우리가 실무적인 면에서 주로 사용하는 명령어들을 통해서 MySQL을 어떻게 사용해야 할지 감을 잡게 되었다.JPA를 이론적으로는 알고 있는 상황이지만 실질적인 프로젝트에 적용해본 상태는 아니다. JPA를 JdbcTemplate대신에 사용한다는 것을 알지만, 어떤 범위에 사용하는지를 몰랐고 그 기본적인 사용법을 알고나서 이후에 있는 JPA를 어떻게 적용할지 조금 두근거리긴한다.무엇보다 백엔드는 어떤 역할을 하는지(기능, 로직, DB...) 구체적으로 체험 할 수 있게 되었다.4일차 - 데이터베이스를 만드는 API 구체적으로 jdbcTemplate를 사용하는 구간이 아닌가 싶다. DB를 사용하면서, 데이터 자체가 유효한 값을 가지는지, 정당한 요청이 오지 않아 오류를 던져준다던지(예외 처리) 확인하는 구간이다.5일차 - 클린코드의 개념과 첫 리팩토링 클린코드에 대해서 많이 들었던 기억이 있다. 이론적으로만 들었기에 어떻게 적용할지 몰랐는데, Controller에 너무 많은 역할이 존재하므로 Controller - HTTP 관련 역할 담당 , Service - 분기처리, 로직 담당, Repository - DB와 접근을 담당으로 나눈 방법을 통해서 클린코드를 구체적인 방법으로 체험하는 시간이었다. 미션1일차 - 자바 어노테이션 스프링에서 현업에 사용하시는 분들의 필요에 의해서 이미 여러개의 어노테이션이 정립이 되어있는 것으로 기억한다. 하지만 그게 어떤 원리로 작성이 되었는지는 모르고 있다. 특히 원초적인 자바 어노테이션은 더더욱 알일이 없다. 일반적인 어노테이션은 눈에 익을 만큼 자주 보이지만, 일반적인 어노테이션에서 벗어나는 특별한 어노테이션이 필요할 때는 커스텀 어노테이션을 작성한다는 것을 알게 되었다. 특히 커스텀 어노테이션을 만들어 반복작업을 줄이는 노력을 할 수 있다는 것이다.다양한 답변들을 알아보기 위해서 네이버, 구글, ChatGPT를 사용하여 여러 방면으로 데이터를 얻고자 했고, 이론적인 부분만 존재하는 것보다는 최대한 개발자에게 있어 최고의 문서인 코드를 통해서 나타내는 예시들을 골라서 정리했다.2일차 - 추가적인 API 개발 쿼리 파라미터를 받아서 JSON으로 반환하는 방법을 배우고, LocalDate를 이용하여 날짜를 받아서 getDayOfWeek()을 이용하여 날짜를 나타내는 방법을 배웠다.마지막으로는 쿼리 파라미터가 아니라 JSON 바디로 받으면서 또 List를 가지고 있는 JSON을 이용하여 API를 만드는 방법에 대해서도 배우게 되었다. 힌트로 알려 주신게 컸지만 DTO에서 List를 받아 iter로 반복하여 API가 기능하게끔 반환 할 수 있다. POST MAN의 API 테스트 툴이 정말 절실하다는 것을 느끼게 되었다.3일차 - 익명 클래스와 람다식 람다식은 함수형 프로그래밍 개념을 자바에 도입하기 위해서, 코드를 더 간결하고, 읽게 쉽게 만들고, 성능이 중요시 되는 최근 병렬 처리와 이벤트 기반 프로그래밍으로 효율적으로 대응 할 수 있다.람다식과 익명 클래스의 관계는람다식은 익명 함수를 간결하게 표기, 익명 클래스는 이름이 없는 클래스 = 주로 인터페이스 구현체 생성에 사용한다.그러므로 람다식은 익명 클래스를 대체, 코드가 더 간결해지고 가독성이 향상 된다.함수형 프로그래밍, 익명클래스, 람다식, 함수형 인터페이스, 스트림 API, 메소드 레퍼런스등 저 2개의 질문에 대해서 많은 양의 검색과 정리를 통해서 답을 도출해낼 수 있었다. 도입배경과 적용 방법 등이 있지만 무엇보다 많은 숙련도를 요구하는 방법이다보니 쉽게 접근하지 못하지만 분명 열심히 단련하면 좋은 접근 방식인 것 같다. 4일차 - 추가적인 API 개발기존 API 개발에서 발전하여 JdbcTemplate를 적용하여 API를 작성하는 과제였다.다만 단순하게 API를 작성한다면 각각의 요구에 맞게 작성을 해나가면 되겠지만, 이번 과제는 모든 요구사항을 확인하여 테이블을 작성하고나서 문제를 해결해나가는 것이 도움이 되었던 것 같다. 마치 Q&A에서 기획 -> 논의 -> 개발 단계처럼 먼저 기획을 통해서 기능을 적고, 이후 API 명세서를 만들고 DB 스키마를 만들고나서, 개발 단계로 들어가 직접 코드를 타이핑 하는 과정 처럼 말이다. 5일차 - 클린 코드과제로 주어진 코드를 코딩테스트를 준비하던 과정에서 겪었던 것 처럼, 입력을 받고 기본적인 설정을 하는 구간 / 주사위를 굴리고 카운트 하는 클래스 / 주사위가 나온 횟수를 출력하는 클래스 등으로 나눠서 명확하게 나누어 읽기 쉬운 코드를 만드는게 클린 코드를 만드는 방법일 것 같다.사실 이런 과정이 어렵지는 않았는데 코딩테스트 스터디를 준비하면서 여러 언어가 모이게 되고소통의 어려움이 있었다. 좀 더 구성을 깔끔하게 나누어 클래스로 구성하고 주석을 통해서 어떤 기능을 하는지 알려주어 소통의 어려움을 해결 했던 경험이 한 몫을 했던 것 같다.  

백엔드워밍업스터디BE1기회고록

crispin

[인프런 워밍업 스터디 클럽 0기_BE] 3주차 회고록 정리

3주차 회고벌써 스터디가 종료되었다. 배운것도 너무 많고, 배워야 할것도 너무 많지만 확실한건 3주전의 나와 비교해 배운게 많다는것다른 미션들도 재미있고, 많이 배웠지만 미니 프로젝트 미션은 정말 많은걸 배울 수 있었다.다른 5분의 스터디원분들과 서로 코드리뷰를 하며 미니프로젝트를 진행했는데, 코멘트 하나하나 너무 많은걸 배울 수 있었어서 하길 잘했다는 생각이 든다.3주차 미션day11 ~ 15미션다양한 요구사항이 있는 미니 프로젝트를 진행했다.난이도가 조금은 쉬운듯 해서, 고민을 최대한 많이 하면서 다양한 방법을 시도하며 프로젝트를 진행했다TDD 를 적용하고, 각 레이어간의 추상화와 좋은 설계 등등 코드를 한줄 작성할때도 최대한 의미있는 코드를 작성하려 노력했다.4단계까지 있는 미션을 모두 진행하지는 못했다. 생각외로 TDD 가 정말 어려웠다. TDD 로 개발을 한다고 작정을 하고 개발을 진행해도 중간중간 기존 개발 습관들이 나와서 어려움이 많았다. 그러다 보니 하루에 5시간 이상을 프로젝트에 매달렸는데 2단계 미션까지 밖에 진행하지 못했다.다만, 다음주 수료식 전 까지 미션을 진행하고 다른 동료분들과 코드 리뷰를 함께 하기로 해서 다행이다.스터디 회고이 스터디를 참여할지 고민하는 분들에게 만약 다음 기수 스터디가 열린다면 무조건 참여하라고 말해주고 싶다.쉬도때도 없이 많은 질문들을 빠르게 답변해주고 많은걸 알려주시려는 코치님과 성장하고자 많은걸 배우고 공유하려하는 스터디 원 분들 등등 좋았던게 너무 많다.또 우리가 함께 만들어가는 스터디라는 취지 답게 스터디 안에서도 다양한것들을 시도해 볼 수 있어 좋았다.다른분들과 일주일 넘게 코드리뷰를 하면서, 정말정말 많은걸 배울 수 있었다.앞으로도 이런 기회가 많이 생겨 더 많은걸 배울 수 있었으면 좋겠다. 

백엔드워밍업스터디0기백엔드회고발자국

crispin

[인프런 워밍업 스터디 클럽 0기_BE] 2주차 회고록 정리

2주차 회고시간이 엄청 빠르게 지나간다.하루에 최소 4시간씩 짬짬이 공부를하고 있는데, 강의보고 미션 해결하고 4시간이 부족할때가 많다.마침 TDD 스터디를 병행하고 있어, 미니프로젝트를 TDD 로 구현을 해봤는데 매우매우 어렵다.2주차 미션Day06강의19 ~ 22강스프링 컨테이너에 대해 학습했다.미션4일차 미션에서 작성한 코드를 Controller - Service - Repository 로 분리를 진행했다.분리를 진행하면서, 새로운 Repository 가 만들어졌는데, 어떤 Repository 를 빈으로 등록하여 사용할지 지정할 수 있는@Primary 어노테이션과 @Qualifier 어노테이션을 학습하고 적용시켜봤다.6일차 미션 정리Day07강의23 ~ 26강Spring Data JPA 활용 법에 대해 학습했다.미션6일차 과제에 JPA 를 적용시켜 보자.JDBC 를 활용하여, DB 에 저장하고 조회하는 작업을 JPA 를 적용시켜 작업하도록 변경하였는데 매우매우 편리했다.JPA 는 확실히 배워야하는게 매우 많지만, 사용하는데 있어서는 매우 편리한것 같다.사용이 편리하다고 깊게 공부하지않고 막 사용하다보면 문제가 팡팡 터질수 있기 때문에 JPA 관련해서는 꼭 깊게 공부해봐야겠다.7일차 미션 정리  Day08 ~ 10강의23 ~ 32강JPA 에 대해 좀 더 깊은 학습을 진행했다.미션드디어 미니프로젝트 미션에 들어갔다.1단계 미션을 수행하는데 생각보다 시간이 너무 많이 들어갔다. 원래 목표는 2단계 미션은 끝내려고 했는데 1단계 미션밖에 끝내지 못했다.구현 내용이 그리 어렵지 않아, TDD 를 활용하여 개발을 진행하고 있는데 기존에 개발하던 방식과는 너무 많은 점 이 달라 오래걸리는것 같다. TDD 는 진짜 생각보다 도 더 어렵다. 개발을 하다보면 나도모르게 기존 방식대로 개발을 하고 있다.미니프로젝트 1단계 미션 정리정리이번주 예상했던 만큼 진도가 나가지는 않았지만, 배우고 새로운걸 적용시켜 볼 수 있어 너무 좋았다.좀 더 집중하고, 계획된 만큼 프로젝트를 진행하는 습관을 만들어가야겠다.

백엔드워밍업스터디0기백엔드회고발자국

crispin

[인프런 워밍업 스터디 클럽 0기_BE] 1주차 회고록 정리

신청이유어느덧 워밍업 스터디를 시작한지 일주일이 지났다.현업에서 이미 백엔드 개발자로 일하고 있는 사람이 워밍업 스터디 를 참여하는지 의문이 들 수도 있지만,충분히 참여할 가치가 있다고 생각했다. 나는 지방에 거주하며 좋은 개발자로 성장하기 위해여러 고민들이 많았는데, 이번 기회를 통해 함께 성장할 좋은 동료도 만날 수 있을거란 생각도 했고,내 수준이 어느정도에 있는지 궁금하기도 하여, 신청하게 되었다.1주차 미션들day01강의1~5 강스프링 프로젝트를 생성하는 방법과 네트워크 기초에 대해 강의를 통해 학습할 수 있었다.이미 알고 있는 내용이였지만, 다시한번 복습할 수 있는 좋은 계기가 되었다.미션어노테이션 기술의 등장과 커스텀 어노테이션을 어떻게 만들어 사용해야 하는지 미션을 통해 학습할 수 있었다.평소 별 생각 없이 사용하던 기술에 대해 등장 배경과 원리를 좀 더 깊게 공부 할 수 있는 기회가 되어 많은 도움이 되었다.1일차 미션 정리day02강의6~10강스프링을 사용하여, 기본적인 API 를 방법에 대해 학습하였고, 기본적인 유저 생성, 조회 미션API 요청을 통해 간단한 동작을 진행 한 후 응답값을 반환하는 미션을 통해 GET, POST API 를 만드는데 익숙해지고동작 원리에 대해 학습 할 수 있다. 평소 별 생각없이 스프링에서 사용하던 것들이 우리가 개발을 편리하게 할 수 있도록 많은 작업을 해준다는걸 알 수 있었다. 어떤 기술을 사용할때 내부적으로 동작하는 원리를 얼마나 깊게 학습해야하는지 늘 고민이 많았는데 가끔은 내가 사용하는 기술에 대해 딮다이브 해보는것도 좋은 경험이 될 수 있다는걸 몸소 느낄수 있었다.2일차 미션 정리Day03강의11~13강기초적인 데이터베이스 사용법에 학습하였다.미션Java8 에서 적용된 기술인 람다식에 대해 깊게 학습할 수 있는 미션이 주어졌다.왜 람다식이라는 기술이 자바에 적용되었는지 다영한 키워드를 통해 학습 할 수 있었다. 자바는 오래된 언어이지만 이런 다양한 기술의 적용이 있기에 지금도 널리 쓰일 수 있는 언어가 된게 아닐까? 라는 생각이 들었다. 한편으로는 지금은 내가 자바를 사용하고 있지만, 어느순간 자바가 도태되어 사용하지 않는 언어가 되었을때 나는 어떻게 해야할까? 라는 생각을 하기도 했다.어느하나의 기술과 언어에 종속되지 않는 개발자가 되기 위해 항상 넓은 시야를 갖을 수 있도록 노력해야겠다.3일차 미션 정리Day04강의14~16강스프링에서 데이터베이스에 접근하여, 활용하는 방법에 대해 학습했다.평소 JPA 는 많이 사용해 봤지만 JDBC 기술은 많이 사용해보지 않았는데 사용해 볼 수 있어 좋았다.미션과일 정보를 데이터베이스에 저장하고, 조회, 수정하는 로직을 갖는 API 를 만들었다.NamedParameterJdbcTemplate 기술을 학습하고, 사용해 볼 수 있었다. 생각 이상으로 사용하는 로직이 복잡하여 JPA 가 정말 대단한 기술 이라는걸 다시한번 느낄 수 있었다. JPA 역시 내부적으로는 JDBC 를 사용하겠지만 사용하는 입장에서는 정말 편리하게 사용할 수 있게끔 만들어진 기술이라는게 참 놀랐다.(물론 사용하는 난이도에 비해 학습 난이도가 매우 높지만)4일차 미션 정리Day05강의17~18강API 를 레이어별로 나누어 작업하는 방식에 대해 학습했다. 이전 미션에서 부터 이미 레이어별로 로직을 나눠 개발을 진행했기 때문에 크게 어려운 점은 없었다.미션최대한 클린하지 않게 작성된 코드를 바탕으로 리펙토링을 진행하는 미션이 주어졌다.하나의 메서드안에 모든 로직이 작성되어 있고, if~else 분기문이 매우 많아 읽기 쉽지 않은 코드였는데, 역할에 따라 객체로 나누고 기능별로 메서드를 분리하는 작업을 바탕으로 리펙토링을 진행했다.미션 진행 후 스터디원분들의 코드도 많이 찾아봤는데, 각자의 방식과 근거로 리펙토링을 진행한 모습이 매우 인상적이였다.개발에는 정답이 없다는게 한편으로는 참 어렵고, 힘들때도 있지만 흥미로울때도 많다.5일차 미션 정리정리이번주 미션은 크게 어려움이 없이 진행할 수 있었다. 미션을 진행 하고 좀 더 깊게 공부하는 방식으로 진행하였는데 어떤 기술을 깊게 공부한다는건 쉽지 않은것 같다.하나를 학습 할때도 좀 더 깊고, 정확하게 학습할 수 있도록 노력해야겠다. 이것저것 공부할께 많다고 부랴부랴 공부하는 습관을 고쳐야겠다. 

백엔드워밍업스터디0기스터디회고발자국

망그리

[인프런 워밍업 클럽] 1일차 과제

진도표 1일차와 연결됩니다우리는 최초로 API를 만들어 보았습니다. GET API를 만들기 위해 사용했던 어노테이션에 익숙하지 않다면 자바 어노테이션에 대해서 몇 가지 블로그 글을 찾아보세요! 다음 질문을 생각하며 공부해보면 좋습니다! 😊[질문]어노테이션을 사용하는 이유 (효과) 는 무엇일까?나만의 어노테이션은 어떻게 만들 수 있을까?> 어노테이션을 사용하는 이유(효과) 는 무엇일까?어노테이션이란, @로 시작하는 코드이고어떤 용도로 사용할지, 어떤 역할을 부여할지 결정한다.  어노테이션의 장점은간결하다로직을 방해하지 않는다.정보를 제공한다. 어노테이션은 자식 클래스에 여러개의 메소드가 정의되어 있을 때 사용한다.그리고 컴파일러에게 문법 체크를 하도록 알려주는 기능이 있어서 컴파일 하기 전에 컴파일러가 이러한 사항을 체크해주며,프로그램 작성을 위해 매번 많은 설정을 해야하며, 수 많은 설정 파일들을 관리해야했지만 이 문제점을 해결하기 위해 고안된 문법이 어노테이션이라고 한다. 그래서 사용하는 이유는 쉽게 파악할 수 있게 되는 점과 오류 감소라고 생각한다.   > 나만의 어노테이션은 어떻게 만들 수 있을까? 어노테이션 유형 package com.xxx.xxx; public @interface TODO{ String value(); }  package com.group.libraryapp.controller.calculator; import com.group.libraryapp.controller.dto.calculator.request.CalculatorAddRequest; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class CalculatorController { @GetMapping("/add") // GET /add public int addTwoNumbers(CalculatorAddRequest request) { return request.getNumber1() * request.getNumber2(); } }  수강하면서 배운 계산기 어노테이션 +가 아니라 *나 /로도 실행해보았다. 

백엔드워밍업스터디백엔드자바JAVA