728x90
반응형

분류 전체보기 278

리눅스마스터 1급 뒤늦은 합격 후기, 그리고 쓸모에 관한 고찰

리눅스마스터 1급은 나의 첫 자격증이다.노래를 포기하고 보안 공부를 본격적으로 시작함과 거의 동시에 취득했다.이걸 딴지 1년이 훌쩍 넘었는데, 합격 후기를 써야지 써야지 하다가 뒤늦게 쓴다.다만 시간이 오래 지났기 때문에 자격증 자체의 공부방법 보다는, 이게 실질적으로 도움이 되었는지 어땠는지를 중심으로 작성하려 한다.이때 나의 기초지식, 베이스 지식은 아예. 일절 없었다. 파이썬으로 Hello World! 출력해본게 끝인 아예 쌩초보였다.난 IT공부의 첫발을 리눅스로 떼었다. 처음부터 리눅스마스터를 딸 생각은 없었다. 다만 아무것도 모르는 초보였던 나에게 있어서 "리눅스"는 굉장히 멋있어 보였다.CLI(TUI)기반의 검은 화면에 알 수 없는 명령어를 입력하는 것이 너무 멋져서, 무작정 우분투 리눅스 교..

업적 2023.09.18

스프링 입문 - 정적 컨텐츠

정적 컨텐츠는 MVC등 동적 기능을 사용하지 않고 html코드만을 그대로 출력하는 컨텐츠를 의미한다. 정적 컨텐츠를 구현하는 방법은 매우 간단하다. resources:static/hello-static.html 파일을 생성한다. 간단한 html코드를 입력한다. 나는 강의자료와 똑같이 입력했다. 스프링을 재가동해준다. 정적 페이지로 접근하는 방법은 간단하다. localhost:8080/hello-static.html 경로로 접속하면, 방금 작성한 페이지가 그대로 출력된다. 어떠한 동적 기능도 없는, html코드를 그대로 반영한 정적 페이지이다. 정적 페이지는 이렇게 매우 간단하게 생성할 수 있다. 우리가 hello-static.html 경로를 입력하면 스프링은 가장 먼저 hello-static.html의 ..

스프링 입문 - 빌드하고 실행하기

만들어진 웹서버를 배포할 수 있는 간단한 방법이 있다. 빌드하고, 빌드된 파일을 실행만 하면 어디에서든 웹서버를 가동시킬 수 있는 것이다. 먼저 스프링이 설치된(프로젝트가 설치된) 디렉터리로 온다. 그러면 이런 파일과 디렉터리들이 있다. 이 화면은 인텔리제이에서 실행한 터미널이고, git bash가 연동되어 있다. 강사님도 git bash를 사용하시고, 나도 리눅스 환경이 편해서 git bash를 인텔리제이 터미널에 연동했다. 연동 방법은 간단하니 구글링하면 쉽게 따라할 수 있다. 참고로 git bash는 리눅스 명령어를 따른다. ./gradlew build 해당 스프링이 설치된 위치에서, ./gradlew build 명령어를 입력한다. 그러면 이렇게 빌드가 시작된다. 만약 빌드가 잘 되지 않으면, ./..

스프링 입문 - View 환경설정

웹에는 Welcome Page 라는것이 있다. 웹으로 접속했을 경우, 가장 처음 반겨주는 페이지를 의미한다. 컨트롤러를 통해서 /(루트)경로에 페이지를 따로 지정하지 않았다면, 스프링 부트는 기본적으로 static/index.html 파일이 Welcome Page 역할을 하게 된다. 처음엔 웰컴 페이지가 없으므로, 따로 생성해 주어야 한다. resources:static/index.html 파일을 생성했다. 강의자료에 있는 html코드를 붙여넣고, 스프링을 재시작한다. 이제 페이지에 접속해보면 에러 페이지가 아니라 웰컴 페이지가 우리를 반겨준다. 물론, 웰컴 페이지만 만들었기 때문에 저기 보이는 hello를 누르면 당연히 에러가 뜬다. 소스코드를 보면, 우리가 index.html 파일에 입력한 코드와 완..

스프링 입문 - 프로젝트 생성

