전체 글 73

자바 웹 프로그래밍 Next Step 2장 TDD 맛보기

저번 시간까지 Junit을 이용하여 리팩토링하는 것에 대해 배웠다. 책에서는 더 성장하고 싶을 시 추가적으로 TDD의 개념에 대해 학습하고 실습해볼 것을 추천하여 이렇게 글을 정리하게 되었다. 이 자료는 테스트 주도 개발 : 고품질 쾌속 개발을 위한 TDD 실천법과 도구” 책의 1장에 대한 내용이다. 1. 테스트 주도 개발(TDD) TDD란? Test-Driven Development 의 약자이며 테스트 주도 개발이라는 뜻이다. 업무 코드를 작성하기 전에 테스트 코드를 만드는 것을 의미한다. 어렵게 들릴 수 있지만, 메소드나 함수 같은 프로그램 모듈을 작성할 때 작성 종료 조건을 먼저 정해놓고 코딩을 시작한다는 의미로 받아들이면 편하다. 이를테면, 두 숫자의 합을 구해서 반환하는 sum이라는 메소드를 작..

독서/Java 2022.08.18

자바 웹 프로그래밍 Next Step 2장

| 시작하기 전.. 국비학원에서 자바로 개발을 시작한 사람으로써 어떤 로드맵을 가지고 학습해야 하는지, 학습해야할 지식이 무엇인지, 지금 공부하는것이 잘하고 있는지 감이 안왔다. 회사에서 교육의 한 과정으로 이 책을 학습하라고 하셔서 시작하게 되었지만 주먹구구식으로 개발하는 것이 아닌 생각하고 고민하는 개발자가 되는데 큰 도움이 될 것이라 생각한다. 2장. 문자열 게산기 구현을 통한 테스트와 리팩토링 목표 테스트와 리팩토링을 학습하는 것과 더불어 자바 개발 환경에 익숙하지 않은 개발자가 자바 개발 환경을 익히고, 이 책의 실습 진행 방식을 경험하는 것을 목표로 한다. 1. main()메소드를 활용한 테스트의 문제점 소스 코드를 구현한 후 정상적으로 동작하는지 확인하는 일반적인 방법은 main() 메소드이..

독서/Java 2022.08.17

운영체제(OS)의 종류

| 운영체제 (Operation System) 의 종류 1. OS/390 → TEMDAM OS (메인 프레임) → OS/400 - Unix나오기 전의 운영체제들 - 낮은 레벨이다보니(디스크,메모리 등등 다 함께 관리해야 하다보니..) assembly 언어로 프로그램을 짰다. (Os/400까지) * Assembly Language란? - 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어이다. - 컴퓨터 구조를 확립한 폰 노이만은 기계어로 코딩을 했지만 거의 사람들이 알아보기 어려워 보완하기 위해 나온 언어가 어셈블리 언어이다. 2. Unix - Unix는 벨 연구소에서 연구를 위해 만든 운영체제이다. * Unix가 중요한 점 : Unix를 만들기 위해 새로운 언어를 만들었다. → 이 언어가 바로 ..

이 카테고리를 만든 이유

신입 개발자로 입사한 지 불과 2일밖에 되지 않았다. 본격적으로 프로젝트에 들어가기 전에 1-2달정도 교육을 받는다고 하여 앞으로 교육받는 부분을 글로 남겨보고자 하여 카테고리를 만들었다. 아마도 이 교육이 끝나고도 추가적으로 학습하고 공유하고 싶은 내용도 남길 것이다. 짧은 시간에 큰 틀로만 배우다 보니 내용의 깊이가 매우 얕을 것이라 생각한다. 이 점은 차근차근 내가 더 보충해나가려고 한다. 여러번 반복해서 공부하다보면 언젠가는 빠삭하게 익히는 날이 오지 않을까? 아직은 그래도 출근이 재미있다. 나 자신 파이팅!!

객체 지향 프로그래밍(OOP)

| 본문을 시작하기 전.. 객체지향 프로그래밍이란.. 자바 개발자에게 꼭 알아야 할 중요한 개념이다. 그러나 막상 객체지향 프로그래밍이 뭘까요? 라고 물어본다면.. 추상화를 통해 객체를 만들어서 프로그래밍하는것..? 이라고 밖에 떠오르지 않는다. 객체지향 프로그래밍은 개발을 하면서 부족한 점을 개선하려보니 탄생한 프로그래밍 패러다임이다. 그래서 나는 이번 포스팅에서 이전의 프로그래밍 몇가지에 대해서 먼저 이야기 해보고자 한다. | 순차적(비구조적) 프로그래밍 : 정의한 기능의 흐름에 따라 순서대로 동작을 추가하며 프로그램을 완성하는 방식이다. 간단한 프로그램의 경우, 이렇게 코드를 짜게 되면 흐름이 눈으로 보이기 때문에 매우 직관적일것이다. 그러나 프로그램의 규모가 커진다면 곤란해진다. A > B > C..

