반응형 까망 동네100 🧑💻 CI / CD 란 무엇일까? CI / CD 란? • Continuous Integration (지속적 통합) • Continuous Delivery (지속적 제공) • Continuous Deployment (지속적 배포) 규모 있는 SW 개발은 단순 기능 개발에 그치지 않고 클린코드 명목하에 리팩토링 과정을 거친다. 📌 SW 개발자에게 유지보수란? SW 개발자에게 유지보수란? SW 개발 주기에 대해 작성한적이 있습니다. 요구사항 분석(Analysis) → 설계(design) → 구현(Implementation) → 테스트(Testing) → 유지보수 ▶ 애자일과 워터폴 : 요구사항 분석 → 설계 → 구현 →. zoosso.tistory.com 결국, 소스 코드를 어떻게 관리하고 배포할지 전략을 갖추는 것이다. 요즘은 「DevOps.. 2022. 4. 11. [예시] TDD 방식으로 개발 해보기 해당 포스팅에서는 TDD 개발 방식으로 [소수 찾기] 알고리즘을 검증해 볼 것이다. 📌 TDD (Test Driven Development) 란? TDD (Test Driven Development)란? 「테스트 주도 개발」로 "테스트가 개발을 이끌어 나간다" ① [Red] 실패하는 테스트 코드 먼저 작성 ② [Green]테스트 코드를 성공시키기 위한 프로덕션 코드 작성 ③ [Black] 중복 코드 제거, 일 zoosso.tistory.com 개발환경으로 Google Test (gTest) 활용하였으며 에서는 동작 함수와 테스트 함수를 다른 파일로 분리하였지만 해당 포스팅에서는 하나의 파일에서 작업 Google Test (gTest) 실행해보기 💻 Google Test란 무엇일까? Google에서 만든 .. 2022. 4. 10. Google Test (gTest) 실행해보기 💻 Google Test란 무엇일까? Google에서 만든 C++ Test Framework • Windows / Linux 등 다양한 플랫폼 사용 가능 • xUnit 아키텍처 기반 📌 TDD (Test Driven Development) 란? TDD (Test Driven Development)란? 「테스트 주도 개발」로 "테스트가 개발을 이끌어 나간다" ① [Red] 실패하는 테스트 코드 먼저 작성 ② [Green]테스트 코드를 성공시키기 위한 프로덕션 코드 작성 ③ [Black] 중복 코드 제거, 일 zoosso.tistory.com 💻 Google Test 환경 확인 Visual Studio에서 Google Test 사용할 수 있다. Visual Studio 2017 (15.5 이상) 버전부터 공.. 2022. 4. 2. 컴파일 / 링크 / 빌드가 무엇일까? 컴파일 (Compile) 컴파일 (Compile)이란 작성된 소스코드를 컴퓨터가 이해할 수 있는 기계어(Binary Code)로 변환하는 작업 OS 종류와 프로그래밍 언어에 따라 컴파일 결과물은 다르다. 컴파일에도 여러 단계가 있다. • lexical-phase (어휘 분석 단계) → 괄호, semicolon(;) 등 • syntactic-phase (구문 분석 단계) → 함수 parameter 등 • semantic-phase (의미 분석 단계) 위 예시는 문법에는 위배되지 않기 때문에 구문 분석은 통과하지만 의미 분석 단계에서 오류로 검출된다. 이러한 작업을 해주는 프로그램을 컴파일러라고 한다. 링크 (Link) Compile로 생성된 기계어 코드만으로 바로 실행되지는 않는 편이다. 대부분의 애플리케.. 2021. 12. 4. SW 개발자에게 유지보수란? SW 개발 주기에 대해 작성한적이 있습니다. 요구사항 분석(Analysis) → 설계(design) → 구현(Implementation) → 테스트(Testing) → 유지보수 ▶ 애자일과 워터폴 애자일과 워터폴 프로젝트 수행에 있어서 개발환경, 비용, 기간, 규모, 숙련도, Risk 등 다양한 요인을 고려해서 최적의 개발 모델을 선택해야 합니다. : 요구사항 분석 → 설계 → 구현 → zoosso.tistory.com IT 업계에서 흔히 사용되는 「유지보수」 개발자라면 은연 중에 하고 있을 업무 중 하나로 "개발 이후 프로그램을 수정 보완" 하는 업무 입니다. 완벽한 개발은 쉽지 않기 때문에 배포 후에도 서비스가 안정화되기 까지 혹은 더 나은 서비스로 확장하기 위해서 "유지보수" 단계를 가집니다. • .. 2021. 11. 20. Test Engineer(TE)와 Quality Assurance(QA) 차이 SW가 보다 복잡해지는 동시에 품질이 중요해지는 만큼 검증 Coverage에 관심이 커지고 있다. 「QA」와 「TE」 목적은 "제품이 결함없이 만들어졌는지" 확인하는 불량 검사라고 볼 수 있으며,, 더 나아가 제품의 현재 진행과 사업 분야를 아우르는 분야이다. "QA == TE" 라는 인식도 있지만 「QA」와 「TE」 검증 목적과 범위에 차이가 있다 볼 수 있다. QA Engineer 품질 지표를 토대로 프로세스 개선 • 제품 품질을 보증하여 상품성을 높이는 것 • 고객이 원하는 Spec 여부 확인 • 자동화 배포 시스템 관리 Test Engineer Bug · Isseue를 찾아내고 개선 • 기능 검증을 위한 Test Case 설계 (Test Plan) • 코드 구현 (PASS, FAIL, N/T, N.. 2021. 11. 8. TDD (Test Driven Development)란? 「테스트 주도 개발」로 "테스트가 개발을 이끌어 나간다" ① [Red] 실패하는 테스트 코드 먼저 작성 ② [Green]테스트 코드를 성공시키기 위한 프로덕션 코드 작성 ③ [Black] 중복 코드 제거, 일반화 등의 리팩토링 📌 Test Engineer와 Quality Assurance 차이 Test Engineer(TE)와 Quality Assurance(QA) 차이 SW가 보다 복잡해지는 동시에 품질이 중요해지는 만큼 검증 Coverage에 관심이 커지고 있다. 「QA」와 「TE」 목적은 "제품이 결함없이 만들어졌는지" 확인하는 불량 검사라고 볼 수 있으며,, 더 나 zoosso.tistory.com TDD 프로세스 ① Test Code 작성 → Test 실패 확인 ② 구현 코드 작성 ③ 코드 실행.. 2021. 11. 6. 미들웨어(MiddleWare)란? 미들웨어 (MiddleWare) 아키텍처(Architecture) 관점에서 Client 해당하는 곳에 유지보수와 성능차원에서 필요한 서버를 모두 둘 수는 없다. 즉, 클라이언트 관리(배포 등)로 인해 비용이 많이 발생하는 문제가 있다. 미들웨어 서버 구조 Client와 DBMS사이에 미들웨어 서버를 둔다. 클라이언트 입장에서는 미들웨어 서버로 입력/출력만 신경쓰면 된다. ▶ Client → MiddleWare Server → DB Server(DBMS) ① Client는 MiddleWare Server에 요청 ② MiddleWare Server에서 주요(대부분) 로직 수행 ③ 데이터 관리가 필요한 경우 DBMS 요청 ④ 로직 결과를 Client에 전송 ⑤ Client는 해당 결과를 화면에 표시 미들웨어 .. 2021. 9. 18. UX / UI / GUI란? 개발이나 디자인 작업을 하다보면 많이 듣는 용어 UX / UI / GUI 많은 사람들이 사용하다보면 용어간 경계가 옅어지는 경우도 있지만 보통 아래와 같이 정의한다. UX (User eXperience) 사용자 경험으로 사용자 편의성을 위해서 디자인을 변경하거나 구조를 재배치 하는 것을 의미한다. e.g) 다단 구성, 광고 배치 등 UI (User Interface) 이목을 이끌거나 보다 편리하게 사용할 수 있도록 예술적(?) 디자인을 의미한다. e.g.) 메뉴 등의 버튼 모양을 디자인 하는 것. GUI (Graphic User Interface) - UI를 그시각적으로 화면에 표시한 것이다. - 상반되는 용어로 CLI (Command Line Interface)가 있다. - 리눅스 OS가 CLI 기반이.. 2021. 9. 17. 개발자가 이직하는 이유 💻 개발자가 이직하는 이유 회사에서 받는 월급만으로 내 집 마련도 쉽지 않은 요즘 현실. 그럼에도 많은 사람들이 "월급쟁이"로 하루하루를 살아가고 있으며 퇴사 혹은 이직을 하게된다. 회사 생활을 하면서 우리를 힘들게 하는 것은 어떤 것이 있을까? - 노력한 결과와 맞지 않은 보상과 평가(대우) - 매일 반복되는 업무 생활의 연속 (Mannerism, Burn out) → "내가 이러려고 회사를 나오는가?" - 누가 와도 할 수 있는 잡업을 많이 하는 경우 - 너무 높은 업무 강도 (업무량) - 팀 분위기 (업무 호흡) - 많은 경험으로 상황판단력 있는 리더 - 빠른 판단을 통해 실질적으로 행동하는 선임(선배 · 사수) - 선임과 좋은 호흡으로 성장하는 동료 · 후배 - 퇴사하고 나며 더 이상 연락할 필요.. 2021. 8. 30. 이전 1 ··· 4 5 6 7 8 9 10 다음 반응형