본문 바로가기

전체 글

현대오토에버 모빌리티 SW스쿨 IT보안 4기 - 중간 후기 목차 0. 들어가며 1. 입과 과정: 서류 → 코딩/CS테스트 → 면접 서류 코딩테스트 / CS테스트 2. 커리큘럼: 6개월, 1,000시간 3. 하루 일정: 수업 · 스터디 · 주말 활용, 생활 수업스터디주말 활용생활 4. 난이도 체감: 수업과 프로젝트 수업 난이도입과 전에 알면 좋은 것들 5. 좋은 점과 아쉬운 점 좋은 점아쉬운 점 6. 마무리 0. 들어가며 안녕하세요! 현대오토에버 모빌리티 SW스쿨 IT보안 4기로 교육을 받고 있는 교육생입니다.7월 6일에 입과해서 벌써 15주차, 전체 약 25주 과정의 절반을 넘겼어요. 처음엔 전체 %를 보며, 6개월이 길게 느껴졌는데 막상 지나고 보니 정말 빠르네요. 수료까지 반 정도 남은 지금, 그동안의 생활을 정리해 보려고 합니다. 입과 전 제가 관.. 더보기
spring 5주차 - section 6 웹 MVC웹 개발에서 사용하는 소프트웨어 디자인 패턴 (model, view, controller로 구성됨)model: 웹 어플리케이션의 데이터, 비즈니스 로직 처리view: UI를 구성controller: 사용자 입력을 처리하고, model과 view를 연결먼저 요청이 오게 되면 스프링 컨테이너에서 관련 컨트롤러를 찾고, 없으면 static 파일을 찾도록 동작을 진행한다. home.html// HomeController@Controllerpublic class HomeController { @GetMapping("/") public String home() { return "home"; }}controller 디렉토리에 HomeController 파일에서 Controller.. 더보기
spring 4주차 - section 5 스프링 빈과 의존 관계스프링 빈(Bean)은 컨테이너에 의해 관리되는 객체를 의미한다.어플리케이션이 돌아가는데 필요한 객체를 컨테이너에 등록을 하고 등록된 빈(Bean) 사이에 의존 관계를 설정해야한다.Spring bean으로 등록하기 위해서는 Annotation(@Repository, @Component, @Service, @Controller)와 같은 기능을 클래스 선언 이전에 붙임으로써 지정을 할 수 있다.  해당 그림에서는 스프링 컨테이너에 3개의 bean 객체(memberController, memberService, memberRepository)가 존재한다. memberRepository는 memberService에 그리고 memberController에 각각 의존되어 있는 것을 볼 수 있다.. 더보기
spring 2,3주차 - section 3,4 정적 컨텐츠웹 브라우저의 요청이 있을 때, 서버에서 파일을 그대로 웹 브라우저에게 전달하는 방식 Hello-static.html을 요청할 경우 내장 톰켓 서버를 거치고 스프링에 hello-static 과 관련한 컨트롤러가 없기 때문에 리소스에서 hello-static.html을 찾은 후 그대로 웹 브라우저에게 반환을 해줌// main/java/controller/Controller.javapublic class Controller { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "spring!!"); return "hello"; }}// main/resources/stat.. 더보기
자료구조 스터디 week 6 - 재귀 재귀함수 내부에서 자기 자신을 호출하는 함수, Recursion등차수열, 팩토리얼, 피보나치 수열 등 많은 알고리즘을 재귀적으로 표현할 수 있다// 등차수열public int seq(int n) { if (n == 1) return 1; else return seq(n - 1) + 3;}// 피보나치public int fib(int n) { if (n == 1 || n == 2) return 1; else return fib(n-1) + fib(n-2);}  하노이의 탑하노이의 탑도 재귀적으로 구현할 수 있다a, b, c 3개의 기둥이 있고, 이 3개의 원반을 기둥 b로 옮겨야 하는 작업을 재귀적으로 구현 하노이의 탑을 재귀적으로 표.. 더보기
자료구조 스터디 week5 - 큐 큐(Queue)입장을 위해 줄 서는 모습, 대기열과 같이 먼저 들어온 데이터가 먼저 나가는 방식으로 실행되는 자료구조따라서 선입선출(FIFO)의 특징을 가진다.- 후입선출(LIFO) 특징을 가지는 스택과는 대비되는 개념이다. 배열 자료형을 이용하며, 변수 front와 tail을 통해 큐에 있는 자료를 추가 혹은 삭제할 수 있다.물론 큐의 최대 크기를 예상할 수 있는 경우에는 배열이 가장 효율적이지만, 작업 과정에서 배열의 크기를 예상할 수 없는 경우 배열의 크기를 재할당 받아야하는 단점이 존재한다. 배열을 이용한 큐 구현ADT 큐에는 4개의 필드 queue[], numItems, front, tail이 있고, 5개의 함수가 있다.예) enque(x), dequeue(), front(), isEmpty().. 더보기
GDSC/GDG 오리엔테이션 - 환경 설정 GDSC 시작이번 GDSC 4기에 지원하였고, 나름 면접을 잘봤다는 평가를 받고 GDSC Back-end 파트에 합격하였다.사실 면접을 보고 나올때만 해도 긴장이 돼서 못봤다는 생각이 자꾸 들었었다. 기존에 백엔드와 관련된 프로젝트 경험이 없을 뿐더러, 웹 페이지를 만들어 본거라곤 php와 mysql로 게시판 CRUD를 한게 전부였다. 그것도 제대로 만들지 못해 취약점 투성이어서 어디 프로젝트라고 내놓지도 못하는 웹사이트다. 그래도 간단한 기술 질문같은 것은 답변 할 수 있었고, 운이 좋게 붙었다고 생각한다. 웹 개발 관련 다른 프레임워크를 다뤄보고 싶어서 지원한만큼 최대한 열심히 활동하려고 한다. OT이번 세션에서는 앞으로의 Backend 스터디 진행 방향과 8주간 만들어야할 프로젝트에 대해 설명을 들.. 더보기
NoSQL, NoSQL Injection 기초 NoSQL이란?No-relational DBMS(NoSQL, NRDBMS)는 영문 그대로 관계형 데이터베이스가 아닌 데이터베이스를 의미한다RDBMS는 테이블간의 관계를 이용하여 데이터를 저장하는 반면, NoSQL은 RDBMS와 달리 고정된 스키마 없이 유연한 방식으로 데이터를 정리할 수 있어, 간단한 작업에 매우 유용하다 대표적으로 MongoDB, Reddis, CouchDB가 있다 MongoDBMongoDB는 JSON(Javascript 객체 표기법) 형태로 자료를 저장하며 많은 데이터를 유연하고 쉽게 저장할 수 있는 NoSQL이다. MongoDB의 특징스키마를 따로 정의하지 않아 각 컬렉션(Collection)에 대한 정의가 필요없다JSON 형식으로 쿼리를 작성할 수 있다_id 필드가 Primary .. 더보기