
9월 19일 데브코스가 개강하고, 한 달간 매우 많은 일이 있었다. 기록 일단 현재 노션에 있는 이 모든 것들이 한 달간 작성된 것들이다. 내 인생에 살면서 이렇게 기록을 많이 했던 적이 있었을까 싶다 P인 나에게는 기록하는 것이 꽤나 힘든 습관이었다.(전 세계의 P분들 공감해 줘요) 내 머릿속에 들어오지 않는데 글로 적으려니 시간은 더 걸리고, 그렇다고 이해에 크게 도움이 되는 건 아니라서, 당장 머릿속에 넣고 이해하는 것이 일 순위였던 나에게 기록이란 비효율적인 일이라고 생각했다 하지만 이번에 데브코스를 하면서 다짐했던 것 중에 하나가 TIL을 꼬박꼬박 적자!! 였기 때문에 어쩔 수 없이(?) 쓰게 되었고 그렇게 한 달간 써본 내 후기를 요약하자면 이것이었다. 1. 기록은 정말 중요한 것이다(ㅋㅋ) ..
자료구조&알고리즘 자료구조+알고리즘 = 프로그램 자료구조 메모리, 속도, 안정성 쪽으로 상황에 따라 유용한 특정 구조 ex. 스택, 큐, 그래프, 트리 알고리즘 일련의 절차와 방법을 공식화한 형태 ex. 이진, 최단 탐색 자료구조와 알고리즘이 중요한 이유 실무에 중요한 세가지 1. 기초 코딩 능력 자료구조, 알고리즘을 공부해야 함 문제 해결 능력! == 일머리 논리적 사고 : 현상을 추론 후 구조화 하여 해답을 찾는 능력 전산화 능력 : 현실 -> 컴퓨터로 구현 엣지 케이스 탐색 : 예외사항 찾기 2. 전문 분야 (나같은 경우는 FE) 3. 기본 CS 지식 업무상 발생하는 예외사항에 대응 할 수 있음 자료구조의 종류 자료구조의 목적 : 전산화를 위한 것임 자료구조의 구분 단순구조 정수, 실수, 문자열, ..
JavaScript와 프론트엔드 개발 - html : 정적 언어, 동적 기능을 하지 못함 - 프로그래밍 언어를 브라우저에 내장하여 동적으로 기능하게 하기 위해 JavaScript 등장 - 브라우저 동작 원리 ㄴ 통신 : 브라우저와 서버 사이의 통신 ㄴ 렌더링 : 객체 DOM을 화면에 그리는 것 (*DOM : 브라우저가 통신을 통해 받은 html을 읽어 생성, 트리구조, ...) ㄴ 스크립트 실행 : 브라우저가 js를 실행 - 프론트엔드는 특히 협업이 중요 ! : 디자이너에게 디자인을 받고, 백엔드 개발자에게 데이터를 받아 작업 - 프론트엔드 개발자가 필요한 소양 : 커뮤니케이션, UI, 네트워크 & 보안, 다양한 브라우저 대응, 디자인 변수, 상수, 자료형 그리고 메모리 - 변수 : var는 ES6이후로..
참고)https://dev-yakuza.posstree.com/ko/react-native/install-on-mac/ 맥(Mac)에 react native 개발 환경 구축하기 react-native로 앱을 개발하기 위해 맥(Mac)에 개발 환경을 구축해 보고, react-native로 생성한 프로젝트가 잘 동작하는지 확인해 봅니다. dev-yakuza.posstree.com 1. Homebrew 설치 * Homebrew : 맥에서 필요한 패키지를 설치하고 관리하는 맥용 패키지 관리자 2. Nodejs 설치 * Nodejs : RN의 언어인 Javascript의 런타임 3. Watchman 설치 * Watchman : 특정 폴더나 파일을 감시하다가 변화가 생기면, 특정 동작을 실행하도록 설정하는데 RN에..
23.1 마이바티스란? 애플리케이션 규모가 커지면서 JDBC로 개발하는데 한계(SQL문이 복잡, 연동 작업이 반복됨)가 생기며 마이바티스나 하이버네이트 같은 데이터 연동 관련 프레임워크가 등장 마이바티스를 사용하면 복잡한 SQL문도 SQL Developer 같은 도구에서 SQL문을 사용하는 것처럼 표준화된 방법으로 사용 가능 SQL 실행 결과를 자바 빈즈나 Map 객체에 매핑해주는 Persistence 솔루션으로 관리 => SQL을 소스코드가 아닌 XML로 분리 SQL문과 프로그래밍 코드를 분리해서 구현 datasource 기능과 트랜잭션 처리 기능을 제공 각 기능별로 실행할 SQL문을 xml파일(이하 SqlMap.xml이라 칭함)에 작성한 후 SqlMapConfig.xml에 등록 실행하고 싶은 sql문..

