본문 바로가기

전체 글

(53)
웹 프로젝트(12books) -02. 프로토타입 프로토 타입 * 프로토 타입을 위해 회의를 했습니다. 기본적인 기능(로그인, 회원가입, 글쓰기) 기능과 저희 프로젝트를 위한 관리자 페이지를 먼저 디자인해보았습니다. * 프로토 타입을 위한 툴은 초기에는 발사믹(https://balsamiq.com/wireframes/) 이라는 것을 쓰려고 했으나 유료로 전환이 돼서 다음 카카오에서 개발한 무료 툴인 오븐(https://ovenapp.io/)을 쓰기로 했습니다.* 저희가 제작한 프로토 타입의 링크는https://ovenapp.io/view/B3I2yZUSuHf8pJ9LneyZN32uM4b4S5X5/ 입니다.
TechStudty -02 함수형 프로그래밍이란? 함수형 프로그래밍이란? 순수함수를 작성하는 것, 그러니깐 숨겨진 입력이나 출력을 최대한 제거하여 가능한한 우리 코드의 대부분이 단지 입력과 출력의 관계를 기술하게끔 하는 것을 말한다. 자세한 것은https://ko.wikipedia.org/wiki/%ED%95%A8%EC%88%98%ED%98%95_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D 에서 알아보도록 하자
TechStudy - 01.OOP란 ? OOP(Object Oriented Programming)이란? * 실제 세계를 모델링 하여 소프트웨어를 개발하는 방법* 프로그램을 수많은 '객체'라는 기본 단위로 나누고 이 객체들의 상호작용으로 서술하는 방식이다. * 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여래 개의 독립된 단위 즉 '객체'들의 모임으로 파악하고자 한다.* 객체를 데이터 묶음으로만 착각하기 쉬운데, 그보다는 하나의 '역할'을 수행하는 메소드와 데이터의 묶음으로 봐야한다. * 컴퓨터 프로그래밍의 패러다임 중 하나이다.* 마치 컴퓨터 부품을 하나씩 사다가 컴퓨터를 조립하는 것과 같은 방법이다. OOP(Object Oriented Programming)장점?* 코드의 중복을 어느정도 줄일 수 있다. * 코드를 재사용하기 쉽..
웹 프로젝트(12books) - 01. 기획 기획 * 책을 기간 내에 읽도록 도와줄 무언가가 있으면 좋겠다.* 책과 기간을 정해서 도전을 하는 진행사항을 가시적으로 보여주는 사이트가 있으면 좋겠다. 기능* 유저가 책의 정보와 기간을 입력하고 매일 읽은 부분에 대한 리뷰를 남긴다. * 책을 읽고 리뷰를 쓰는 기간이 지나 완료되면 매일 나눠서 쓴 리뷰를 한데 합쳐서 보여준다.* 다른 유저들도 쓴 글을 볼 수있다. (사용자가 공개로 설정하면) 아키텍쳐* Spring boot * JPA* mysql* thymeleaf빌드 툴 * maven기타* 우리 프로젝트의 이름은 Twelve Books(12books)로 하기로 했습니다.* 최소 한 달에 한 권 일년에 열두권은 읽어나가자는 뜻입니다.
제네릭 제네릭이란?타입을 파라미터화해서 컴파일시 구체적인 타입이 결정되도록 하는 것 제네릭의 장점?컴파일시 강한 타입 체크를 할 수 있다. 실행시 타입 에러가 나는 것보다 컴파일시에서 미리 타입을 강하게 체크해서 에러를 사전에 방지한다. 제네릭 타입(class, interface)타입을 파라미터로 가지는 클래스와 인터페이스를 말한다. 선언시 클래스 또는 인터페이스 이름 뒤에 가 붙는다. 안에 타입 파라미터가 위치한다. 타입 파라미터는 변수명과 동일한 규칙에 따라 작성할 수 있지만, 일반적으로 알파벳 한 문자로 표현한다. 제네릭 타입을 실제 코드에서 사용하려면 개발 코드에서 구체적인 타입을 지정해야한다.
hr schema 분석 아래는 sql연습할 때 보편적으로 많이들 쓰는 hr(human resources)의 erd입니다. workbench에서 Reverse Engineer로 만들었습니다. 관계 설정에 대해서 공부해보려고 분석을 해보았습니다. regions, countries, locations 의 관계를 먼저 분석해보았습니다. regions 는 각자 다른 region 들의 정보 (region_id, region_name) 을 갖습니다. 각자 대륙의 정보를 갖는다고 생각하시면 됩니다.(asia, africa, america 등등) 대륙의 정보들이 모여서 regions 테이블이 됩니다. countries table은 id, name, 그리고 region_id에 대한 정보도 갖습니다. 여러 나라의 정보들이 모여서 countries..
Class.forName()의 동작 원리 자바는 JVM을 기반으로 동작합니다. main 메소드를 갖는 간단한 클래스를 만들어서 실행시키든, WAS에서 JSP나 서블릿을 실행시키든 결국 JVM위에서 동작하게 됩니다. JSP의 경우에는 먼저 WAS가 파일을 해석한 다음 자바 소스코드를 만들어 냅니다. 이것은 서블릿과 동일한 방식으로 동작하는 클래스가 됩니다.Class 클래스는 JVM에서 동작할 클래스의 정보를 묘사하기 위한 일종의 메타 클래스입니다. 즉 JVM에 로드될 각 클래스이 정보를 담고 있는 클래스 입니다. 클래스의 이름, 멤버 필드들과 멤버 메소드, 클래스의 종류(자바의 interface는 내부적으로 클래스와 동일하게 취급합니다.)등등 많습니다.A a = new A();라는 코드가 있다고 가정하면, JVM은 우선 A라는 클래스가 JVM에 ..
Spring framework 란? Framework 란?특정한 목적에 맞게 프로그래밍을 쉽게 하기 위한 약속. 모든 프레임워크는 어떤 언어를 기반으로, 어떠한 목적을 갖고 만들어졌다.가장 헷갈려 하는 게 라이브러리 인데, 라이브러리는 우리가 직접 클래스를 new로 생성해서 사용하는 것이라고 보면 되고, 프레임워크는 내가 만든걸 framework가 사용해주는 것을 말한다. 이런 걸 제어의 역전(Inversion of Control), 뒤집혀진 라이브러리라고 한다. Spring framework 란? Spring은 견고한 Java 어플리케이션 개발을 위한 포괄적인 하부구조를 제공하는 open source framework이다. Spring Framework는 본질적으로 애플리케이션을 구축 할 수있는 탄탄한 토대를 제공하는 골격입니다. 이 스..