-
알고리즘 오늘 한 문제도 풀지못했지만 몇가지 배운 점이 있다 1. 문제를 빠르게 이해하기위해서 변수의 의미부터 파악해야한다는 것 2. 시간복잡도부터 보고 구현방법을 생각해야한다는 것 3. prefix 라는 방법 : 연산 횟수를 줄이기위해서 미리 일정 범위까지 연산해뒀다가 꺼내쓰는 방식 spring-boot 환경설정 후 run 시켜보기 기존 스프링을 그대로 사용하면 많은 설정을 해줘야하는데, 스프링부트를 사용하면 간단하게 설정할 수 있음 express로 웹어플리케이션을 개발한 경험이 있는데, express-generator와 같은 개념이라고 생각됨 인텔리j에서 스프링부트 프로젝트 시작하기(환경설정) : 간단하게 필요한 라이브러리 설정을 할 수...
-
[코드스쿼드 레벨3 과정 첫날] - 준비하기 과정에서 배운 것 자바 객체지향에 대한 이해가 필요하고, 실제로 객체지향 프로그래밍할 줄 알아야해 API 사용은 해봤어야 필요할 때 뭘 쓸지 알 수 있지 Spring 예전 같았으면 데이터를 어떻게 주고 받아야하는지에 대한 표준만을 가지고(CGI) 실제로 개발은 개발자가 다했었어야하지만, 지금은 다름! 그 다름을 느끼기 위해선 일정 시간의 노력이 필요함 Spring 진입장벽이 높았던 것을 Spring boot로 낮췄다는데, 이제부터 공부 시작! 웹 기본지식 웹의 탄생 : 어떠한 시스템(CPU, OS)이든지 간에 같은 문서를 주고...
-
코드스쿼드 레벨2 과정이 거의 끝나가고 있다. 레벨2의 목표는 객체지향프로그래밍 익히기이다. 그동안 5가지의 미션을 하면서 책을 통해서만 공부하던 객체지향을 직접 느껴보았다. 과정 중에 와닿았던 것, 그리고 객체지향프로그래밍을 한다면 반드시 그래야만 하는 것, 기억해야할 것들을 이 글을 쓰면서 정리해보았다. 글에 쓰일 예제 코드들은 모두 5번째 미션이었던 볼링 프로그램 코드 중 일부(직접 짠 코드보다 다 짜고난 뒤 비교해본 마스터의 코드이다 - 코드 비교 리뷰를 하면서 느낀점이 굉장히 많아 마스터의 코드를 바탕으로 글을 써보았다) 이다. 볼링 프로그램을 택한 이유는...
-
enum 상수값을 모아서 관리하기 문자열이었다면 많은 예외처리를 해야할 수 있지만, 값의 범위를 강제해버리기떄문에 안전한 프로그래밍이 가능함 예를 들어 0 ~ 6까지 전달받아야하는데 래핑시켜서 그 값들만 받게끔 할 수 있음 : 유효성 체크 메소드 따로 만들지않고도 예시 2 : 방향 4가지만 줄 수 있도록 강제 /* example */ public enum Direction { NORTH, SOUTH, EAST, WEST; } public class Ladder { public void move(Direction direction) { } } 클래스의 인스턴스 개수를 제한해버리고 만듦 : static 환경에서...
-
통신 쌍방 간의 통신 요청과 응답 프로토콜 통신을 위해 꼭 필요함 통신 상대를 찾기도, 어떤 내용을 어떻게 전달할지도 약속에 의해 모든게 진행됨 : 서로 다른 하드웨어, 소프트웨어 환경 TCP/IP 네트워크에 연결된 컴퓨터(IP Address 부여)간에 데이터(패킷 형태로 됨)를 주고 받기위한 프로토콜 프로토콜에서 핵심적으로 사용되는 프로토콜이 TCP(패킷 프로토콜 - 연결을 어떻게 하고, 데이터 순서 형태), IP(인터넷 환경 프로토콜 - 어느 라우터로 가야할지)라 TCP/IP로 불림 계층형 프로토콜 : 한번에 정보를 작성하는게 아니라 4개의 계층별(각각 프로토콜 그게 4개)로 각각이...