[우테코] 6편 : 8기 프리코스 오픈미션 웨비나
·
✍🏻 회고/우테코
이번 우아한테크코스 8기 프리코스부터는 4, 5주차 미션이 '오픈 미션'으로 진행되는데요? 기존과 다른 방식으로 진행되는 만큼, 웨비나에 참석해서 오픈미션에 대한 이해를 돕고자 했습니다! 이 포스팅에서는 해당 웨비나에서 언급된 부분들을 정리해보려고 합니다! 시작하기 전에 부탁드리고 싶은 점: 해당 내용들은 필자가 작성하면서 든 생각이 개입된 부분들이 있기에, 추후 올라올 명확한 공지를 참고해주세요! | 오픈 미션을 하는 목적은?기존까지는 서류, 프리코스를 기반으로 선발을 진행해왔다. 그렇다보니, 프리코스에서 열심히 참여하더라도, 우테코를 지원하기 전까지의 삶이 어땠냐에 따라서 합격 당락이 결정되는 경우가 많았다. 그래서 우테코와 함께 하고 성장할 잠재력을 가진 분들을 발굴하고 더 넓은 기회를 주고자 ..
[우테코] 5편 : 3주차 프리코스 회고 (작성중)
·
✍🏻 회고/우테코
1. 서론안녕하세요! 팡일입니다. 2주차 미션을 마무리 지은지가 얼마 전 같은데, 벌써 3주차도 끝을 향해 가게 되었네요! 이번 3주차 프리코스는 어떤 미션이 출제되었고, 미션을 수행하면서 마주했던 새로운 스토리들을 기록하고 공유해보려고 합니다. | 로또 - 문제 설명이번 과제에서도 안내 사항은 기능 요구 사항, 입출력 요구 사항, 프로그래밍 요구 사항 크게 3가지로 분류되었습니다. 1) 기능 요구 사항(1) 문제 설명 2) 입출력 요구 사항(1) 입력(2) 출력(3) 실행 결과 예시 3) 프로그래밍 요구 사항(1) 기본(2) 추가(3) 라이브러리 | 2주차를 통해 배운 점 Review아래의 내용은 지난 2주차 미션 회고를 통해서 개선하고자 했던 목록입니다. 1) Commit 방식 개선: 단순한 커밋 ..
테스트보다 구현이 먼저,,? - 로또 발매기 프로젝트에서 배운 TDD의 전환점
·
💻 개발/📒 JavaScript
| 도입로또 발매기 미션은 제게 단순한 과제가 아니라, “테스트를 진짜로 써야 하는 이유”를 깨닫게 한 계기였습니다. 그전까진 테스트를 코드가 완성된 뒤 “돌려보는 확인용” 정도로만 생각했습니다. 하지만 이번 프로젝트에서는 Jest를 활용해 테스트를 먼저 작성하고, 그에 맞춰 구현을 완성하는 TDD(Test-Driven Development) 방식을 처음으로 진지하게 시도했습니다. “테스트보다 구현이 더 익숙한 나”에게 이 방식은 꽤 낯설었지만, 점점 테스트가 ‘제약’이 아니라 ‘설계 도구’가 되어가는 경험을 했습니다. | 시행착오: 실패의 시작은 ‘테스트하기 어려운 코드’TDD를 시도하기 전까지는 늘 이렇게 생각했습니다.“일단 기능부터 완성하고, 나중에 테스트를 붙이자.” 그게 더 효율적인 방법이라..
하나의 클래스가 너무 많은 일을 할 때 — LottoMachine 리팩토링 이야기
·
💻 개발/📒 JavaScript
| 도입우테코 3주차 미션이었떤 로또 발매기 프로젝트의 리팩토링을 진행하면서 가장 크게 부딪힌 문제는 LottoMachine이 모든 일을 혼자 하고 있었다는 점이었습니다. 로또 번호 생성부터 당첨 매칭, 결과 통계 계산, 수익률 산출까지 — 모든 책임이 단일 클래스 안에 얽혀 있었죠. 처음엔 “한 곳에서 다 관리하면 편하지 않을까?” 싶었지만, 프로젝트가 커질수록 테스트가 불가능하고, 유지보수가 어려운 거대 클래스로 변해갔습니다. 이후 “진짜 객체지향적인 구조란 무엇일까?”라는 질문을 던지며, 리팩토링을 시작했습니다. | 문제 상황: 거대해진 LottoMachine리팩토링 이전의 LottoMachine은 요약해서 가져왔을때, 다음과 같은 형태였습니다.class LottoMachine { #purchas..
[미술의 이해] 13편 : 인상주의
·
🏫 한동대학교/미술의 이해
| 인상주의 : '속도'미술에서 언급하는 '인상주의'에서 '인상'은 우리가 흔히 '인상이 좋네요'라고 할 때의 '인상'과 같은 의미이다. 그렇다면, 왜 '인상'이라는 말이 붙여졌을까? 인상이라는 것은 무언가를 볼 때 받아 들여지는 느낌을 의미한다. 대표적으로는 첫인상이 있다. 인상이라는 것은 결정되기까지의 시간이 굉장히 짧은 특징이 있다. 즉, 인상주의의 핵심은 '속도'이다. 인상은 순간적으로 찰나적이고 즉각적인 감각이며, 인상주의는 그 순간성, 인식성을 표현하고 싶어한다. 고정되어 있던 고전주의에 비해서 인상주의부터는 감각의 속도가 상당히 빨라지게 된다. 세계를 고정적으로 시켜놓고 움직임을 제거하는 원근법과는 다르며, 움직이는 것을 찾고 싶어하며 변화를 받아들이는, 조금 더 거창하게 보았을 때 세계관이..
[우테코] 4편 : 2주차 프리코스 회고
·
✍🏻 회고/우테코
1. 서론안녕하세요! 팡일입니다. 1주차 미션을 마무리 짓고, 팀원들과 스터디를 진행한 게 얼마 전 같은데, 벌써 2주차 프리코스 회고를 작성하게 되었습니다. 2주차 프리코스는 어떤 미션이 출제 되었고, 미션을 수행하면서 마주했던 새로운 스토리들을 기록하고 공유해보려고 합니다. | 자동차 경주 게임 - 문제 설명이번 과제에서도 안내 사항은 기능 요구 사항, 입출력 요구 사항, 프로그래밍 요구사항 크게 3가지로 분류되었습니다. 1) 기능 요구 사항(1) 문제 설명: 초간단 자동차 경주 게임을 구현한다. 사용자는 자동차 이름을 쉼표(,)를 기준으로 입력한다. 이름은 5글자 이하만 가능하다. 사용자는 몇 번의 이동을 할 것인지 입력한다. 주어진 횟수 동안 n대의 자동차는 전진 또는 멈..
[미술의 이해] 12편 : 현대미술
·
🏫 한동대학교/미술의 이해
현대 문명이 시작되면서 과거와 다른 새로운 것들이 생겨나게 되었다. 과거의 경우 초점이 과거를 향해 있었지만, 현대 문명이 시작되면서 부터는 초점이 미래로 향하게 되었다. 바로 19세기부터 시작되었고, 서양에서는 이 시점을 현대 미술의 시작점이라고 본다. | 러다이트 운동 WIRED 잡지에서는 GM 사의 생산라인 노동자들이 시위를 벌이고 있다는 소식을 전하고 있다. 당시 배경을 살펴보면, 새로 부임한 CEO는 노동자에서 시작해서 CEO의 자리까지 가게 되었는데, 새로 부임해서 해야 하는 일이 바로 '구조조정'이었다. 내연 기관 자동차에서 전기 자동차로 패러다임이 바뀌는 상황 속에서 자기 동교를 해고해야 하는 상황에 처하게 되었다. 그로 인해 생산라인 노동자들이 시위를 벌이게 된 것이었다. 이러한 시위는 ..
MVC 패턴 완전 정복: 왜, 어떻게, 그리고 어디까지 나눠야 하는가
·
💻 개발/※ 참고 지식
| 서론우아한테크코스 8기 프리코스에 2주차 미션을 하면서 문득, “코드는 돌아가는데... 뭔가 찜찜하다.” 라는 생각에 사로 잡히게 되었다. 기능은 잘 작동하지만, 코드를 들여다보면 마음 한켠이 불편한 순간이었다. 바로, 코드의 구조가 명확하지 않았고, 파일 및 폴더 구조에 대한 의문점이 계속 남아 있었다. 그래서 오늘은 이러한 문제를 해결하고자 MVC 패턴에 대해서 정리해보려고 한다. | MVC는 왜 생겼을까? — “스파게티 코드의 시대” 먼저, MVC 패턴은 왜 생기게 되었는지를 정리해보고 싶었다. 그래야 내가 체감했던 점이 더욱 와닿을 수 있을 것이라 생각했다. 프로그래밍의 초창기에는 입력받고, 계산하고, 출력하는 구조로, 프로그램이 단순했다.하지만 기능이 많아지고, UI가 등장하면서 복잡도..
[Git] 단 한 줄 커밋에서 벗어나, 명확한 커밋 메시지 구조로 기록하기
·
💻 개발/🔸Git
| 서론우아한테크코스 8기 프리코스를 하면서, 코드 변경 사항이 발생했을 때 commit을 남기며 문득 그런 생각이 들었는데요? "이 커밋이 무엇을 바꾸었고, 왜 바꾸었는지를 기록하고 싶은데, 이걸 커밋명으로만 하기엔 한계가 있는걸,," 커밋의 Title과 Body가 구분된다는 것은 알았지만, 제대로 해본 적은 없었던 찰나, 이번 기회에 이러한 필요성을 느끼며, 커밋 방식을 한 단계 개선해 보기로 하였습니다. | 기존 방식의 한계기존에는 다음과 같은 단순한 절차로 커밋을 작성하였습니다.git add .git commit -m "커밋명"git push 이 방식의 문제는, 커밋 메시지가 한 줄로만 작성되어, 다음과 같은 정보를 한눈에 파악하기 어렵다는 점이었습니다.어떤 파일이 수정되었는지왜 수정했는지수정..
1강. 프로그래밍 언어 활용_PL(1), (2)
·
💻 개발/🗒️ 정보처리기사 -실기
해당 글은 Inflearn의 국립안동대학교 SW융합교육원에서 제작된 '정보처리기사 자격증 대비 교육(실기)' 강의 정리본임을 알립니다.참고 : https://www.inflearn.com/course/정보처리기사-자격증-대비교육-실기/dashboard 프로그래밍 언어 활용| 001 C언어와 JAVA언어의 기본문법구조1. C언어와 JAVA 언어의 개요1) C언어1972년유닉스 운영체제 개발에 사용할 목적특징논리적이고 구조적인 시스템하드웨어 제어가 가능, 프로그램 이식성 높음간략한 문법 표현으로 함축적인 프로그램 작성이 용이효율성과 유연성을 가진 저급 언어 특성을 가진 고급 언어C언어는 컴파일러형 언어이다.단계소스 파일(.c)은 컴파일러를 통해 목적 코드(.obj)로 변환된다.이후 링커(Linker)가 헤더..