본문 바로가기

분류 전체보기322

20230719 flex 블럭 요소를 가로로 배치하는 테스트에 관련한 수업이다. 블럭 요소를 가로로 배치하는 테스트 div1 div2 div3 div4 div5 위와 같은 코드로 div를 만들면 아래처럼 세로로 출력이된다. style을 추가해줘보겠다(잘 보이게하려고..) 블럭 요소를 가로로 배치하는 테스트 div1 div2 div3 div4 div5 원래 세로로 배치 되던 것이 flex를 사용하여 가로로 배치 되었다. 여기서 width를 제거하게 되면 자식요소들은 필요한 만큼만의 width를 자동으로 갖게 된다. flex-direction을 통해 오른쪽을 기준으로 배치시킬수도 있다. flex-direction의 column과 column-reverse를 사용하면 아래와 같다. flex-wrap의 특징은 아래와 같다. 정렬의 관한.. 2023. 7. 19.
웹 애플리케이션과 싱글톤 스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 생겼다. 물론 온라인만 처리하는 것이 아닌 여러종류의 애플리케이션이 있다. 대부분의 스프링 애플리케이션은 웹 애플리케이션도 있고 웹이 아닌 애플리케이션 개발도 얼마든지 할 수 있다. 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. 클라이언트(고객)들의 여러번 요청하면 웹 애플리케이션은 요청이 올때마다 객체를 만들어야 한다. Appconfig를 호출할 때 마다 새로운 객체가 생성이 되는데, 위에말처럼 고객들을 대상으로 하는 온라인 서비스이기 때문에 요청하는 고객들이 많아질 수록 엄청난 양의 객체가 생성될 수 있다. 순수한 DI컨테이너인 AppConfig는 요청을 할 때마다 객체를 새로 생성한다. 고객 트래픽이 초당 100개가 나오면 초당 .. 2023. 7. 19.
20230718 Poligon 응용해보기 Math.round를 지워도 잘 돌아간다. 위에 폴리곤을 이용해서 사진을 넣는 작업을 해본다 했을 때 만약 사진이 100장이라면 100각형이 될 필요는 없다. 사진이 1000장이 있다고 해서 그 1000장을 모두 데이터로 가져올 필요도 없다. 굉장히 낭비적인 일이다. 앞에 보이는 부분만 내용이 출력되도록 하되 뒤에 내용을 보여질 필요가 없으니 출력 안하도록 하는 것이 좋을 것 같다. 클라이언트가 보는 상황으로 투명도를 줄여 출력은 먼저 안하도록 해보면 개발자 입장에서는 3개의 div만 구현해주면된다. 먼저 간단하게 동물이 들어간 배열을 집어 넣어줘보겠다. 2023. 7. 18.
20230718 AndroidStudio설치/실행 android.com에 접속해서 Android스튜디오 및 SDK에 접속한 후 계속 Next를 눌러 주고 설치를 완료한다. 상당히 오래 걸린다... 아직설치중..10분째.. 설치가 완료된 후에 다음처럼 프로젝트를 만들어 준다. Finish를 눌러준 후에 다시 대기한다.. 안드로이드 스튜디오는 구글이 안드로이드앱 개발을 위해 IntelliJ를 만든 JetBrains에서 만든 통합개발 환경이다. 무료로 제공되고 있으며 Kotlin도 사용이 가능하다. Gradle의 설정이 완료되었다. 새로운 모듈도 만들어보자! Hello2 module을 빌드를 하게 되면 Hello2.apk파일이 생성 된다. 이 작업을 거치면 install을 거쳐서 위에 캡쳐본 처럼 launch가 된다. 하나의 도화지를 만든 느낌이다! 앞으로 .. 2023. 7. 18.
Lombok 다운로드/설치/적용 https://projectlombok.org/download Download projectlombok.org 에서 Lombok을 다운 받아준다음 윈도우-cmd를 실행한다음 Lombok을 설치한 폴더를 찾고 java -jar lombok.jar명령어로 실행 해 준다. 실행하고 난 후 설치할 IDE를 찾아서 설치해준다. 설치 완료 후 화면 설치를 완료한 후에 pom.xml에서 아래와 같이 dependency를 추가해줍니다. org.projectlombok lombok 2023. 7. 17.
@RequiredArgsConstructor @RequiredArgsConstructor 애너테이션의 특징과 이를 활용한 의존성 주입에 대한 정리와 생각. @RequirdArgsConstructor 애너테이션은 문서를 살펴 보았을 때 초기화 되지 않은 final 필드나,@NotNull 애너테이션이 붙은 필드에 대해 생성자를 생해 주는 기능이 있다. 스프링의 의존성 주입중하나이다. 아래는 같은 코드 이지만 @RequiredArgsConstructor애너테이션이 있고 없고 차이를 아래 예제를 보면 확실히 체감 가능할 것 같다. 먼저 @RequiredArgsConstructor애너테이션을 사용하지 않았을 경우 package com.jjk.jjkshop.dto; import java.beans.ConstructorProperties; public clas.. 2023. 7. 16.
오늘 장염걸려서 쉽니다.. 으어억.. 2023. 7. 14.
20230713 Cube2/Poligon 3d cube 테스트 1 2 3 4 5 6 ← → 위 코드에 문제점은 화살표를 눌렀을 때 딱 한번만 실행이 되고 반대쪽 화살표 버튼을 눌렀을 경우에 180도 돌아가는 문제점이 있다. 그 이유는 document.querySelector("#leftBtn").addEventListener("click", (e)=>{ document.querySelector(".cube").style.transform="translateZ(-200px) rotateY(rotateYt-90deg)"; }); 이 코드 부분에서 rotateY의 설정된 값들이 절대 값이라서 + - 로 이동되는 것이 아니라 좌표값으로 지정되어 있기 때문에 좌표로 이동되는 개념이다. 이를 해결하기 위해 y축을 기준으로 회전하는 값을 저장할 변수를 선언.. 2023. 7. 13.
Spring은 어떻게 다양한 설정 형식을 지원할까?BeanDefinition Spring은 어떻게 다양한 설정 형식을 지원할까? 바로 BeanDefinition이라는 추상화 때문에 다행이다. 역할과 구현을 개념적으로 나누어서 가능하다. BeanDefinition은 속성 값, 생성자 인수 값 및 구체적인 구현에서 제공하는 추가 정보가 있는 빈 인스턴스를 말한다. BeanDefinition은 추상화이기 때문에 최소한의 인터페이스 이며 BeanFactoryPostProcessor속성 값과 기타 빈 메타데이터를 검사하고 수정할 수 있도록 하는 것이다. BeanDefinition에는 많은 옵션들이 있다. IoC Container의 BeanDefinition이 등록될 때 꼭 필요한 것은 beanClassName이다. 어떤 코드인지 어떤 구성으로 되어있는지 보다는 Spring Containe.. 2023. 7. 13.