전체 글
-
REST API (1)Back-end Developer/Server, Spring 2020. 7. 17. 16:54
API 개발을 해보신 분들이나, 졸업 작품을 해보신 분들은 한 번쯤 들어봤을 내용이라 생각합니다. REST API, RESTful API 등으로 불리고 있고 해당 내용은 몇 번을 강조해도 지나치지 않습니다. 이미 나온지는 꽤 오래되었고, 제가 처음 이에 대해 들은 건.. 16년도 쯤 같습니다. 그땐 뭐가 뭔지 잘 이해하지 못했지만, 개발 경험과 여러 자료를 지속적으로 읽어보고 찾아본 끝에 알 수 있게 되었습니다. 특히 네이버 Deview 2017에서 이응준님께서 발표하신 그런 REST API로 괜찮은가 영상은 꼭 보시라고 말씀드리고 싶습니다. (이 글도 해당 영상의 내용을 참고하여 정리했습니다.) REST가 저에게 제대로 스며들기 시작한 영상이고 계속해서 시간 날 때마다 이 영상을 보고 생각하고 공부하고..
-
Java 자료형과 String poolCS/DS & OOP 2020. 7. 1. 18:52
오늘 작년에 같이 대외활동했던 동생이 자바 공부한다고 연락이 왔습니다. 원래 파이썬을 쓰던 친구라 그런지 일반적인 언어에서 쓰는 개념과는 조금 헷갈려 하더라구요. (물론 파이썬이라서 그렇다기보단 새로운 언어를 공부하게 되면 겪는.. 혼동은 항상 있겠죠.) 또한, 일반적이라고 말하기엔 조금 편견이 있지만, python이 친근해진 것은 다른 언어에 비해 최신이니 이와 같이 표현했습니다. 어쨌든, 그 중 문자열과 문자 관련한 이야기가 나왔는데, 마침 정리해 두는 것이 좋을 것 같아 포스팅합니다. 대부분의 언어에선 문자와 문자열은 다르게 취급됩니다. C언어 쪽은 문자는 char, 문자열은 char[]로 표시를 한다 알고 있습니다. (문자 여러 개 == 문자열이니까 꽤나 직관적이네요.) 자바에서는 문자는 char..
-
AOPBack-end Developer/Server, Spring 2020. 6. 29. 19:39
본 포스팅은 Spring docs 내용을 기준으로 정리된 글입니다. 좀 더 자세한 내용은 해당 링크를 참고해 주세요. 일반적으로 관점이라 하면, 사람의 관점은 서로 다르다. 어떻게 보느냐에 따라 다른 결과가 나타난다. 뭐 이런 이야기를 많이 합니다. 하지만 AOP에서 쓰이는 용어들은 직관적인 의미와는 약간 상이한 뜻을 가집니다. (물론 관점을 여러가지로 고려해본다는 의미와는 꽤나 상통합니다.) 따라서, 용어에 대한 혼동을 가져올 수 있으니 주의하시기 바랍니다. AOP (Aspect Oriented Programming) 관점 지향 프로그래밍이라고 불립니다. AOP는 프로그램 구조에 대한 견해를 조금 다른 방식으로 접근해 OOP를 보완합니다. OOP의 핵심 모듈화 단위는 class인데, AOP의 핵심 모듈..
-
POJOBack-end Developer/Server, Spring 2020. 6. 28. 19:08
예전에 Spring이라고 검색하면 가장 많이 보이는 단어들이 있었습니다. (아주 지극히 개인적인 의견입니다.) 바로 DAO, DTO, VO와 POJO라는 단어들입니다. DAO, DTO, VO는 내용 자체는 간단하니 찾아보시면 될 것 같습니다. (코드 예제도 함께 보시면 좋을 듯합니다.) 오늘은 POJO에 대해 알아보겠습니다. POJO (Plain Old Java Object) 오래된 방식의 간단한 자바 오브젝트라는 말로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어 (출처: wiki) 의미는 크게 와닿지 않네요.. 뭔가 뭉쳐있는 애들을 분리시키고 나누어서(?) 더 좋게 바꿔보겠다 라는 의도로 보입니다. 하지만..
-
Proxy (bean scope)Back-end Developer/Server, Spring 2020. 6. 24. 18:55
사실 이 글을 쓸지 말지 고민을 많이 했습니다. 뭔가 Spring만의 개념만 쓰기엔 아직 필요한 부분 외에는 공부가 덜 된 느낌이라..ㅎㅎ (지속해서 공부하며 추가하겠습니다.) Proxy 우선 Spring에서 Proxy가 어떻게 쓰이는지 알기 위해선, 일반적으로 Proxy가 무엇인지 알면 좋겠죠. 연관해서 이해가 가능할 수 있으니까요. 사전적 정의부터 알아보겠습니다. Proxy [ ˈprɑːksi ] 1. 대리(권) 2. 대리인 3. (측정·계산하려는 다른 것을 대표하도록 이용하는) 대용물 (출처: naver 사전) 단어의 의미를 보니.. 어느 정도 역할이 유추가 됩니다. 뭐.. 술자리에서 볼 수 있는 흑기사? 같은 느낌도 있구요. ㅎㅎ 대신 무언가 처리해 주는? 이러한 애들의 이름 앞에 'proxy ~..
-
객체지향 5원칙 (SOLID)CS/DS & OOP 2020. 6. 24. 15:15
객체지향은 말 그대로 프로그래밍 개발에 있어서 '객체화를 지향하여 진행한다.'라는 의미입니다. Wiki에 기술되어 있는 정의는 아래와 같습니다. 객체 지향 프로그래밍 (영어: Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. (출처: 위키피디아) 개발하시는 분들은 이 정도는 다 아실 것이라 생각합니다. 다만, 이 객체지향이라는 것이 어떻게 적용되고 있는지 자세히 알아야 좀 더 이해가 빠르겠죠. 따라서 객체지향에는 '어떤 것이 객체지향이지..
-
Bean 그리고 scopeBack-end Developer/Server, Spring 2020. 6. 23. 18:49
지난번 Bean이 무엇인지 간략하게 알아봤습니다. (IoC container, Bean 관련 개념이 아직 부족하시다면 간략히 이전 포스트 참고해 주세요.) Bean을 사용하는 이유 중 하나가 scope가 자동으로 singleton으로 설정되기 때문이라 말씀드렸습니다. 오늘은 scope가 무엇이고, 그 종류와 각 종류별 특징에 관련한 내용을 알아볼까 합니다. (-> 이 글에서는 대표적인 두 가지 Singleton/Prototype와 관련한 내용을 포스팅 합니다.) 우선 사전적인 정의를 한번 보겠습니다. Scope [skoʊp] 명사 (무엇을 하거나 이룰 수 있는) 기회[여지/능력] (=potential) 명사 (주제 조직 활동 등이 다루는) 범위 동사 (비격식) 샅샅이[자세히] 살피다 이외에도 다양한 의미..
-
BeanBack-end Developer/Server, Spring 2020. 6. 22. 18:53
졸업 작품을 준비하며 Spring에 대해 처음 접했습니다. (많이 늦게 시작했죠.. 코딩 자체도 늦게 시작했습니다. ㅠ) 그 이후 다양하게 찾아봤지만 제대로 이해가 어려웠고, 흐름이 와닿지 않아 힘들었던 기억이 납니다. 큰 개발 경험을 두 가지 정도 접해보고, 백기선님의 Spring 강의를 통해 다양한 개념을 잘 잡을 수 있었습니다. 홍보 아닌 홍보지만.. ㅎㅎ 개념잡기엔 정말 좋은 강의였다 생각합니다. 유료지만 혹시 스프링 개발을 몇 번 해보셨다면 꼭 보시는 것을 추천드립니다. 흐름 파악에 좋았던 것 같고, 정석적인 코드 및 개념 습득에 매우 좋았습니다. 실제로 개발할 때는 상황마다 다 다르기 때문에 개발 자체를 위한 실습을 원하신다면 다른 강의를 추천드립니다. (이 글에 정리하는 내용 또한 개발 실습..