본문 바로가기

IT78

MVC, MVP, MVVM MVC는 모델-뷰-컨트롤러의 줄임말이란 정도가 내가 아는 유일한 사실(?) 이었다. 위의 세 가지 디자인 패턴에 대해 조사하게 된 계기는 얼마 전 Vue, React, Angular의 차이점에 대해 설명을 들으면서 각각의 디자인 패턴과 관련있는 언어가 무엇일까에 대해 듣다가 잘 이해가 가지 않아서 조사해보게 되었다. 디자인 패턴이란? 우리는 개발을 하면서 소프트웨어 공학적 관점에서 좋은 코드를 만들기위해, 좋은 코드 '디자인'을 하기 위해 많은 노력을 한다. 싱글톤, 옵저버 패턴… Java 개발을 하면서 사용해본 디자인 패턴은 이 두 가지 정도가 있지만 명확하게 '디자인 패턴'이 무엇인지를 떠올려본 적은 없다. 누군가의 코드를 따라쓰면서 이런 식으로 하면 효율적이구나, 이런 방식을 싱글톤이라고 하는 구나.. 2020. 8. 15.
SSO란? SSO! 같이 스터디 하시는 분이 인턴하면서 얘기해주신 건데 정말로 처음 들었던 거라, 꽤 신기하기도 하고(실제로 자주쓰는 기능인 거 같기도하고) 한 번 알아보면 좋을 것 같아서 오늘의 주제는 SSO로 정했다. SSO란? Single-Sign On. 싱글 사인 온. 통합 인증. 한 번의 통합 인증으로 여러 컴퓨터 상의 자원을 이용 가능하도록 만든 것이다. 매 사이트마다 새로운 아이디와 비밀번호를 생성하는 것이 아닌 단 한 번의 회원 가입으로 여러 서비스를 사용할 수 있다면? 에서 나온 유저 편의를 위한 인증 방식이다. 간단히 이야기하자면 우리가 익히 알고 있는 기능이다. 사진과 같은 기능을 제공하는 사이트가 있다면, 해당 사이트는 네이버, 카카오, 페이스북, 구글에 SSO 인증을 제공하고 있는 것이다. .. 2020. 8. 2.
SPA란? 저번에 Y언니가 알려준 SPA에 대해서, 그리고 그 단점인 SEO에 대해서 자세히 알아보려고 한다. (그 외에도 스터디 때 알게된 사항에 대해서 본인의 글로 옮겨보는 시간을 ... 틈틈이 가지려고 한다! 사실 너무 많아서 다 할지는 모르겠다) 그리고 찾다보니 알게된 이와 대조되는 MPA의 개념에 대해 간략히 설명해보고 어떠한 차이가 있는지도 알아보자! SPA란? Single Page Application. 단일 페이지로 구성된 웹 어플리케이션으로 주로 CSR를 사용한다. (SPA라고 해서 무조건 CSR이 아니다!) 페이지에 처음 진입 시 모든 데이터를 다운로드한다. 페이지의 리소스를 클릭하더라도 모든 것을 다시 로드하지 않는다. 전통적인 방식에서의 SPA는 서버 사이드 렌더링이 아닌 클라이언트 사이드 렌.. 2020. 8. 2.
SSR과 CSR이란? 저번주에 Y언니가 SPA에 대해서 알려주는 시간이 있었다! 이와 관련된 조금 디테일한 이야기를 하면 좋을 것 같아서 SSR(Server-side Rendering, 서버 사이드 렌더링)과 CSR(Client-side Rendering, 클라이언트 사이드 렌더링)에 대해서 찾아볼까 싶었다. 이미 알고 있던 사실 : 언니가 알려주기 이전에 SPA에 대해서는 잘 몰랐지만 이번에 면접 준비를 하면서 최근 들어 서버 사이드 렌더링에서 클라이언트 사이드 렌더링이 조금 더 유행(?) 한다는 얘기를 들었다. 단어를 처음 들었을 때의 소감은 서버 사이드 렌더링은 말 그대로 서버에서 렌더를 하는 것일테니 마치 검색어를 입력하면 그에 대한 추천검색어를 서버에서 다시 클라이언트에 건네주는 것과 유사한 것일거라 생각했고, 클라.. 2020. 7. 22.
REST API란? REST (REpresentational State Transfer) 해석하자면 Representation이 어떠한 것을 나타낸 것(표현)이니 표현적 상태 전송 정도로 보여진다. 자원의 정의와 통신에 대한 표현법을 나타냈기에 붙여진 이름같다. REST의 구성 요소는 자원Resources : *URI 행위Verb : Http Method (EX. GET, POST, PATCH, PUT, DELETE) 표현Representation 이다. 즉, REST란 간단히 말해서 웹이 존재하는 모든 자원Resources에 고유한 URI를 정의하고 자원에 **CRUD를 실행하는 방식(HTTP Method)을 정해놓은 아키텍처 스타일이다. *URI : Uniform Resource Identifier. 통합 자원 식별자... 2020. 7. 9.
C++과 Java의 차이점 이미 알고 있던 사실 : C++과 Java는 둘다 객체지향프로그래밍 언어이다. C++과 달리 Java는 JRE에서 돌아가는 언어이다. 가장 큰 차이점은 메모리 관리에서 나타난다. Java에서는 자동적으로 GC가 메모리를 관리해준다. C++ Java C 소스 코드와 하위 호환성 다른 언어와 소스 코드 호환성은 없음 부호없는(unsigned) 연산 지원 부호없는 연산 지원 안 함 값에 의한 매개변수 전달 또는 참조에 의한 매개변수 전달 항상 값에 의한 매개변수 전달. 매개변수로 객체에 대한 참조값을 사용할 수는 있다. 참조 대상의 내용을 변경할 수는 있지만, 참조값 자체는 변경할 수 없다; 메서드 호출 후에도 참조하는 객체는 다른 객체로 바뀌지 않을 것이다. 명시적 메모리 관리, 가비지 콜렉션은 추가적으로 .. 2020. 6. 21.
기술면접 참고 자료 https://gyoogle.dev/blog/ 👨🏻‍💻 Tech Interview Tech Interview for developer 👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖 [제작] : Gyuseok Kim (Email : gyuseok6394@gmail.com) [⭐️GitHub Repository Link⭐️] ✔️주관적인 정리 내용으로 잘못된 정보가 gyoogle.dev https://github.com/JaeYeopHan/Interview_Question_for_Beginner JaeYeopHan/Interview_Question_for_Beginner :boy: :girl: Technical-Interview guidelines written for those who starte.. 2020. 6. 20.
[Android Studio] OpenCV 적용 OpenCV Github Releases OpenCV Sorceforge 두 링크 중 아무 곳에서나 필요한 버전의 파일(opencv-x.x.x-android-sdk.zip)을 다운로드 OpenCV-android-sdk\sdk\native의 libs 파일을 프로젝트 내의 app\src\main로 복사한다. 붙여넣은 libs 폴더의 이름을 jniLibs로 변경한다. 이후 잠시 error: package android.hardware.camera2 does not exist에러 발생하였으나 해당 방법으로 해결. Ref. https://blog.qwaz.io/dev-diary/android-studio-2-2에서-opencv-3-1-세팅하기 https://emptybox031.tistory.com/entry/안.. 2019. 10. 16.