인프런에서 김영한님 스프링 입문 강의를 완강했다. 스프링은 완전히 처음이라 정말 어려웠지만, 완강하고 나니 대략적인 틀이 보이는 것도 같다. 그러나 정신없이 듣느라 전혀 체득하지 못한것 같아서, 강의를 다시 복습하며 글로 정리해 보려고 한다. https://start.spring.io/ 링크로 접속하면, 위와 같은 화면이 뜬다. 스프링 프로젝트를 쉽게 시작할 수 있도록 스프링에서 제공하는 기능이다. 간단한 설정을 한 후, 다운로드 받으면 쉽게 스프링을 시작할 수 있다. 위와 같이 설정한 후, 아래 GENERATE 버튼을 누르면 다운로드할 수 있다. 자바 버전이 다른경우 스프링 가동이 되지 않으니, 잘 확인해야 한다. 오른쪽 Dependencies(의존성) 부분은, 우린 웹개발을 할 것이니 Spring W..

백엔드 공부, 잡담

정처기 필기를 마치고 본격적으로 백엔드 공부를 하고 있다. 스프링을 공부하기 위해 인프런에서 김영한님 스프링 입문 무료강의를 보는 중이다. 강의 총 진행시간이 5시간 반 남짓이고, 크게 어려워 보이지 않아 만만하게 봤었는데 장난이 아니다. 강의 하나에 5분~20분 정도의 시간인데, 하나의 강의를 보는데 거의 2시간이 걸려버린다.. 단축키 하나하나, 기능 하나하나 전부 모르는 데다가 웹개발에 아예 문외한이니 감조차 잡기가 어렵다. 내가 개발에 익숙하지 않아서인지, 자바 언어를 잘 다루지 못해서인지, 아니면 그냥 스프링이 어려운건지 내가 왜 이렇게 진도를 못 나가는지 정확한 이유도 모르겠다. 물론 전부 다 포함일 수도 있다. 듣는 도중 너무 답답하고 이해가 안 되어, 가장 어려웠던 강의를 속는 셈 치고 한번..

자유 2023.07.19

[Baekjoon/JAVA] 백준 10813번 공 바꾸기

1번~N번의 바구니가 있고, 각 바구니엔 번호에 해당하는 공이 들어 있습니다. i, j번 바구니에 들어있는 공을 바꿉니다. 이것을 M번 반복한 후, 각 바구니에 몇번 공이 들어있는지 출력하는 문제입니다. import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); StringTokenizer st; st = new StringTokenizer(br.read..

정처기 필기 합격, 자격증의 필요성

탈보안을 마음먹은 날이 공교롭게도 정처기 필기 접수 마지막날 이었다. 오후 6시까지 접수가 가능했는데, 5시30분이어서 고민할 새도 없이 부랴부랴 접수했다. 정처기 필기는 날짜 선택이 가능했는데, 난 보통 최대한 늦게 접수하는 편이다. 하지만 이번엔 막차를 탔기 때문에 빈 자리가 딱 1자리 남아있던 7월11일 필기로 접수했다. 나는 IT기초가 있기에 책은 구매하지 않았고, 기출문제 사이트에서 정처기 개편 이후 기출문제 8개를 풀었다. 총 800문제를 푼 것이다. 1,2과목 소프트웨어 관련 문제들은 거의 대부분 처음보는 개념들이어서 어려웠다. 그래서 문제밑에 해설글을 보고 공부했다. 3,4,5 과목 데이터베이스, 프로그래밍언어, 정보시스템 구축관리 과목은 이미 알던 것들이 많아서 꽤 쉬웠다. 이 부분은 처..

자유 2023.07.11

[Baekjoon/JAVA] 백준 10815번 숫자 카드

주어지는 숫자의 범위가 매우 크기 때문에, 일일이 비교하는 방법보다는 이분 탐색 알고리즘을 이용해야 합니다. import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); StringTokenizer st; int n = Integer.parseInt(br.readLine()); int cards[] = new int[n]; st = new StringTok..

[Baekjoon/JAVA] 백준 1032번 명령 프롬프트

입력받은 문자열들의 각 문자를 모두 비교하여, 모두 같지 않다면 해당 문자를 ?로 바꾸는 문제입니다. 모두 같다면 문자를 그대로 출력합니다. 입력받는 문자열들의 길이는 동일합니다. import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int n = Integer.parseInt(br.readLine()); String arr[] = new Strin..

Algorithm/문자열 2023.06.30
728x90
반응형