전체 글
커뮤니케이션의 중요성을 다시끔 생각하게 되는 썰
갑자기 개발과는 전혀 상관없는 친구가 연락와서 "너 우분투랑 RAID 아나?" 라고 물었다. 당연히 알고 있다고 하니 "RAID 구성한 것 같은데 확인하는 방법을 알고 있나?"라고 묻길래 당황했다. 나는 이론적 지식만 알고 있지 실제 구성과 확인하는 방법은 전혀 몰랐기에 구글 검색하면 다 나온다고 했다. 이 친구도 머리 좋고 빠릿하기에 검색해서 cat /proc/mdstat 쳤는데 전혀 나오지 않아서 연락했다고 한다. 나도 왜 없는지 이해가 안되었고 친구도 급했기에 혼자 알아보겠다면서 전화를 끊었다. 몇 분뒤... "해당 프로그램 깔아주는 회사에 연락해보니까 RAID 구성한 적이 없대..... RAID 구성을 안했으니 명령어를 쳐도 안나오지... 커뮤니케이션이 잘 안되어서 헛고생했다" 이 말을 듣고 진짜..
웹 개발할 때 자주 보이는 HTTP 너 누구냐?
웹 성능 최적화의 여러 방법 중 프로토콜 최적화를 하기 위해서는 HTTP를 알아야합니다. 그럼 HTTP가 무엇인지 알아봅시다! 🚀 HTTP란? Hypertext Transfer Protocol의 약어 웹 상에서 정보를 주고받을 수 있는 프로토콜 웹은 HTTP 프로토콜을 통해 전달되므로 HTTP 성능을 개선하면 웹 성능도 향상 기본적으로 HTTP는 애플리케이션 계층으로써 웹 서비스 통신에 사용 🚀 HTTP/0.9 1991년 등장 초기 HTTP에는 버전 정보가 따로 없었지만 구분을 위해 0.9버전이라 이름을 붙임 웹 콘텐츠를 요청하는 GET 메소드만 존재 HTML만 읽을 수 있을 뿐 클라이언트의 정보를 서버에 전달할 방법은 없었음 전달 받는 콘텐츠 중 텍스트만 읽기 가능 웹을 통해 정보를 전달하는 월드 와이..
해시(hash) 넌 누구냐?
최근 CS 학습을 하다보니 해시가 많이 보였습니다. DB 조인 알고리즘에서의 해시 조인(Hash Join) Java의 HashMap Java의 hashcode() 자료구조의 해시 테이블(Hash Table) C++에서 정렬을 보장하지 않고 해시 테이블을 구현할 때 쓰는 unordered_map 암호화 해시 함수 ... 🤔 도대체 해시는 어떤 것이길래 이렇게 많이 보이는 걸까요? 🚀 해시 넌 누구냐? 해시 함수(Hash Function)라고도 불림 임의의 길이를 갖는 임의의 데이터를 고정된 길이의 데이터로 매핑하는 단방향 함수 즉, 아무리 큰 숫자를 넣더라도 정해진 크기의 숫자가 나오는 함수 단방향 함수이기에 출력된 값을 통해 입력값을 알 수 없음 입력된 값이 조금만 변해도 결과가 크게 달라지는 특성을 가..
웹 개발자가 생각해야하는 웹 성능 최적화
웹 사이트 속도는 매우 중요합니다. 느린 페이지에 접속하면 나가서 다른 페이지를 찾아보듯이 사용자 경험은 영향력이 매우 큽니다. 이번에 현대백화점이 더 현대로 바뀌어서 가보았는데 사용자(고객)가 걷기 편하고 인테리어도 고급스러우면서도 심플하게 디자인해서 "와 UI/UX 장난아니다"라고 생각했습니다. (진짜 개발자스럽다) 옛날엔 공간을 활용해서 매장을 입점했다면? 지금은 사용자에게 어떤 경험과 즐거움을 주는지가 중요해짐 더 현대 대구에서는 한 층 전체를 카페로 만든 초대형 카페가 있는데 전체가 잘 어울리면서 걷기도 편한게 개발자에겐 영감을 주는 공간이 아닐까 싶습니다. 옛날같으면 상상도 하지 못할 일을 지금은 하고 있습니다. IT로 표현하자면 기술 상향 표준화로 인해 사용자에게 기분 좋은 경험을 주는 것을..
QueryDSL과 1차 캐시 의문점
QueryDSL이 무엇인지 궁금하시다면 아래 더보기를 눌려주세요. 더보기 QueryDSL이란? 오픈소스 프로젝트로 JPQL을 Java 코드로 작성할 수 있게 해주는 라이브러이다. 왜 사용하는가? Spring Data JPA를 사용하여 CRUD 및 여러 쿼리 메서드 기능을 사용하더라도 결국 커스텀한 쿼리가 필요하게 된다. 이 때 JPQL을 사용하게 되는데 복잡한 로직의 경우 쿼리 문자열이 상당히 길어져서 매우 복잡해진다. JPQL을 잘못작성하더라도 해당 쿼리를 실행하게 되는 코드가 클라이언트(사용자)에 의해서 사용되지 않으면 알 수가 없다. 이러한 문제점을 해결해주고 여러 편의성을 제공한다. JPA를 사용할 때 동적 쿼리와 복잡한 쿼리 문제 해결 가능 쿼리를 문자가 아닌 자바 코드로 작성 가능 문법 오류를..
창업아이디어 경진대회 동상을 받으면서
창업아이디어 경진대회에서 무수한 팀들 중에서 15팀 안으로 선정이 되었다고 한다. 너무 기쁘고 좋았다. 이 날 캔맥주를 마시고 PPT 발표자료를 계속 만들었다. 이 것말고도 여러 일들이 있기에 이번주까지 잠도 제대로 못자고 살다가 이번에 동상을 받는다는 결과가 나와서 드디어 회고록을 작성한다. 수상은 대상, 금상, 은상, 동상, 장려상이 있었는데 아쉽게 동상을 받게 되었다. 나도 참여했던 캡스톤 디자인 프로젝트를 다른 팀원이 냈었는데 은상을 받았다. 내 개인 아이디어는 동상인데 그것은 은상이라니... 결국 상은 두개 받았다^^. 나는 가끔씩 창업 할 게 없나 생각하면서 여러 아이디어를 기록해두었는데 그 중 하나가 마음에 들어서 기획안을 내었다. 다른 대학 교수님 2분을 포함한 평가위원님 4분을 앞에두고 ..
첫 팀 프로젝트, 캡스톤 디자인
👨💻 올해 첫 팀프로젝트 학교에서 캡스톤 디자인(졸업 작품)으로 첫 팀프로젝트를 하게 되었습니다. 처음에는 6명이 모였지만 마지막에는 5명으로 끝냈습니다. 한 분은 소통이 잘 안되고 개발 시작 후 학교도 잘 안나와서 결국 그 분에게 맡긴 분야는 다른 분들이 나눠서 가지게 되었습니다. 그래도 우여곡절 끝에 잘 마무리하여 다행입니다. 언어와 기술을 학습과 동시에 사용한다는 것은 많은 노력과 시간이 필요하지만 어떠한 부분에서는 간단한 것도 많았습니다. 공식문서의 위대함도 알았으며 잘 정리된 문서는 가독성이 있어서 빠른 이해와 개발을 할 수 있었습니다. 개발하면서 생기는 에러들과 다양한 프로젝트에서 만날수 있는 공통적인 경험들이 쌓이면서 빠른 대처도 가능해졌습니다. 역시 경험은 무시할수 없네요. 또한 학습하고..
[스터디] 자바를 가르치다
🚀 자바 스터디를 하게 된 이유 교수님께서 한달동안 매주 토요일에 만나서 "자바로 게시판을 만들 정도로 가르치면 된다"라는 제안으로 나는 개발을 처음 접하는 2명에게 자바를 가르치기 시작했다. 나도 시간이 많이 없기에 2~4시간으로 가르치는 걸로 했는데, 이러면 최소 8시간만에 자바 + 스프링을 가르쳐야 한다. 당연히 불가능하기 때문에 개인의 노력이 필수임을 강조했었다. 🚀 나는 어떤 사람인가? 3년제 전문대 컴공 졸업예정자 학점 4.1의 준수한(?) 성적 학교 수업 외 꾸준한 개인 학습 (e.g. 인강, 독서, 테코톡) 개발이 재밌어서 일단 다 접해보고 싶은 마음가짐 이처럼 개발에 대한 끊임없는 재미와 현재에 머무르지 않으려는 노력을 갖춘 0년차 개발자라 볼 수 있다. 개발이 재밌어서 여러가지 맛보다가..