네이티브 앱 & 모바일 웹 앱 & 하이브리드 앱 네이티브 앱 (Native App) 흔히 우리가 자주 사용하는 어플리케이션을 의미한다. 모바일 기기에 최적화된 언어로 개발된 앱으로 안드로이드 SDK를 이용한 Java 언어나 iOS 기반 SDK를 이용한 Swift 언어로 만드는 앱이 네이티브 앱에 속한다. 장점 성능이 웹앱, 하이브리드 앱에 비해 가장 높음 네이티브 API를 호출하여 사용함으로 플랫폼과 밀착되어있음 Java나 Swift에 익숙한 사용자면 쉽게 접근 가능함 단점 플랫폼에 한정적 언어에 제약적 모바일 웹 앱 (Mobile Wep App) 모바일웹 + 네이티브 앱을 결합한 형태 모바일 웹의 특징을 가지면서도, 네이티브 앱의 장점을 지녔다. 따라서 기존의 모바일 웹보다는 모바일에 최적화 된 앱이라..
UI와 UX 많이 들어봤지만, 차이를 말하라고 하면 멈칫한다. 면접에서도 웹 개발을 해봤다고 하면 나올 수 있는 질문. UI User Interface 사용자가 앱을 사용할 때 마주하는 디자인, 레이아웃, 기술적인 부분이다. 디자인의 구성 요소인 폰트, 색깔, 줄간격 등 상세한 요소가 포함되고, 기술적 부분은 반응형이나 애니메이션 효과 등이 포함된다. 따라서 UI는 사용자가 사용할 때 큰 불편함이 없어야하며, 만족도를 높여야 한다. UX User Experience 앱을 주로 사용하는 사용자들의 경험을 분석하여 더 편하고 효율적인 방향으로 프로세스가 진행될 수 있도록 만드는 것이다. (터치 화면, 사용자의 선택 flow 등) UX는 통계자료, 데이터를 기반으로 앱을 사용하는 유저들의 특성을 분석하여 상황..
AI/ML 용어 정리 머신러닝: 인공 지능의 한 분야로, 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분입니다. 데이터 마이닝: 정형화된 데이터를 중심으로 분석하고 이해하고 예측하는 분야 지도학습 (Supervised learning): 정답을 주고 학습시키는 머신러닝의 방법론. 대표적으로 regression과 classification이 입니다. 비지도학습 (Unsupervised learning): 정답없는 데이터를 어떻게 구성되었는지를 알아내는 머신러닝의 학습 방법론. 지도 학습 혹은 강화 학습과는 달리 입력값에 대한 목표치가 주어지지 않습니다. 강화학습 (Reinforcement Learning): 설정된 환경속에 보상을 주며 학습하는 머신러닝의 학습 방법론입니다. Represent..
네이버 카페 https://cafe.naver.com/spring4shoppingmall 스프링으로 구현하는 쇼핑몰 : 네이버 카페 JSP와 스프링을 학습 후 쇼핑몰을 구현해 봅니다. cafe.naver.com 깃허브 https://github.com/gilbutITbook/006895 gilbutITbook/006895 자바 웹을 다루는 기슬_예제 소스. Contribute to gilbutITbook/006895 development by creating an account on GitHub. github.com 강의를 시작하며 https://youtu.be/qhc50ZYY4PM 1.1 클라이언트 PC 프로그램의 특징 https://youtu.be/HqK0A8ShAbg 1.2 클라이언트 서버 프로그램..
DI(Dependency Injection) - 스프링 컨테이너가 지원하는 핵심 개념 중 하나 - 설정 파일을 통해서 객체간의 의존관계를 설정 - 객체 사이의 의존관계를 객체 자신이 아닌 외부의 조립기가 수행 - 각 클래스 사이에 필요로 하는 의존관계를 Bean설정 정보 바탕으로 컨테이너가 자동으로 연결 - 객체는 직접 의존하고 있는 객체를 생성하거나 검색할 필요가 없음 -> 코드관리가 쉬워짐 AOP(Aspect Oriented Programming) - 공통의 관심 사항을 적용해서 발생하는 의존 관계의 복잡성과 코드 중복을 해소해 줌 - 각 클래스에서 공통 관심 사항을 구현한 모듈에 대한 의존관계를 갖기 보다는 Aspect를 이용하여 핵심 로직을 구현한 각 클래스에 공통 기능을 적용 - 간단한 설정만으..
자바, 스프링 면접 질문 1. OOP가 뭐죠? 2. 자바의 메모리 영역에 대해서 설명해보세요. 3. 인터페이스가 뭐죠? 왜 사용하나요? 4. 메모리 상수풀 영역에 대해 설명해보세요. 5. jdbc가 무엇인가요? 6. 직렬화란 무엇인가요 ? 7. serialVersionUID를 선언해야 하는 이유는 뭔가요? 8. 리플렉션이란 무엇인가요? 9. 자바의 클래스 멤버 변수 초기화 순서에 대해 설명하세요 10. Servlet과 JSP를 비교해서 설명하세요 11. 제너릭이 무엇인가요? 12. 컬렉션 클래스에서 제너릭을 사용하는 이유를 설명하세요 13. pojo가 무엇인가요? 14. 박싱과 언박싱에 대해 설명하세요 15. 데드락이 무엇이고, 해결방법에 대해 설명해보세요 16. 상속과 컴포지션(합성)의 차이에 대해서 ..
Managed code로 작성된 .NET 계열의 언어들이 OS에 맞게 실행됩니다. Common Language Runtime(CLR) : 공용 언어 런타임 일종의 가상머신입니다. Unmanaged code(C, C++ 등)들은 컴파일 시 해당 OS에 맞게 실행파일을 만들어 버립니다. 그러나 Managedcode들은 공용언어기반(CLI)로 작성되어 IL 계열의 공통중간언어(IL) 형태로 컴파일 되어 CLR에 의해 OS에 맞게 네이티브 코드(Native code)로 변환되어 프로그램이 실행됩니다. Managed code vs Native code Native code는 때로 Unmanaged code라고 불립니다. 그러니까 관리되는 코드와 관리되지 않는 코드라고 해야겠네요. 하지만 'Managed code는..
객체 - 동일한 성질의 데이터와 메서드를 모아두고 필요할 때 언제든지 이용할 수 있게 만들어 놓은 것 객체지향- 객체의 성격을 지향하는 프로그래밍- 객체들간의 메시지를 주고 받는 구조- 독립적, 대규모 클래스- 데이터와 메서드가 결합- 객체를 만들기 위한 틀- 각각의 특징을 지닌 객체들의 속성을 묶어 놓은 집합체- ex) '학생'이 클래스, '영희'와 '철수'는 객체 생성자- 객체 지향 프로그래밍에 쓰이는 객체 초기화 함수- 객체의 생성 시에만 호출되어 메모리 생성과 동시에 객체의 데이터를 초기화하는 역할 오버라이딩- 기존에 있는 메서드를 재정의하는 것으로 매개변수의 개수나 데이터 형식이 같아야 함- 상위클래스 또는 인터페이스의 메서드를 하위 클래스에서 재정의 하는 것 오버로딩- 메서드 이름은 같지만 매..
- 작업지시서라고도 한다. - 다형성을 가능하게 한다. 만약 팀장이 두명의 직원에게 Interface를 만들어 놓고 Interface를 implements해서 작업하라고 지시를 하였습니다. 두명의 직원은 인터페이스를 상속 받을 경우 무조건 인터페이스 내의 메서드를 다 작업해야 하기 때문에 1) 사용해야 하는 메서드를 알고 2) 정해진 메서드의 이름으로 작성할 수 있습니다. 하지만 인터페이스가 없다면 두 직원은 각자가 생각했을 때 필요한 메서드를 만들것이고, 각자의 마음대로 메서드명을 작성하게 되겠죠. 이렇게 각각의 개성이 가득 담긴 내용을 추후에 합치게 될 때 메서드명과 메서드의 개수 등을 다시 수정해야 하는 번거로움이 생기게 됩니다. 인터페이스의 특징 - 추상 메서드와 상수만이 존재 : 상수는 priv..
- Total
- Today
- Yesterday