전체 글

전체 글

    [우테캠pro] 프리코스 1주차 - 자바 코딩 컨벤션

    [우테캠pro] 프리코스 1주차 - 자바 코딩 컨벤션

    코딩 컨벤션이란? 💡 코드의 가독성을 높이고 작성한 코드를 효율적으로 유지 보수하기 위한 공통 규칙을 의미한다. 협업을 할때 다른 사람이 작성한 코드도 나와 같은 스타일이라면 코드를 읽고 수정하는데 드는 비용이 감소합니다. 팀 작업을 한다면 처음으로 익히는 것이 컨벤션이지 않을까 싶습니다. 프리코스에서도 처음으로 주어지는 과제에서 코딩 컨벤션, 커밋 메세지 일관성을 맞추는 것을 요구하고 있습니다. 코딩 컨벤션 기준 프리코스 숫자야구 게임에서는 네이버 캠퍼스 핵데이 코딩 컨벤션을 기준으로 합니다 주요 내용을 보면 다음과 같습니다. 새줄 문자는 LF 파일의 마지막에는 새줄 식별자에는 영문/숫자/언더스코어만 허용 한국어 발음대로의 표기 금지 클래스 이름에 명사 사용 인터페이스 이름에 명사/형용사 사용 메서드 ..

    [우테캠pro] 프리코스 1주차 - 숫자야구 리뷰

    [우테캠pro] 프리코스 1주차 - 숫자야구 리뷰

    넥스트스텝 우아한테크캠프Pro 5기 프리코스 과정을 진행하며 정리한 게시글입니다. TDD TEST CODE : 테스트 코드 PRODUCTION CODE : 실제 동작하는 코드 TDD란 TFD(Test First Development) + 리팩토링 분석, 설계 기술이기도 하다 TDD를 잘하려면 요구사항 분석 → Todo List가 잘 정리 TDD 사이클 실패하는 테스트를 구현 테스트가 성공하도록 프로덕션 코드 구현 리팩토링으로 프로덕션 코드, 테스트 코드 개선 반복 TDD 원칙 실패하는 단위테스트를 작성할 때까지 프로덕션 코드를 작성하지 않는다 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 어떻게 시작해야 할까? ..

    [우테캠pro] 프리코스 1주차 - 학습테스트

    1. String 클래스에 대한 학습 테스트 1-1 요구사항1 "1,2"을 ,로 split 했을 때 1과 2로 잘 분리되는지 확인하는 학습 테스트를 구현한다. "1"을 ,로 split 했을 때 1만을 포함하는 배열이 반환되는지에 대한 학습 테스트를 구현한다. 힌트 배열로 반환하는 값의 경우 assertj의 contains()를 활용해 반환 값이 맞는지 검증한다. 배열로 반환하는 값의 경우 assertj의 containsExactly()를 활용해 반환 값이 맞는지 검증한다. 테스트 @Test public void splitTest(){ // given String target_1 = "1,2"; String target_2 = "1"; // when String[] result_1 = target_1.sp..

    [python] 시간 중복 계산

    문제 A 직원은 09:00 출근 14:00 퇴근 B 직원은 12:00 출근 20:00 퇴근 점심 시간은 12:00-13:00 점심시간을 제외하고 A직원이나 B직원이 가게에 있었던 시간은 몇분인지 구하시오. 접근 방식 자료구조 중 SET은 중복이 존재하지 않는다는 특징이 있습니다. 중복제거((A의 근무 시간 목록) + (B의 근무 시간 목록)) - (점심시간) 중복 제거 후 결과의 길이를 구하면 중복 제거된 시간을 찾아낼 수 있습니다. def get_work_time(start, end): work_min_list = [] work_range = [] bgng_dt = datetime.datetime.strptime(start, "%Y%m%d%H%M") end_dt = datetime.datetime.st..

    [Django] app 자동 추가

    Django로 개발을 진행하다보면 자연스럽게 생성한 app을 settings.py 하위에 INSTALLED_APPS 안에 등록하게 됩니다. 등록되는 앱의 수가 적다면 하나씩 등록해도 되지만 앱 개수가 많아진다면 어떤 앱이 등록되었는지 어떤 앱이 등록되지 않았는지 정리가 힘들게 됩니다. 이 문제를 해결하기 위해 프로젝트에 등록되는 앱들을 하나의 폴더에 넣고 해당 폴더 안의 모든 앱들을 자동으로 INSTALLED_APPS에 등록되도록 합니다. 프로젝트 생성 및 구조 Django-admin startproject auto_app_test 기본적으로 프로젝트 명으로 메인 폴더가 생성되고 하위에 settings.py가 존재합니다. 기본 app 생성 및 추가 cd auto_app_test python manage...

    [Django] 개발을 위한 가상 환경 세팅

    python3을 이용하여 한 가지 프로젝트만 진행한다면 전역에 패키지를 설치해도 무방하지만 프로젝트별로 사용하는 패키지 버전이나 종류가 달라지는 경우가 흔합니다. 각 프로젝트 별 가상환경을 생성하여 프로젝트별 불필요한 패키지가 설치 되지 않도록 합니다. 가상 환경을 생성하는 base python은 프로젝트별로 버전이 같아야 하므로 명시해주는 것이 좋습니다. 가상환경 생성 python3 -m venv 저는 맥OS를 사용중이라 python2, python3가 기본적으로 모두 설치되어 있어서 python3로 입력하였습니다. 생성되는 가상환경은 운영체제 별로 달라서 window에서 생성한 가상환경이 mac에서 호환되지 않는 경우도 있습니다. 가상환경 실행 *Mac source .//bin/activate *Wi..

    [Django]민첩한 개발을 위한 Django 마이그레이션 전략

    [Django]민첩한 개발을 위한 Django 마이그레이션 전략

    진행 배경 기존에 스프링 + mybatis 조합으로 웹 개발을 배운 상태로 새롭게 진행하는 프로젝트에서는 장고를 사용해야 했습니다. 장고의 orm과 마이그레이션 기능은 넘어야 할 산으로 다가왔습니다. 아직 JPA를 접하지 못한 상황에서 django ORM을 먼저 접했기 때문에 빠른 개발을 위해 복잡한 마이그레이션을 포기하고 설계 시 몇 가지 선택을 했습니다. 기존에 개발을 진행했던 단계는 요구사항 분석 -> 데이터베이스 설계 -> 코드개발 -> 테스트 -> 배포 순으로 진행 하였는데 django를 처음보고 느낀 것은 코드개발 -> 데이터 베이스 설계로 기존 개발 스텝이 꼬이는 느낌을 받았습니다. 아직 기존 개발단계를 버리지 못한 단계에서 갑자기 순서를 바꿔 진행 할 수 없었기 때문에 기존처럼 DB설계 후..

    2021 회고록

    2021 회고록

    2021년 3월 2일 첫 출근, 9개월차 개발자 첫해의 기록이다. Why 개발자? 18년 6월 캐나다로 워킹홀리데이를 떠나며 느꼇던 감정, 어디서든 나만의 일을 하고 싶다. 내가 하는 일이 아니라 내 스스로 브랜딩 되고 싶다. 2020년 코로나로 한국으로 귀국하고나서 나중에 더욱 더 여행을 다니고 싶다는 마음에 개발자를 하기로 마음먹었다. 한국에 귀국하고나서 어디든 일 할 수있는 직업을 찾다보니 색약인 나로썬 포토그래퍼는 무리.. 20살에 조금씩 해봤던 프로그래밍 경험과 친구의 추천으로 개발학원에 다니며 개발자의 길로 들어서게 된다. 학원 생활은 어땟어? 19년 6월 첫 수업을 시작해 전자정부 프레임 워크 기반으로 8개월간 교육을 수료하였다. 처음 제대로 배워보는 자바는 정감이 가지 않았고 딱딱했다.(기..

    2022. 09. 07.

    최준영 | ☎️ Contact & Channel Email | junyeong.b2n2w@gmail.com Github | https://github.com/riboooo Blog | https://ribo.dev 💁🏻 Introduction 안녕하세요! 1년 차 풀스택 개발자 최준영입니다. 새롭게 배우는 것에 즐거움을 따라 살다가, 지금은 개발에 푹 빠져 있습니다. Code나 글이나 남들이 이해하기 쉽게 쓰기 위해 노력중입니다. 맛있는 것 귀여운 것과 커피, 그리고 행복에 관심이 많습니다. 💻 Work Experience (주)오솔정보기술 기술개발팀 전력loT와 머신러닝 관련 사업 진행 및 정보시스템 구축 사업 스타트업 복무관리 시스템 고도화사업 2022.05 ~ 현재 하루 1800명이 이용하는 유연근..

    [Ahnlab] QA연수생 27기 안이음 발표

    [Ahnlab] QA연수생 27기 안이음 발표

    시간은 금이라구, 친구 Ahnlab, 판교 ( 2017.11 - 2017.12 ) 💡 QA 진행 중 동일 샘플 임에도 테스트 OS별로 로그 기록이 달라서 육안으로 비교가 어려워 로그를 비교하는 툴을 제작하여 테스팅 시간을 대폭 감소시켰다. 기술 스택 : Python 2.7 프로젝트 내용