전체 글169 클린코드 17장 (끝) 17장 냄새와 휴리스틱 🔎주석 부적절한 정보 이슈 추적, 소스코드 관리 등 다른 시스템에 저장할 정보는 주석으로 적절하지 않다. 이러한 내용은 괜히 소스 코드만 번잡하게 만든다. 쓸모 없는 주석 주석은 빨리 낡는다. 추후 쓸모 없어질 주석은 아예 달지 않는 편이 좋고, 쓸모 없어진 주석은 빨리 삭제해야 한다. 중복된 주석 코드만으로 충분한데 구구절절 설명하는 주석이 중복된 주석이다. 이런 주석은 필요가 없다. 주석 처리된 코드 이런 주석이 나오면 신경이 아주 거슬린다. 누군가에게 필요한 코드라고 생각해서 아무도 삭제하지 않고, 주석코드는 그 자리에서 하루하루 낡아간다...흉물 그 자체다! 얼른 지워버리자.(아무리 그래도 흉물이라니..이 책 넘 막말심함ㅠㅠ) 🔎환경 여러 단계의 빌드 필요한 파일을 찾느라 .. 2022. 9. 19. [cs 정리]운영체제 1. 운영체제란 무엇인지 설명해주세요 운영체제 ( Operating System )는 컴퓨터 하드웨어와 소프트웨어 자원을 관리하는 시스템 소프트웨어입니다. Windows, Linux, Mac 등이 운영체제에 속합니다. 2. 프로세스와 스레드의 차이를 설명해주세요 프로세스는 운영체제로부터 자원을 할당받은 작업의 단위를 말합니다. 반면 스레드는 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위를 말합니다. 프로세스는 다른 프로세스의 메모리 공간에 접근할 수 없으나, 스레드는 Code, Data, Heap영역은 공유한다.(stack은 공유x) 🔎스레드가 스택만 공유 안하는 이유는, 후입 선출이라는 스택의 특성상 공유했다가 너무 복잡해지기 때문이라고 한다.. 운영체제로부터 자원을 할당받은 작업의 단위 cpu.. 2022. 9. 19. 자바에서 큐의 사용 자바는 코테용으로 쓰는것도 아니고, 개발할 때는 큐를 쓸 일이 지금까지 별로 없었어서 사용법을 잘 모르고 있었는데 이참에 정리해본다. Queue queue = new LinkedList(); //int 배열형 큐 선언(코테에서 가장 많이쓰게 될것...) Queue queue = new LinkedList(); //int형 queue 선언 Queue queue = new LinkedList(); //String형 queue 선언 값 추가하기 queue.add(1); queue.add(new int [] {i,j}); 값 가져오기 int temp []=q.poll(); 큐에 값이 있는 동안 반복 while(!queue.isEmpty()) { } 일단은 요정도 알면 사용할 수 있을 듯하다. 2022. 9. 19. 동기와 비동기 난 둘의 개념을 안다... 동기와 비동기를 떠올리면 항상 위의 이미지가 떠오른다. 문제는 위 이미지에서 어떤게 비동기고 어떤게 동기였지? 하고 항상 헷갈린다는 것이다. 이것저것 한꺼번에 하는게 동기였는지 비동기였는지.. 동기(synchronous): 데이터의 요청과 결과가 한 자리에서 동시에 일어나는것 비동기(Asynchronous): 요청한 결과가 동시에 일어나지 않을 것. 헷갈리는 이유는 둘의 사전적인 설명이 이래서,,,그림상으로는 동시에 이것저것하는게 비동기인데 사전적인 설명으로는 반대인것처럼 느껴진다. 요청과 결과가 한 자리에서 동시에 일어난다는 건, 뭔가 요청한다음에 기다리는 동안 딴짓하지 않고 결과가 나올때까지 대기한다는 의미이다. 카페에서 커피를 시켰다고 치면 나올때까지 알바생을 응시하며 기.. 2022. 9. 18. [스프링 입문] 섹션 3. 회원 관리 예제 - 백엔드 개발 비지니스 요구사항 정리 데이터: 회원ID, 이름 기능: 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 아직 db를 뭐쓸지 결정하지 않았으므로, 일단 인터페이스 기반으로 개발한다. 회원 도메인과 리포지토리 만들기 이렇게 만들어준다. package hello.hellospring.domain; public class Member { private Long id; private String name; public String getName() { r.. 2022. 9. 18. [스프링 입문] 섹션 2. 스프링 웹 개발 기초 스프링 웹 개발에는 세가지가 있다. 정적 컨텐츠 mvc와 템플릿 엔진 api 정적 컨텐츠 정적 컨텐츠는 말 그대로 그냥 파일을 때려박는다는 뜻.. 이런 애들이다. 그냥 고정된 웹페이지들 mvc와 템플릿 엔진 mvc: model, view, controller 컨트롤러 @Controller public class HelloController { @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model) { model.addAttribute("name", name); return "hello-template"; } } 뷰 hello! empty 위 화면에서 파라미터로 넘겨준 것에 주의. 컨트롤러에.. 2022. 9. 17. 이전 1 ··· 7 8 9 10 11 12 13 ··· 29 다음 반응형