. '분류 전체보기' 카테고리의 글 목록
본문 바로가기

분류 전체보기111

orElse 와 orElseGet에 관한 좋은 글 https://zgundam.tistory.com/174 Optional 클래스의 orElse와 orElseGet에 대한 정리 이번 글에서는 Java 8 에서부터 지원하기 시작한 Optional 클래스의 orElse와 orElseGet 메소드에 대해서 정리를 해보려한다. 이 글에서는 Optional 클래스가 무엇인지에 대해서는 언급하지는 않고 다만 orE zgundam.tistory.com 나중에 또 찾아볼 수 있도록 2021. 7. 28.
자바 직렬화(Serializable) 에 대해서.. 직렬화란? 자바 시스템 메모리에 상주해있는 객체나 데이터를 바이트의 형태로 변환하는 것. 반대로 바이트의 형태를 객체나 데이터로 변하는 것은 역직렬화라한다. (비슷하게, 테이블 형태의 데이터를 직렬화하는 것은 CSV, 통신에 사용하기 위해 사용하는 것은 JSON이 있다. 자바에서의 직렬화는 자바 시스템 간의 데이터 교환을 위한 것이다.) 언제 쓰이는가? 자바 시스템이 종료되어도 해당 객체 / 데이터가 남아있어야할 때나 네트워크로 전송해야할 때 직렬화하여 영속화(Persistence)한다. 특히 Class를 그대로 DB에 넣고, 같은 혹은 다른 자바 시스템에서 이 Class를 사용하고싶다면 직렬화하여 바이트의 형태로 DB에 저장한 뒤, 사용할 때는 DB에 있는 바이트의 데이터를 역직렬화하여 사용한다. 왜 .. 2021. 6. 20.
[정리예정] OpenId란 https://www.samsungsds.com/kr/insights/oidc.html 편의성을 높인 ID 인증 관리 - OIDC(OpenID Connect)가 주목 받는 이유 편의성을 높인 ID 인증 관리 - OIDC(OpenID Connect)가 주목 받는 이유 www.samsungsds.com https://openid.net/connect/ OpenID Connect | OpenID OpenID Connect page openid.net https://www.buildinsider.net/enterprise/openid/connect OpenID Connectユースケース、OAuth 2.0の違い・共通点まとめ OAuth 2.0&OpenID Connectユースケースと関連仕様まとめ。OpenID Conne.. 2021. 6. 14.
[LINE API] 라인 로그인 v2.1 https://developers.line.biz/ja/reference/line-login/ https://developers.line.biz/ developers.line.biz 라인 플랫폼이 제공하는 것 유저ID, 유저명, 프로필 사진, 상태 메시지 등을 제공함. 엑세스 토큰을 발급받기 HTTP Request POST https://api.line.me/oauth2/v2.1/token Request Header Content-Type :: application/x-www-form-urlencoded Request Body - grant_type : [String] authotization code - code : [String] 라인플랫폼으로 받은 허가코드 - redirect_uri : [Strin.. 2021. 6. 14.
React-admin이란 1. React-Admin이란? React 기반의 관리자 페이지 제공 서비스이다. 유료 버전은 물론 무료 버전이 많기 때문에 원하는 템플릿을 받아서 입맛에 맞게 개조하면 될 것 같다. 참고) https://usecode.pw/free-react-dashboard/ 무료 리액트 어드민 대시보드 템플릿(Free React Admin Dashboard Template) 보통 서비스를 운영하게 되면 서비스 관리를 위해 별도로 관리자 페이지를 만들어 사용하게 된다. usecode.pw 2021. 6. 11.
[잡설] 구현체에 대해... 1. 이슈 asList로 생성한 List 에 다른 List를 add해주려다가 에러를 만났다. (참고 : https://blog.woniper.net/350) 결론부터는 immutable List에 조작하려다가 에러가 난 것이다. 2. 왜 이슈가 났는가 List에 여러가지 구현체가 있다는 것을 몰랐고, immutable/mutable에 대한 이해가 부족했다. 막연하게 List니깐 조작이 가능할 것이다 라는 생각에 해버린 것이다. 3. 해결방안 1) mutable/immutable 의 구현체들에 대해 정확히 파악하고 쓸 것. 2) Collections 에 대한 이해 (살짝 새는 얘기일 수도 있지만, List로 인자 받을 것을 Collections로 받으면 더욱 추상적이어 유연한 메소드가 된다.) 3) imm.. 2021. 6. 10.
SMTP의 보안 시스템 :: SPF, DKIM, DMARC 란? 회사에서 SPF, DKIM, DMARC 에 대한 이야기가 나왔다. 나는 개찐따였기때문에 하나도 모르고 그냥 그런갑다하고 이야기만 들었다. 그래도 모르고 지나갈 수는 없기에 한번 정리해보고자 한다. https://docs.sophos.com/central/Customer/help/ko-kr/central/Customer/concepts/EmailSenderChecks.html 보낸 사람 확인의 작동 원리 보낸 사람 확인은 이메일 출처의 인증을 확인하는 데 사용됩니다. 이 항목은 Sophos Email이 불법 이메일로부터 사용자를 보호하는 데 사용하는 보낸 사람 확인 유형을 지정합니다. 주 이 항목은 보 docs.sophos.com 예를 들어, 구글 서비스의 비밀번호를 변경하기 위해서 IP : 111.111.. 2021. 6. 7.
[Lamda] :: .map( -> method(x)) 를 하는 경우에 x를 두번 입력해야하는 번거로움이 있다. 이를 .map([인스턴스명] :: [메소드]) 로 간단하게 표기할 수 있다. 자바(Java) 8: 람다식에서 콜론 두개 (:: - 이중 콜론 연산자, 메소드 참조 표현식)의 용도와 사용법 - BGSMM (yoonbumtae.com) 2021. 6. 3.
[21.05.29] 두번째 주말 벌써 일주일이 지나갔다. 진짜 순식간에 지나갔다. 자바는 힘들지만 그래도 매일매일 공부가 되고 있다는 것이 느껴진다. 언젠가는 나도 잘할수 있게 되겠지. 한가지 아쉬운 것은 오늘 오래 자고 싶었는데, 일찍 깨버렸다. 방이 너무 밝아서그런가. 오늘은 잠을 일찍 청해서 오래 자봐야지. 오늘 석촌호수 한바퀴 반 돌려고 했는데, 한바퀴도 못돌고 3/4 정도 돌았다. 마스크때문인가 아니면 컨디션이 안좋은 것인가. 흐으음.. 내일 다시 시도해봐야겠다. 어제 친구랑 롤을 했다. 가끔 하니깐 재밌다. 매일해도 재밌겠지만 그럴 짬이 없으니.. 안그래도 당근마켓보니 본체 좋은 조건에 팔고있는데 롤할거같아서 안샀다. 언젠간 컴퓨터를 살 지도 모르지만 오늘은 아니다. 지금 공부하러 카페 왔다. 8시까지 열심히 해봐야지. 할일.. 2021. 5. 29.
[Java.util]Optional Optional 은 객체를 포장해주는 Wrapper Class이다. 어떤 Class안에 null이 들어올 경우가 있다면 사용한다. 본 class를 그대로 꺼내고 싶다면 get()을 사용한다. orElse([arg]) : Optional의 값이 있으면 그 값을 반환하고 아니면 arg를 반환한다. orElseThrow([arg]) : Optional의 값이 있으면 그 값을 반환하고 아니면 arg(예외처리)를 발생시킨다. 참고) http://tcpschool.com/java/java_stream_optional 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com 2021. 5. 26.
[Postman] variables 및 request 등록 Collections에서 프로젝트를 추가한다. 프로젝트를 클릭하면 Auth, Pre-req, Tests, Variables가 있는데, 여기서 유용한 것은 variables이다. 여기서 주로 사용하는 variable을 추가할 수 있다. 그리고 프로젝트에서 request를 추가해보자. 프로젝트 옆의 ・・・ 을 클릭하면 new request가 나온다. 클릭하자. 우선 메소드를 정의할 수 있다. GET, POST 등을 선택하고 해당 URL을 입력한다. variables를 여기서 사용할 수 있다. {{[variable]}} 을 사용하여 등록한 variable을 사용할 수 있다. 예 ) endpoint = https://firecatlibrary.tistory.com , firstvalue = 1 로 등록한 경우에.. 2021. 5. 26.
[21.05.25] 재택근무 오늘 회사 방역한다고 재택근무를 하라고 했다. 난 재택근무가 싫다. 감시를 안받으면 집중을 못하는 사람이라 ㅠ 빨리 회사가고싶다. 오늘 자바로 CRUD 를 만들었다. 만드는 거 자체는 쉽겠지만 기존에 있는 라이브러리를 이해하고 쓰는 것이 결코 녹록치 않았다. 그래도 배우는 것이 정말 많다. 이제 2주차이지만, 갈길이 많이 멀다. 얼른 실력을 키웠으면 좋겠다. 그런데 레퍼런스 문서조차 제대로 읽지 못한다니 ㅠ 2021. 5. 25.
@Transactional 불냥이의 요약 : DB의 어떤 부분을 작업할 때, 나(@Transactional을 선언한 클래스나 매소드)만 작업하고 다른 친구들이 도중에 간섭하지 못하도록 해준다. 그리고 끝나면 로그를 자동으로 남겨주며, 만약 중간에 작업이 잘못된 경우 작업 시작 전 DB로 돌아가게 해준다. Transaction :: 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위이다. @Transactional 은 begin이랑 commit을 자동으로 수행한다. commit : 하나의 transaction 작업이 성공적으로 끝났고, 로그를 남긴다. rollback : transaction 작업이 비정상적으로 종료되었을 때 작업 시작 전으로 돌아간다. 예외를 발생시키면 rollback 처리를 자동 수행한다. 등등의 기능이 .. 2021. 5. 25.
[PostgreSQL] ALTER TABLE https://www.postgresql.org/docs/9.1/sql-altertable.html ALTER TABLE ALTER TABLE Name ALTER TABLE -- change the definition of a table Synopsis ALTER TABLE [ ONLY ] name [ * ] action [, ... ] ALTER TABLE [ ONLY ] name [ * ] RENAME [ COLUMN ] column TO new_column ALTER TABLE name RENAME TO new_name ALTER TABLE name SET SCHE www.postgresql.org https://postgresql.kr/docs/11/sql-altertable.html ALTER .. 2021. 5. 24.