목록일상 (17)
설모의 기록
SOPT라는 동아리를 통해 이번 04월 11일에 naver 그린팩토리에서 열린 네이버 테크 콘서트가 열린다는 소식을 듣게 되었다. 업무와 관련된 외부교육이나 컨퍼런스를 휴가 사용없이 참석할 수 있게 해주는 회사 덕분에 (좋은 회사!!) 사전신청을 한 후에 참여할 수 있었다! 아래의 글에서 네이버 테크 콘서트를 참여한 후기를 남겨보려 한다. 이주용님 (네이버 스마트에디터 원) - 플랫폼 UI 개발 전략의 모든 것 - 플랫폼이란? 공통의 활용 요소를 바탕으로 본연의 역할도 수행하지만, 보완적인 파생 제품, 서비스를 개발할 수 있는 기반 - 초반엔 전략보단 퍼포머스 위주로 개발을 진행했다. 1. 서비스 구분없이 모든 스타일이 포함된 css 2. 여러 서비스의 요구사항을 한 css 에 합쳤기 때문에 최종 산출물..
다시 1년이 지나 회고를 쓰는 날이 오게되다니.. 2018년은 내 인생의 2막을 시작하게 된 계기가 되었다. 졸업하기도 전에 취업에 성공해 조금 더 여유로워졌으며, 그 덕에 좋아하는 사람들도 많이 만나고 여행도 많이 다닐 수 있었다. 두 번의 인턴 생활을 통해 성격도 많이 바뀌었고, 생각하는 관점도 많이 바뀌게 됐다.아래의 글에서 2018년을 정리해보았다. 카카오게임즈 퇴사나는 2017년 7월부터 카카오게임즈 스낵게임 클라이언트 개발 인턴을 시작했다. 중간에 계약 연장이 되어 총 8개월을 근무하였으며, 4학년 복학을 위해 퇴사를 하게 되었다.카카오게임즈에 근무하며 내가 많이 변했다. 게임을 좋아하지도 않던 내가 여러 게임을 만들면서 게임에 대한 인식이 많이 바뀌었다. 개발적으로는 깊게 공부해보고 싶었던 ..
우아한형제들 김민태님 & 우아한형제들 이동욱님 오늘은 현업의 두 개발자 분들이 오셔서 강연을 해주셨습니다. 그 내용을 간략하게 정리해보려고 합니다. 김민태님 먼저 강연해주신 분은 김민태 님이었습니다. 입사 전 우아한형제들에서는 직접 woowahanJS 를 개발해 사용하고 있다는 것을 알게 되었고, 이렇게 필요한 것을 직접 개발해서 사용하는 회사라는 것에 멋있다는 생각을 하며 지원했었는데.. 이것을 개발한 분이 김민태 님이었다는 것을 다시 검색해보며 알게 되었습니다. 관련 링크는 아래와 같습니다.MASCON 2017우아한형제들 기술블로그오늘 강연에서 3가지 주제 중 한가지를 선택할 기회를 주셨는데, 나머지 2개도 들어보고 싶은데 아쉬웠습니다ㅠㅠ그래도 오늘 주제를 들은 것에 너무 감사했습니다. 김민태님께서 ..
JavaScript 의 기초 오늘 배운 var, let, const 키워드와 함수에 대해 정리한 글입니다. var, let, const 를 이용한 변수 선언JavaScript 에서의 함수오늘은 CHROME 의 개발자도구 사용법과 JavaScript 의 기초 문법을 공부했습니다. JavaScript 는 매우 유연한 언어이며 컴파일러 언어가 아닌 한줄 한줄 읽어가며 실행하는 인터프리터 언어입니다. 또한 함수 단위로 Context 를 가지는 특징을 가지고 있습니다. 이 때문에 ES6 부터 let, const 키워드가 등장하기도 했습니다. 오늘 Crong 의 강의에서 배운 내용 중 Ojbect 와 Array 에 대해 정리해보겠습니다. Object클래스라는 틀을 이용해서 인스턴스를 생성하는 Java와는 달리 Ja..
AWS EC2 와 IAM & Database 오늘은 AWS 가 제공하는 서버인 EC2를 생성하는 방법과 mySQL 를 사용해 Database 쿼리를 연습하는 과정을 공부했습니다. 그 중 가장 어려웠던 개념인 데이터베이스의 인덱스에 대해 정리하겠습니다. Index?'기본키로 unique 한 숫자를 설정하면 검색할 때 빠르대~' 라는 말을 얼핏 들었었는데요. 그냥 기본키를 숫자로 설정하면 검색에 도움되는 줄 알았는데 오늘에서야 잘못된 지식이였다는 걸 알게 되었습니다 T^T😭😰 우선 인덱스는 레코드를 검색할 때 좀 더 빠르게 검색하기 위해 사용하는 것은 맞습니다. 만약 [ '스프링부트 코딩공작소' 책에서 MVC 에 대한 내용을 찾아보시오 ] 했을 때 앞에서부터 쭉 읽어보면서 찾는다면 시간이 많이 걸리겠죠? 그..
브라우저 동작 방식 오늘은 프론트엔드의 HTML 문서에 CSS 를 입히는 연습을 했습니다. 그 전에, 브라우저에 대한 기본적인 브라우저에 대한 크롱의 온라인 강의를 보는 시간을 가졌는데요. 그 동안 '브라우저' 라고 쉽게 부르던 것이 대체 무엇을 하는 건지 궁금해하다 네이버D2 블로그에서 잘 정리된 글을 읽게 되어 공유합니다.일반적으로 제 블로그인 http://hyeooona825.tistory.com/ 를 화면에 렌더링 하는 과정에서도 많은 일이 일어납니다. 먼저 HTML 을 파싱해 브라우저가 이해할 수 있는 구조로 변환하는 과정이 일어납니다. HTML 문서를 읽어가며 CSS 와 같은 자원들을 해당 서버에 요청해 얻어와 CSS 또한 파싱합니다. 파싱된 HTML 문서에 CSS 를 입혀 렌더링 엔진을 통해..
HandlerMethodArgumentResolver 인터페이스 적용 Spring 프레임워크를 이용해 API 를 관리할 때 컨트롤러에 들어오는 파라미터를 공통적으로 추가해야 하는 경우가 있습니다. 예를 들어, 로그인한 유저만 할 수 있는 기능이 많다고 생각해보자. 그러면 보통은 매번 HttpSession 에서 유저를 꺼내 체크해주는 로직이 반복될 것입니다.이럴 때 사용하는 것이 HandlerMethodArgumentResolver 인터페이스입니다. HandlerMethodArgumentResolver 는 컨트롤러에 사용자의 요청이 도달하기 전에 요청에 대한 파라미터를 수정해 넘길 수 있습니다. 아래의 예제로 살펴보겠습니다. 우선 @LoginUser 라는 인터페이스를 구현하겠습니다.import java.l..
한명수 이사님, 김영한 팀장님의 강의,그리고 회고 오늘 오전에는 캠프에 참여하기 이전부터 정말 뵙고 싶었던 한명수 이사님과 김영한 팀장님의 강의를 들을 수 있었습니다. 아쉽게도 김영한 팀장님의 강의 모습은 찍지 못했습니다ㅠㅠ😰 한명수 이사님의 강의에서 가장 인상 깊었던 말은내가 하는 것들에 대해 나만의 정의를 할 줄 알아야 한다.입니다. 면접에서 받았던 "어떤 개발자가 되고 싶으세요?" 라는 질문이 떠오르던 순간이었습니다. 앞으로도 그냥 돈을 벌기 위해 회사를 다니며 일을 하는게 아니라 내가 발전하고, 레벨업하고 싶어서 공부하고 실무를 한다는 것을 잊지 말아야겠다는 생각이 들었습니다. 또한 이사님께서는 그냥 새로운 것을 하고 안했던 것을 하는게 창의적인 것이 아니라, 우리가 왜 이것을 해야 하고, 하고 ..
Git : Version Control System 동료와 협업을 하다보면 동료의 코드와 제 코드를 합쳐야 할 경우가 생깁니다. VCS 가 없었을 때는 파일이나 프로젝트를 압축해 동료와 코드를 직접 비교해가며 합쳤습니다. 이것은 굉장히 비효율적인 일이었고, 실수로 오타를 내거나 코드를 합치지 못할 경우가 생길 수도 있습니다. 그래서 나타난 것이 VCS인데요. Git 이전에는 SVN 이라는 버전 관리 시스템이 있었습니다. SVN은 현재에도 많이 쓰이는 버전 관리 시스템으로 장단점이 있습니다.Git - Git 은 DVCS (Distributed Version Control System: 분산 버전 관리 시스템) 입니다. 서버의 원격 저장소를 내 컴퓨터의 로컬 저장소로 복제해와서 나만의 commit histo..
Spring @Entity 간의 관계 + 프론트엔드 코드 구성 오늘은 어제 구현했던 게시판을 좀 더 리팩토링하는 시간을 가졌습니다. 친구들과 프로젝트를 하다보면 데이터베이스 테이블끼리 서로 Join 해야 하는 것에 항상 고민을 많이 했었는데요. ORM 표준인 JPA 를 사용하다보니 이런 고민을 많이 안할 수 있다는 것에 놀라웠습니다. 이번 글에서는 캠프 동기와 함께 예외 처리에 대해 고민한 부분과 ManyToOne 관계인 테이블 처리에 대해 말씀드리겠습니다. 그리고 서버에게 비동기적으로 요청하거나 서버가 보내는 데이터를 받아 비동기적으로 처리하는 클라이언트 코드에 대해 알아보겠습니다. 예외처리우아한테크캠프에 참여하지 못했다면 깨닫지 못했을 예외처리에 대해 말씀드리겠습니다. 이전에는 예외처리를 try-ca..