Spring IoC , Bean

| IoC / DI 란? - IoC란 Inversion of Control의 줄임말이며, 제어의 역전이라고 한다. (이를 스프링 컨테이너가 코드 대신 오브젝트에 대한 제어권을 갖고 있다고 해서 IoC라고 부른다.) - Spring에서 사용되는 IoC란 객체가 내부적으로 조작할 객체를 직접 생성하지 않고 외부로부터 주입받는 기법을 의미한다. 이때 객체를 외부로부터 주입해주는 작업을 DI(의존성 주입)이라고 부른다. ​ IoC Container는 오브젝트의 생성과 관계설정, 사용, 제거 등의 작업을 대신 해준다하여 붙여진 이름이다. 이때, IoC Container에 의해 관리되는 오브젝트들은 Bean 이라고 부른다. IoC Container는 Bean을 저장한다고 하여, BeanFactory 라고도 불린다...

[백준] 3184번 - 양(JAVA)

| 풀이 - BFS를 이용한 그래프 유형의 문제이다. - 다른 그래프 문제와의 차이를 보자면, 늑대와 양의 수를 매번 확인해야 한다. --> 이를 위해 dfs() 메소드를 호출할 때 '.','v','o' 이어야 하며 방문하지 않았어야 합니다. - dfs() 메소드가 끝날 때마다 늑대의 수가 양의 수 이상일 경우에는 늑대의 수만 누적시켜주고 그 반대의 경우에는 양의 수만 누적시켜준다. | 입출력 bufferedreader 와 system.out.print 를 사용하여 입출력 했다. | 문제 풀이 import java.util.*; import java.io.*; public class Sheep_3184 { //마당 , 방문체크, 총 양, 총 늑대 static int R, C; static char[][]..

치과위생사 개발자로 전향하다.

그동안 참 바쁘게 지내고 많은 일이 있었다. 국비 학원을 수료하고 벌써 2개월이 지났다. 취업 준비를 하던 중 내가 진로를 바꾸게 된 스토리를 남기고 싶어 적게 되었다. 나는 백엔드 개발자로 전직 준비중인 치과위생사이다. 다들 궁금해하실 것 같다. 문과도 아니고 보건계열인데 왜 개발자가 되었지? 글로 설명하면 나에게 관심을 가져주시는 분들께 도움이 되지 않을까 하여 작성해보았다. [ 치과위생사로서 일하다 ] 사람들을 돕는 일을 하고 싶어 2014년 치위생학과에 입학하여 2018년에 치과위생사 면허를 취득하고 바로 일을 시작했다. 줄글만 가득 찬 재미없는 책들만 보다가 직접 보고 해 보니 (물론 실습도 했다) 책의 이론들이 와닿고 임상이 재미있구나 생각을 했고 어느 신입들처럼 나 또한 희망찬 미래를 그려 ..

회고록 2022.06.22

[백준] 14502번 -연구소(JAVA)

| 입출력 BufferedReader 로 입력을 받고 System.out.println 으로 출력했다. import java.io.*; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Lab_14502 { //1.벽을 3개 세운다. //2.바이러스를 퍼뜨린다. //3.최대 안전영역(0의갯수)를 구한다 // --> 이 값을 max 값과 계속 비교하면서 최대값을 구한다. public static int X; // X= M public static int Y; // Y= N public static int map[][]; public static int max = 0; public..

[백준] 11728번 -배열 합치기(JAVA)

| 접근 방법 말 그대로 두개의 배열을 입력받아 정렬하여 결과를 출력하면 된다. 이 때 정렬하는 방법은 두가지가 있다. 첫번째는 Arrays.sort 메소드를 사용하고 두번째는 두포인터를 사용하는 것이다. 두가지 다 다뤄보겠다. | 입출력 BufferedReader 를 사용하여 입력값을 받고 System.out.print 를 사용하여 출력했다. | 1.Arrays.sort 사용하기 import java.util.*; import java.io.*; public class CombineArray_11728 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStr..