전체 글132 Android / 원형 이미지 구현하기 인스타그램 애플리케이션의 헤더부분을 보면 아래와 같이 스토리 부분의 이미지가 원형으로 표시된다. 방법은 아래와 같다. -원형 이미지 예제- 1. 원형 이미지는 라이브러리가 존재하므로 그래들에 라이브러리 코드 추가하고 sync now 클릭 implementation 'de.hdodenhof:circleimageview:3.1.0' 2. 소스코드 작성 및 'de.hdodenhof.circleimageview.CircleImageView' 요소로 이미지 구현하면 끝 activity_main.xml layout_profile.xml 2020. 7. 21. MySQL / Object 개념 정리 stricky.tistory.com/m/315 Mysql objects 개념 정리 for 개발자 Mysql objects 개념 정리 for 개발자 여러분들이 쓰는 Mysql 내에는 어떤 objects들이 있고, 각 object가 Mysql이라는 DBMS내에서 어떤 역할을 하는지 잘 알고 계십니까? 그동안 DB쪽에서 업무를 하면서 수없이 stricky.tistory.com 2020. 7. 20. Spring Boot / @ResponseBody와 @RequestBody 오늘 포스팅 내용은 @ResponseBody와 @RequestBody 2가지를 다룬다. 이 두가지 어노테이션은 어떠한 상황에 사용될까? 지금부터 알아보자. 1. @ResponseBody 클라이언트와 서버간의 통신에 있어서 주고받는 것은 크게 2가지가 있다. 바로 파일과 데이터이다. 서버가 클라이언트에게 파일을 리턴해줄 때는 @Controller 어노테이션을 사용하고, 데이터를 리턴해줄 때는 @RestController어노테이션을 사용한다. 그런데 만약 @Controller가 작성된 자바파일에서 데이터를 클라이언트에게 리턴해주고 싶을 땐 어떻게 해야할까? 이때 지금 다루는 @ResponseBody 어노테이션을 사용한다. @ResponseBody는 간단히 말해 @Controller 어노테이션이 달린 자바파일.. 2020. 7. 16. Spring Boot / @ComponentScan과 @Controller, @Service, @Repository, @Configuration, @Component 이번 포스팅에서는 @ComponentScan 어노테이션과 이 어노테이션이 읽어내는 어노테이션에 대해 살펴보자. @ComponentScan @ComponentScan 어노테이션은 프로젝트 생성 시 프로젝트명과 함께 뒤에 Application.java가 붙어 생성되는 파일에 작성되어있는 @SpringBootApplication 어노테이션에 내장되어 있는 어노테이션이다. @ComponentScan 어노테이션의 주 기능은 첫째, 스캔 위치를 설정하고 둘째, 필터를 통해 특정 어노테이션의 스캔여부를 설정한다. 이 어노테이션은 기본적으로 프로젝트 생성 시 만든 메인패키지의 이하 모든 패키지의 어노테이션들을 전부 스캔한다. 스캔하는 대상 어노테이션은 다음과 같다. @Controller @Service @Reposit.. 2020. 7. 16. Spring Boot / pom.xml 스프링부트 프로젝트를 생성하면 각각 맡은 역할이 있는 디렉토리 및 파일들이 구성된다. 이번 포스팅에서는 그 중 라이브러리의 다운 및 삭제를 주로 담당하는 pom.xml에 대하여 살펴보자. pom.xml? pom.xml은 방금 언급하였듯이 라이브러리의 다운로드 및 삭제를 담당하는 파일이다. pom.xml의 예시는 아래와 같다. 위 이미지를 보면 여러 태그들이 존재하는데 필자도 모든 태그들에 대해 이해하고 있지 못하고 있으므로 자바버전과 라이브러리에 관련된 태그만 짚어보겠다. 우선 태그 내에 존재하는 태그는 누구나 알 수 있듯이 자바버전을 설정하는 태그이다. 또한 태그 내에 여러 태그들이 존재하는데 이것은 라이브러를 사용할때 사용하는 태그이며 MAVEN을 이용시에 사용하는 태그이다. 프로젝트 생성 직후 po.. 2020. 7. 15. Android / AndroidX gradle 모음 1. 구글 Material https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md material-components/material-components-android Modular and customizable Material Design UI components for Android - material-components/material-components-android github.com implementation 'com.google.android.material:material:1.2.0-alpha02' 2. lombok https://projectlombok.org/.. 2020. 7. 15. Android / 레이아웃의 종류 레이아웃을 살펴보기 전에 뷰와 뷰그룹의 개념이 잡히지않았다면 아래링크 참조 https://swdevelopment.tistory.com/283 Android / 뷰(View) *뷰(View) 뷰는 일반적으로 컨트롤이나 위젯으로 불리는 UI구성 요소이다. 즉, 사용자의 눈에 보이는 화면의 구성 요소들이 뷰라고 할 수 있다. 또한 이러한 뷰를 여러 개 포함하고 있는 것을 뷰그� swdevelopment.tistory.com *대표적인 레이아웃 다음은 안드로이드에서 제공하는 대표적인 레이아웃 5가지이다. 레이아웃명 내용 ConstraintLayout(제약 레이아웃) - 제약조건 기반모델 - 제약조건을 사용하여 화면을 구성하는 방법 - 안드로이드 스튜디오에서 자동으로 설정하는 디폴트 레이아웃 LinearLayo.. 2020. 7. 14. Android / 뷰(View) *뷰(View) 뷰는 일반적으로 컨트롤이나 위젯으로 불리는 UI구성 요소이다. 즉, 사용자의 눈에 보이는 화면의 구성 요소들이 뷰라고 할 수 있다. 또한 이러한 뷰를 여러 개 포함하고 있는 것을 뷰그룹이라고하는데, 이 뷰그룹은 뷰그룹 안에서 뷰의 위치를 지정할 수 있다. 뷰그룹은 여러 개의 뷰를 담고 있는 그릇과 같아서 뷰와는 다른 것이라고 할 수 있으며, 또 다른 뷰그룹을 뷰그룹 안에 넣고 다른 뷰ㅜ와 동일하게 다루도록 만들 수도 있다. 뷰그룹 안에 또다른 뷰그룹을 넣으면 여러가지 장점이 있으며, 이 때문에 뷰그룹은 뷰를 상속하여 뷰그룹을 뷰처럼 다룰 수 있다. 뷰그룹과 뷰의 관계는 디자인 패턴중 컴포지트 패턴을 사용하여 만들어졌으며, 컴포지트 패턴으로 만들어진 뷰그룹은 뛰어난 확장성을 가진다. 때문에.. 2020. 7. 14. Spring Boot / 프로젝트 생성하기 스프링부트가 무엇인지 간략히 알아보았으니 이제 스프링부트 프로젝트를 생성해보자 툴은 STS를 사용하였다. 1. STS툴을 켜고 'Spring Starter Project' 클릭 2. 빨간 박스에 해당하는 부분들을 사용자 의도에 따라 설정하고 'Next' 잠깐! gradle, maven, yarn, npm, pip등은 라이브러리 관리도구 또는 버전관리 도구 또는 의존성 관리도구라고하며 자바코드 + 라이브러리를 관리하며 패킹을 할수 있다. 3. 빨간 박스는 프로젝트 생성과 동시에 설치하고자하는 라이브러리들을 선택할 수 있는 공간으로, 내가 필요로하는 라이브러리를 채택하고 'Next' 여기서 핵심이 되는 라이브러리는 많지만 그중에서도 2가지를 꼽자면 'Spring Boot DevTools'와 'Spring W.. 2020. 7. 13. Spring / Filter와 Interceptor Filter -Abstract- Filter : 요청과 응답을 걸러 정제하는 역할을 한다. Filter 개념 Filter는 J2EE의 표준이며 Servlet2.3부터 지원되는 기능이다. Filter는 Servlet Container에 의해 동작이 제어되는 Java Class로 HTTP Request가 Service에 도착하기전, HTTP Response가 Client에 도착하기 전에 제어하는 역할을 한다. Request를 처리할 때에 Dispatcher Servlet이 작업을 처리하기 전에 동작하고 Response를 처리할 때엔 Dispatcher Servlet에 의해 작업이 끝난 이후 동작한다. 또한 자원의 처리가 끝난 후 응답내용에 대해서도 변경하는 처리를 할 수 있다. 보통 web.xml에 등록하고.. 2020. 7. 10. Spring / AOP란? AOP -Abstract- AOP는 애플리케이션 전체에 걸쳐 사용되는 기능을 재사용하도록 지원하는 것이다. AOP 개념 객체지향의 기본원칙을 적용하여도 핵심기능에서 부가기능을 분리하여 모듈화하는 것은 어려운일이다. 이러한 고충을 덜고자 탄생한 개념이 AOP이며 이러한 AOP는 애플리케이션에서의 기능분리와 핵심기능에서 부가기능을 분리하여 모듈화를 돕는다. 이렇게 분리한 부가기능을 Aspect라는 독특한 모듈형태로 만들어 설계하고 개발하는 방법을 AOP라고 하는 것이다. AOP는 OOP가 가지는 문제점을 보완하기위해 나온 개념이라고 보면된다. AOP는 부가기능을 Aspect로 정의하며, 핵심기능에서 부가기능을 분리함으로써 핵심기능을 설계하고 구현할 때 객체지향적인 가치를 지킬 수 있도록 도와준다. AOP 예.. 2020. 7. 10. Spring / IoC와 DI *loC란? IoC는 Inversion of Control의 약자로 프레임워크의 핵심 요소이며 스프링에도 예외없이 존재하는 개념이다. IoC는 해석하면 제어의 역전 또는 제어의 반전이며 이것은 메소드나 객체의 호출작업이 개발자에 의해 결정되는 것이 아닌 외부(스프링)에서 결정되는 것을 의미한다. 제어의 반전 개념은 이미 폭넓게 적용되고 있다. 일반적으로 자바 프로그램은 main()메서드로부터 시작하여 개발자가 미리 정한 로직흐름을 따라 객체가 생성되고 실행된다. 하지만 서블릿은 다르다. 서블릿은 개발해서 서버에 배포할 수는 있지만, 배포하고 난 후에는 개발자가 직접 제어할 수 있는 방법이 없다. 대신 서블릿에 대한 제어 권한을 가진 컨테이너가 적절한 시점에 서블릿 클래스이 객체를 만들고 그안의 메서드를 .. 2020. 7. 10. Spring / Spring이란? *Spring의 개념 스프링이란 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이며 스프링 프레임워크를 말한다. 스프링은 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하며, 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 사용되고 있다. *Spring의 특징 오픈소스이다. loC 컨테이너를 가진다. DI를 지원한다. 엄청나게 많은 필터를 가지고 있다. 엄청나게 많은 어노테이션을 가지고 있다. MessageConverter를 가지고 있다. (기본값은 현재 JSON이다.) BufferedReader와 BufferedWriter를 쉽게 사용할 수 있다. 꾸준히 발전하고 있다. *Spring의 주요 모듈 스프링에서 사용되는 주요 모듈은 다음과.. 2020. 7. 10. Spring Boot / 스프링부트란? Spring Boot란 -Abstract- 스프링부트는 Java로 어플리케이션을 쉽고, 빠르고, 간편하게 개발할 수 있도록 각종 라이브러리들을 모아놓은 도구이다. Spring Boot 개념 스프링 부트는 실행만 하면 스프링 기반의 상용화가 가능한 애플리케이션을 쉽게 만들기 위해 단독 실행을 가능케해주는 스프링 프로젝트이다. 즉, 스프링을 쉽게 사용할 수 있도록 필요한 설정을 대부분 미리 셋팅해 놓은 도구라고 할 수 있다. Spring Boot 특징 단독으로 실행이 가능한 스프링 애플리케이션을 생성한다. Tomcat, Jetty, Undertow를 내장하고 있다. 기본설정이 되어있는 starter컴포넌트를 제공한다. 상용화에 필요한 통계, 상태 체크, 외부 설정 등을 제공한다. 설정을 위한 XML코드를 생.. 2020. 7. 10. Android / 안드로이드 스튜디오 개발환경셋팅 이글은 주관성이 매우 강하며 필요없는 요소들은 넘기시면되고 추가적으로 필요하신부분들은 따로 찾으셔야합니다. 또한 단위별로 설정후 'apply' 해주셔야합니다 잊지마세요. 이 글의 목차 자동 Import 설정하기 폰트 및 dev Theme 설정 라이브러리 셋팅 1. 자동 Import 설정하기 1) 'File' -> 'Settings' 클릭 2) 'import'를 검색 후 'Auto Import' 클릭하고 아래와 같이 진행 후 'Apply' 클릭하면 끝 2. 폰트 및 Theme 설정하기 1) 'font' 검색 후 'Font' 클릭하고 독자가 원하는 폰트와 사이즈, 라인간격등을 설정후 'Apply' 2) 'Appearance' 클릭하고 자신이 원하는 Theme 및 옵션들을 설정 하고 'Apply' 하면 끝 3.. 2020. 7. 8. 이전 1 2 3 4 5 6 7 ··· 9 다음