본문 바로가기
728x90

우공이산250

DI(Dependency Injection) 의존성 주입이란? DI(Dependency Injection) 아래 예제는 url을 base64로 encoding 하거나 url로 encoding 하는 예제입니다.(생성자를 이용) 여기에서 Encoder는 UrlEncoder와 Base64Encoder에 의존하고 있습니다. 그리고 다양한 Encoding에 의존 받을 수 있게 구현하기 위해 IEncoder 인터페이스로 추상화를 했습니다. 그렇게 정리된 것이 아래 코드입니다. 하지만, 이 경우에는 Encoder 내부에서 의존관계를 가지고 있습니다. 공통되는 부분을 잘 추상화하여 정리하였지만, 내부적인 의존관계로 인해 Base64 또는 Url Encoding로 변경을 위해서는 소스의 본질적인 부분을 수정하게 됩니다. package com.company.ioc; import ja.. 2022. 8. 19.
[JAVA] heap, stack, static 메모리 구조 Java의 각 객체는 각각 다른 메모리 영역에 로드가 됩니다. 보통은 신경 쓸 일이 적으나, 간혹 이 부분을 고려하지 않아서 오류가 발생하므로 기본적인 개념은 정리가 필요합니다. 한번 정리 안 하면 두고두고 헷갈리게 됩니다. (제가 그래서 지금 이 글을 쓰면서 개념을 정리하는 중입니다.) Java의 메모리 영역은 다음과 같이 3가지입니다. Stack, Heap, Method(Static) 하나씩 정리해 보겠습니다. Stack 영역 Stack 영역은 기본 자료형(int, double, byte, long, boolean 등)에 해당되는 지역변수, 매개변수 등이 할당되는 영역입니다. 즉 임시로 사용하는 변수나 정보를 저장하는 영역입니다. 따라서 method가 호출될 때 생성되고, method 실행이 종료되면.. 2022. 8. 18.
object-mapper 실습 object mapper 란? 클라이언트와 서버간에 Text인 JSON을 Parsing하여 Object로 받거나, Object를 Text인 JSON으로 변경하여주는 기능입니다. 실습 여기서는 object-mapper의 동작방식을 알기 위해 명시적으로 object-mapper를 사용하는 방법을 실습하겠습니다. 우선 object-mapper 라는 이름으로 Java 프로젝트를 생성하고, spring web에 dependencies를 설정합니다. 이번에는 main이 아니라 test에 간단한 코드를 심어서 실습을 합니다. Test에 있는 ObjectMapperApplicationTests에 아래와 같이 추가 코드를 작성합니다. package com.example.objectmapper; import org.jun.. 2022. 8. 17.
[Excel] CSV파일 Excel에서 컬럼 포맷 유지하면서 열기 DB에서 Export 한 파일이라던지, Python에서 데이터 분석한 결과라던지.. csv 또는 txt 파일을 Excel에서 읽어야 할때가 있습니다. 그런데, 애초에 숫자이거나 문자인 경우는 상관없는데, 숫자를 텍스트 형식으로 읽어야 할때가 있습니다. 주로 아래와 같이 앞에 0이 붙는 형태인데요. "000012345" 이 경우 파일을 더블 클릭해서 CSV파일을 열면 0000은 떨어지고 "12345"만 숫자형식으로 남게 됩니다. 이럴 때 어떻게 해야 원본 컬럼의 형식을 유지할 수 있는지 알아보겠습니다. 1. 우선 아래와 같이 엑셀을 우선 실행시킨 후에 아래 경로를 따라 실행시킵니다. 데이터 탭 --> 외부 데이터 가져오기 --> 텍스트 2. 그러면 아래와 같이 텍스트 마법사가 실행이 됩니다. 우리는 CSV.. 2022. 8. 17.
[앱테크]소소한 부업을 위한 설문조사 앱/사이트 추천 이 글을 데이터 분석 카테고리에 넣어도 될지 모르겠습니다만.. 설문조사도 일종의 데이터 수집이니까 우겨넣어 봅니다. 자투리 시간을 이용해서 소소하게 돈을 모을 수 있는 방법이 몇 가지 있습니다. 캐시슬라이드 같은 광고 보는 앱, 만보기 앱, 설문조사 앱등인데, 설문조사 앱/사이트가 비교적 수익이 쏠쏠해서 공유합니다.(재테크는 아니고 앱테크라고 합니다.) 저는 보통 점심시간 밥 기다릴때, 대중교통 기다릴 때 등 뭔가 각 잡고 하기엔 시간이 부족하지만, 인터넷 가십거리나 보며 날리는 시간이 아까워서 하게 되었습니다. 가입한 사이트는 총 세 개입니다. 패널 파워, 패널나우, 오베이인데, 구글 플레이스토어에서 "설문조사" 검색 시 노출되는 상위 3개입니다. 설문조사에 응하고 수익을 얻는 방법은 거의 비슷하여. .. 2022. 8. 6.
[리뷰][소설]별의 계승자 - 가니메데의 친절한 거인 - 제임스 P.호건 서평 별의 계승자 2권, 가니메데의 친절한 거인 편을 보았다. ​ 이번 편에서는 전편에서 나왔던 가니메데인의 우주선을 연구하는 과정에서 나왔던 장치에 전류를 흘리는 실험을 하면서 가니메데인 우주선 샤피에른호를 만나게된다. ​ 샤피에른호는 2500만년전 가니메데인의 모행성 미네르바의 이산화탄소농도가 높아져 가니메데인의 생존이 어려워지자 태양의 온도를 임의로 높이는 실험을 하기위해 이스카리스 항성계로 갔던 우주선이다. ​ 이스카리스에서 실험이 실패하면서 초신성폭발이 일어났고, 샤피에른호는 초신성폭발을 벗어나기위해 중력엔진(우주선 앞에 시공간 왜곡을 만들고 그곳으로 낙하하는 방식으로 이동한다)을 풀가동하는데, 기술상의 문제로 중력엔진을 멈출수가 없게된다. 상대성이론에 따라 우주선에서는 20년의 시간이 흘렀으나, 현.. 2022. 8. 6.
[Excel]입력한 값이 잘못되었습니다. 이셀에 입력할 수 있는 값은 제한되어있습니다 현상: 입력한 값이 잘못되었습니다. 이셀에 입력할 수 있는 값은 제한되어있습니다. 오류가 나올 때 해결:[데이터]-[유효성 검사] 안에서 설정값 변경. [모두지우기] 가 편함. 2022. 8. 6.
PDF파일 자르는 방법(온라인 무료 사이트, PDF 인쇄기능 활용) 제가 다니는 회사는 페이퍼리스가 일반화되어 있습니다. 그래서 문서에 서명을 받아야 되는 경우에는, 회사에서 제공하는 서명 처리 시스템에 문서를 등록하고, 시스템 내에서 서명을 받아 다운로드하게 되어있습니다. 오늘 서명받을 문서가 3개 있었는데, 한번에 등록하니 3개의 문서가 하나의 PDF 파일로 합쳐졌습니다. 다시 서명을 받자니 번거롭고... 그래서 PDF 파일을 자르기로 했습니다. Acrobat Reader에서 자를 수도 있지만, 7일 평가판 사용 후 유료 전환되므로 주머니 사정 가벼운 우리는 사용할 수 없지요. 무료로 PDF 자르는 방법은 2가지 입니다. 첫 번째, 온라인 PDF 편집 사이트 https://abcdpdf.com/ko/ ABCD PDF 온라인 변환 도구 - 100% 무료 ABCDPDF는.. 2022. 8. 4.
갤럭시 - 다이내믹 잠금화면 설정 끄기 팁 스마트폰 잠금해제를 위해 지문 터치를 했는데, 다이내믹 잠금화면 설정창이 나오는 경우가 있다. 꽤 자주 발생하는데, 다시 돌아가려면 화면 하단의 작은 꺽쇠를 눌러야 해서 아주 불편하다. 해제하는 방법을 올려본다. (갤럭시 s22+ Android 12 기준) 다이내믹 배경화면 설정 안뜨게 하는 법 우선 화면을 쓸어내려서 오른쪽 상단의 설정으로 들어간다 오른쪽 중간 쯤에 있는 돋보기 버튼을 누르고 "배경화면 및 스타일"을 검색한다. 여기서 "잠금화면 배경화면 서비스"를 선택해서 들어간다. 배경화면 서비스안에서 다이내믹 잠금화면을 "설정 안 함"을 선택하고, "왼쪽으로 밀어 설정 보기"도 해제해준다. "왼쪽으로 밀어 설정 보기"때문에 잠금화면에서 설정 화면이 계속 열리는 것이었다. 모두 설정이 완료되면, 이제.. 2022. 7. 13.
728x90