본문 바로가기

분류 전체보기141

리눅스 vi 기초 사용법 & 명령어 모음 가끔 개발자들이 아래와 같은 화면을 띄워 놓은 것을 볼 수 있을 것이다. 일반적으로 이런 검은 화면에서 문서를 보려면 리눅스에서 파일을 보는 상황일 것이다. 익숙하지 않은 vi 에서 알고 있으면 편하게 사용할 수 있는 명령어에 대해 간단하게 정리를 해보겠다. vi란? 쉽게 말해서 파일을 편집하기 위한 에디터라고 생각하면 된다. 윈도우에서는 파일을 작성하거나 수정하기 위해 메모장을 사용하지만, 리눅스에서는 기본 편집기로 vi를 사용한다. 처음에는 낯설기 때문에 어색하지만 익숙하지고 명령어를 익히면 편하게 사용이 가능하다. vi 파일 실행 아래와 같이 터니널에서 명령어를 치면 지정한 파일이 있는 경우 파일이 열리고, 없는 파일이면 빈 파일이 열린다. vi test.txt vi 파일 저장 및 종료 vi 파일을.. 2021. 5. 20.
맥 MySQL 설치 방법 + 설치 후 주요 파일 위치 mac에서 MySQL 설치하는 방법은 간단하다. homebrew를 활용해서 설치하면 아주 간단하게 설치가 가능하다. homebrew란 mac용 패키지 관리 어플리케이션을 말한다. 터미널에서 명령어를 이용해서 필요한 프로그램을 설치, 삭제, 관리를 쉽게 할 수 있게 도와준다. mac을 사용하는 경우 거의 개발자들이 필수로 사용하게 되는 어플리케이션이다. homebrew 설치는 mac 터미널에서 아래와 같이 입력하면 된다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"​ homebrew를 설치 완료 했다면, mac의 터미널에서 설치하기 위해서는 아래 명령어를 사용하면 된다. 최신 버전.. 2021. 5. 18.
알고는 써야지! 기본 spring annotation 종류 스프링을 사용하다 보면 메서드나 클래스, 변수 위에 @ 이 붙은 것들을 보게 된다. 안쓰면 제대로 안 돌아가서 다른 사람 코드를 보고 처음에는 쓰게 되는데 막상 이 annotation이 뭔지 물어보면 대답을 명확하게 하지 못하는 경우도 간혹 있다. 쓸꺼면 알고 쓰자! 사실 면접 볼때 나의 github 소스코드를 보다가 면접관이 이 어노테이션은 뭔지 알고 있냐고 물어본적이 있어서 대충 대답한 기억이 있어서 정리해봤다. 코드를 쓰려면 제대로 알고 써야 저런 당황스러운 경험을 하지 않을 수 있다. 나만 모를수도 있지만 이런게 있구나 하면서 한번 정리하면 좋을 것 같다. 기본중의 기본 어노테이션만 정리해봤다. annotation이란? 사전적 의미로, 주석이라는 뜻이다. @를 이용하여 자바코드에 추가하여 의미를 .. 2021. 5. 17.
Model 2 방식과 스프링 MVC 모델 2 방식은 흔히 MVC 구조를 응용한 방식이라고 하는데, 핵심은 '화면과 데이터 처리를 분리해서 재사용이 가능하도록 하는 구조' 모델 2 패턴의 이해 모델(Model) : 데이터 혹은 데이터를 처리하는 영역 뷰(View) : 결과 화면을 만들어 내는데 사용하는 자원 컨트롤러(Controller) : 웹의 요청(request)을 처리하는 존재로 뷰와 모델 사이의 중간 통신 역할 모델2 에서 모든 요청은 기본적으로 컨트롤러를 호출 / 컨트롤러는 자신을 호출하는 특정한 URI 경로를 가지고 있으며, 과거에는 주로 호출 시에 마지막 확장자를 *.do 등을 이용하는 방식을 많이 사용 모델 2 방식의 장점 개발자와 웹 퍼블리셔의 영역을 분리 가능 컨트롤러의 URL을 통해서 뷰를 제어하기 때문에 뷰의 교체나 변.. 2021. 5. 14.
스프링 MVC의 주요 구성 요소 스프링 MVC의 주요 구성 요소 DispatcherServlet 클라이언트의 요청을 전달받아 컨트롤러에게 클라이언트의 요청을 전달하고 컨트롤러가 리턴한 결과 값을 View에 전달하여 알맞은 응답을 생성하도록 한다. front controller와 동일 클라이언트의 요청을 중앙에서 처리하는 스프링 MVC의 핵심 구성요소 web.xml에 한 개 이상의 DispatcherServlet을 설정 각 DispatcherServlet은 한 개의 WebApplicationContext를 갖게 된다. HandlerMapping 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할지를 결정한다. 컨트롤러(Controller) 클라이언트의 요청을 처리한 뒤, 그 그결과를 DispatcherServlet에게 알려준다. 스트럿츠의.. 2021. 5. 14.
SSH 기초 개념정리 SSH 들어도 보고 써봤어도 제대로 모르겠다. 나만 그런지 모르겠지만 개발하면서 사용하고 있지만 설명하라면 할 수 없는 느낌이랄까. 이번에 ssh 접속 오류로 인스턴스 접속을 못하는 상황이 발생하면서 생각난 김에 정리해 보려고 한다. ssh란? Secure Shell 의 약자로 원격지 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜 중 하나이다. 컴퓨터와 다른 컴퓨터가 공공 네트워크를 통해 로그인하거나 원격시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용프로그램, 프로토콜을 말한다. 암호화 기법을 사용하여 보안에 좋으며, 기본적으로는 22번 포트를 사용한다. 위키백과에 위와 같이 쓰여 있지만 뭔가 쉽게 이해가 안간다. 간단하게 말해서 다른 컴퓨터나 서버에 원격 접속 .. 2021. 5. 13.
JAVA 8 새로 추가된 기능! 개발자 면접 대비 개발자 면접에서 물어보는 질문 중 하나인 자바 8의 특징 대해 정리를 해보려고 한다. 예전 개발자 면접에서 면접관이 이렇게 물어본 적이 있다. 면접 질문 1) java 버전은 어떤걸 사용했는지? 면접 질문 2) java 8에서 새롭게 추가된 것들이 있는데, 어떤것들이 있는지 아는가? 해당 질문에 대해 명확히 대답할 수 있도록 JAVA 8 새로운 기능, 변경 사항을 제대로 알아보자. JAVA 8은 2014년에 출시 되었다. 출시 된지 오래 되었지만 자바 8의 새로운 기능을 물어보는 이유는 현재도 많이 쓰는 기능이기도 하고, 해당 기능을 지금도 제대로 알지 못하는 개발자도 있고, 실무에서는 자바 8을 사용하는 경우가 많기 때문이라 생각된다. 람다식 (Lambda) 람다는 익명 함수로, 이름과 식별자가 없는 .. 2021. 5. 12.
Spring에서 JDBC가 아닌 MyBatis를 사용하는 이유 스프링을 활용하여 개발 시 직접 connection을 만들어서 자바 코드에 데이터베이스에 접근하는 형태보다는 Mybatis를 활용하는 경우가 많다. 스프링 + MyBatis + RDBMS의 조합으로 많이 사용한다. 마이바티스를 활용하면 개발이 더 편리 하기 때문이라고 한다. 그 이유에 대해 상세히 알아보자. 코드 효율성 향상 JDBC는 try~catch 처리, Statement, ResultSet의 데이터 처리를 하기 위해 많은 코드를 써야 한다. MyBatis는 SQL Mapper 라이브러리로, 스프링과 함께 사용하는 경우 반복 처리 코드 없이 간결하게 사용이 가능하다. 스프링과 마이바티스를 연계하는 라이브러리를 이용 시 직접 SQL문 호출 없이 자동화 처리가 가능하다. 하여 코드의 양이 줄어든다. S.. 2019. 7. 13.
자료구조와 알고리즘을 공부해야 하는 이유 + 코딩 테스트 사이트 공유 요즘에는 비전공자이지만 개발을 공부해서 직업으로 삼는 사람이 늘어나고 있다. 개발 분야가 핫하기도 하고, 점점 더 많은 인력이 필요한 분야이다 보니 전공자 뿐만 아니라 비전공자들도 많이 도전을 하고 있는 추세로 보인다. 나도 비전공자로 개발에 대한 전체적인 내용을 공부하고 취업한 케이스이다 보니, 개발자 면접을 볼때 부족한 부분을 느끼기도 하고 주변 개발자 분들이 조언을 해주는 경우가 많았다. 3년차 정도 되거나 고급기술을 사용해야 하는 경우에 부족함을 느끼고, 개발 이론 관련해서 다시 공부를 하게 된다는 이야기를 말이다. 하여 컴퓨터 공학에 관심을 가지게 되고, 결국 다시 공부하게 되는 분야에서 대표적인 것이 자료구조와 알고리즘이다. 개발자 초기에는 기획에 맞게 데이터를 나오게 하는 것 만으로도 대단하.. 2019. 7. 12.
반응형