본문 바로가기

728x90

2024/09

(17)
[Review] 이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접 "한빛미디어  활동을 위해서 책을 제공받아 작성된 서평입니다."  Referencechttps://www.hanbit.co.kr/store/books/look.php?p_code=B3079890360 이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접기술 면접과 실무에 필요한 CS 지식, 한 권으로 끝내자!www.hanbit.co.kr 2014년, C 프로그래밍이 전공 필수에 있기에 수강한 기억이 난다. 해당 강의를 들으면서 컴퓨터에 대한 이해도가 많이 부족하단 생각이 들곤 했다. 부족한 건 어떻게든 메꿔보고자 근처 서점에 들러 “컴퓨터 입문”이라는 주제를 가진 책을 구매했다. 입문 서적이기에 컴퓨터는 어떻게 생겨먹은 기계인지에 대해 여러 개념들을 다루는 책이었다. 그 책을 읽으면서 컴퓨터를 다..
Github Action에서 Selenium 실행시키기 목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스1. 개요Oauth 재연을 실행시키는 시점은 아마 Github를 통해서 가능해야 할 것입니다. 결론적으로는 Oauth를 재연하려면 Redirect 서버가 필요한데 이를 Github에서 처리할 수 있는 방법은 찾지 못했습니다.https://jakpentest.tistory.com/entry/Obsidian-Github-Github-action을-활용한-티스토리-업로드-자동화 근래에 Obsidian으로 MarkDown을 편집하면 Tistory에 자동으로 포스팅 할 수 있는 시스템을 간략히 만들었습니다. 이 과정에서 Tistory에 글을 업로드 하려면 “Oauth 인증”을 거쳐야헀고 이를 Github Action을 통해 해결할 ..
[자바/스프링 개발자를 위한 실용주의 프로그래밍][chapter08] : 레이어드 아키텍처를 사용할 때 유념해야하는 것 목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 개요일반적인 개발자들이 생각하는 레이어드 아키텍처란 무엇이며, 그로 인해 발생하는 문제점을 살펴본다. 8.1 레이어드 아키텍처의 최소 조건: 레이어드 아키텍처란?레이어드 아키텍처는 애플리케이션을 레이어로 나누고 각 레이어에 역할을 정한다.대표적인 레이어에는 프레젠테이션, 비즈니스, 인프라스터럭처와 같은 레이어가 있다. : 한 가지 유념해야할 사실레이어드 아키텍처를 만든 사람은 존재하지 않는다.레이어드 아키텍처는 누군가의 철학에 의해 만들어진 아키텍처가 아니다.레이어드 아키텍처는 여러 개발자의 필요에 의해 발전된 아키텍처이다. 그래서 레이어드 아키텍처를 이해하는 깊이와 수준이 개발자마다 천차만별이다. : 레이어드 아키텍처는..
[자바/스프링 개발자를 위한 실용주의 프로그래밍][chapter07] : 서비스란 무엇인가?, 애플리케이션/도메인 서비스는 어떻게 다른가?, 서비스의 본질은 ? 목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스개요서비스의 역할은 “도메인 객체나 도메인 서비스라고 불리는 도메인에 일을 위임하는 공간”이어야 한다이는 서비스의 역할을 다음과 같이 크게 3가지 종류의 일을 해야한다는 의미이다.도메인 객체를 불러온다.도메인 객체나 도메인 서비스에 일을 위임한다.도메인 객체의 변경 사항을 저장한다.서비스 컴포넌트가 왜 이러한 역할을 해야하는지 알아보자.도메인 서비스란 무엇이며, 스프링에서는 서비스는 왜 서비스라고 부르는지, 서비스 컴포넌트에 추가적으로 기대하는 역할이나 책임은 무엇인지 파헤쳐 보자. 7.1 Manager: 스프링에서 서비스는 왜 서비스라고 부를까 ?이에 대한 해답은 스프링의 “@Service” 애너테이션이 작성된 실제 코드..
[자바/스프링 개발자를 위한 실용주의 프로그래밍][chapter06] : 스마트 UI, 트랜잭션 스크립트, 레이어드 아키텍처, 서비스 컴포넌트는 비즈니스 로직이 아니다, 애플리케이션의 본질 목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 개요 이 챕터는 스프링 개발자가 많이 저지르는 “구조적 실수”에 대해서 다룬다. 개발에는 정답이 없지만 “이렇게 개발하면 유지보수나 확장성 관점에서 좋지 못하다”라고 알려진 안티패턴은 존재한다. 소개할 안티패턴은 기초적이지만 누구나 실수할 법한 내용이다. 6.1 스마트 UI: 스마트 UI 패턴은 에릭 에반스의 저서 도메인 주도 설계에서 소개돼 유명해진 안티패턴이다.스마트 UI 패턴은 다음과 같은 특징을 가진 코드를 말한다.스마트 UI는 데이터 입출력을 UI 레벨에서 처리한다.스마트 UI는 비즈니스 로직도 UI 레벨에서 처리한다.스마트 UI는 데이터 베이스와 통신하는 코드도 UI 레벨에서 처리한다. : 백엔드 개발자가 왜 ..
Private Repository의 Permanent URL에 접근할 경우 목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 개요 티스토리 업로드 자동화를 테스트하는 과정에서 Github API를 다뤘다. Public Repository의 특정 file의 content를 읽어들이려면 공개된 URL로 접근하면 가능했기에 간단했지만 Private Repository는 조금 다른 접근법을 취해야했다. 이 글에는 Private Repository의 특정 file content를 읽어들이기 위해 했던 방법을 기록하려한다. Github Token 준비하기Private Repository는 Github Token을 통해서만 접근이 가능하다. Github Token의 생성은 "Settings -> Developer Settings -> Personal acc..
Obsidian 노트를 Tistory에 업로드 시키는 방법 목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스개요그 동안 Notion을 쭉 사용하면서의 생긴 불편함은 인터넷에 접속 가능한 환경에서만 이전 기록물에 접근할 수 있단 점이었습니다. 버스를 타고 여행을 갈 때 기차를 타고 본가에 내려갈 때는 인터넷 환경이 불안정하여 Notion을 통해서는 이전 기록물에 접근할 수 없는게 아쉬운 점으로 작용했네요.  이러한 아쉬운 점을 안고 가다 문득 기록물을 Notion으로 통합 관리하지 말고 개인 저장장치내에 MarkDown 파일로 글에 대한 원본을 저장해보자라는 아이디어를 떠올리게 됬습니다. 한 가지 문제점은 MarkDown 편집기를 무엇으로 이용할 것이냐에 대한 문제 입니다. Markdown은 조금만 학습하면 사용할 수 있는 편리한..
[자바/스프링 개발자를 위한 실용주의 프로그래밍][chapter05] : 순환참조, 순환참조 문제, 순환참조 해결법 목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스개요: 순환참조란 ?두 개 이상의 객체나 컴포넌트가 서로를 참조함으로써 의존관계에 사이클이 생기는 상황을 말한다.예를 들어 객체 A가 B 객체를 참조하고, 객체 B가 다시 객체 A를 참조하는 양방향 참조는 대표적인 순환참조의 예이다.이러한 순환 참조는 소프트웨어 설계에서 자주 볼 수 있는 대표적인 안티패턴 중 하나이다. : ❗JPA의 양방향 매핑은 순환 참조이다.양방향 매핑이라고 부른다고 해서 순환 참조가 아닌 것은 아니다. 양방향 매핑은 순환 참조 사례 중 하나이다. : 순환 참조가 발생한다는 것은 서로에게 강하게 의존한다는 것사실상 하나의 컴포넌트라는 의미이며 책임이 제대로 구분되어 있지 않다는 의미이다. 따라서 순환 ..

728x90
반응형