22.1 스프링 JDBC로 데이터베이스와의 연동 설정하기 기존 JDBC(Java Database Connectivity)의 장점을 유지하고 단점을 보완한 스프링 JDBC는 간결한 API 뿐만 아니라 확장된 JDBC의 기능도 제공 실제 개발할 때는 스프링 JDBC 기능보다 마이바티스나 하이버네이트 같은 데이터베이스 연동 관련 프레임워크를 사용하지만 스프링 JDBC의 기본적인 기능을 알아두면 좋음 파일 설명 web.xml ContextLoaderListener를 이용해 빈 설정 XML 파일들을 읽어드림 action-dataSource.xml 스프링 JDBC 설정에 필요한 정보를 설정 jdbc.properties 데이터베이스 연결 정보를 저장 action-service.xm..

21.1 스프링 프레임워크 MVC의 특징 모델2 아키텍쳐를 지원 스프링과 다른 모듈과의 연계가 쉬움 타일즈나 사이트메시 같은 View 기술과의 연계가 쉬움 태그 라이브러리를 통해 message 출력, theme 적용 그리고 입력 폼을 보다 쉽게 구현 가능 +) 9. view의 결과를 DispatcherServlet으로 보냄 +) 10. DispatcherServlet은 최종 결과를 브라우저로 전송 - 각 구성요소의 설명 구성 요소 설명 DispatcherServlet 클라이언트의 요청을 전달받아 해당 요청에 대한 컨트롤러를 선택하여 클라이언트의 요청을 전달, 또한 컨트롤러가 반환한 값을 View에 전달하여 알맞은 응답을 생성 HandlerMapping ..

20.1 관점 지향 프로그래밍의 등장 모든 웹 애플리케이션에서 공통으로 사용하는 보조기능(ex. 로깅, 트랜잭션, 예외 처리, 이메일 통보 기능 등)은 일일이 구현하는 번거로움을 관점 지향 프로그래밍(AOP, Aspect Oriented Programming)으로 해결한다. AOP : 메서드 안의 주기능과 보조 기능을 분리한 후 선택적으로 메서드에 적용해서 사용하는 것 AOP를 사용하면 전체 코드에 흩어져 있는 보조 기능을 하나의 장소에 모아서 관리할 수 있음 보조 기능을 자신이 원하는 주기능에 선택적으로 적용할 수 있음 20.2 스프링에서 AOP 기능 사용하기 여러가지 AOP 관련 용어 용어 설명 aspect 구현하고자 하는 보조 기능 advice aspect의 실제 구현체(클래스). 메서드 호출을 기..
객체 지향 프로그래밍 언어에서 클래스는 특정 기능을 수행하는 부품 역할을 함 사용자의 요구 사항에 따라 클래스 기능을 변경하거나 다른 클래스 기능으로 대체해야 하는 경우에 더 수월하게 대체할 수 있게 도입된 기능이 의존성 주입(DI)과 제어 역행(IoC) 19.1 의존성 주입하기 (before) 어떤 한 클래스가 다른 클래스의 기능을 사용 => 개발자가 직접 코드에서 사용할 클래스의 생성자를 호출. (before) 사용할 클래스와 사용될 클래스의 관계 => 개발자의 의해 직접 코드에서 부여 (now) 의존성 주입으로 컨테이너가 연관 관계를 직접 규정 코드에서 직접적인 연관 관계가 발생하지 않으므로 각 클래스들의 변경이 자유로워짐 약한 결합(한 기능을 변경해도 다른 기능의 변화는 거의 x) 좋은 프로그램은..
Comment