본문 바로가기
반응형

전체 글86

[에러] 찾고 있는 리소스가 제거되었거나 이름이 변경되었거나 일시적으로 사용할 수 없습니다. 환경 톰캣9 에러 원인 startup.bat를 톻해 톰캣9 서버를 구동시켰다. 그리고 외부에서 해당 ip와 포트로 접근을 시도했더니 위 사진과 같은 에러가 났다. 그리고 톰캣9 콘솔창을 보니 [main] org.apache.catalina.util.LifecycleBase.handleSubClassException 구성요소 [Connector[HTTP/1.1-80]] 포트 충돌이 나서 에러가 난 거 였다.. 포트 80을 쓰고, 80을 이미 중지시켰다고 생각했는데 서버 재부팅 되면서 포트가 충돌이 난 듯.. 해결방법 [방법 1] IIS 관리자에서 해당 포트 사용하는 사이트를 중지 [방법 2] CMD창에서 netstat -ano 로 해당 포트의 pid를 알아낸다. 만약 6060포트라면 맨 끝에 20156이 .. 2021. 4. 7.
[자바] 메일 연동, 메일 읽기(IMAP), 안 읽은 메일만 Fetch하는 법(javax.mail.Folder.search) 잡소리 웹에 메일을 연동하는 코드를 짜고 있다. 보내는 건 쉬운데 받아서 제대로 파싱하는 건 신경 쓸 게 뭐이리 많은지.. 메일을 가지고 올 때마다 모든 메일을 fetch하면 서버에 무리가 간다. 사용자가 적을 땐 괜찮겠지만 항상 많을 때를 대비하는 것이 프로그래머의 덕..목.. 코드 설명 아래는 필요한 부분만 가져온 코드다. 출처는 github.com/gujc71/groupware9 입니다. 기본 코드에서 필요한 부분만 약간 수정해서 사용하고 있다. public class Imap { private Folder folder; private Message[] msgs; //안 읽은 메일 개수 반환하는 함수 public Integer patchMessage(String lastdate) { try { fo.. 2021. 3. 19.
[안드로이드] 웹뷰에서 파일 업로드할 때 에러, FileProvider에 대해 알아보기 java.lang.IllegalArgumentException: Failed to find configured root that contains ... 이런 에러 보신 적 있으신가요? 이게 다 FileProvider path 설정 때문입니다. 에러에 대해 설명하기 앞서 일단, Android developers Documentation 설명을 제가 이해한 대로 적어보겠습니다. FileProvider는 ContentProvider의 하위 클래스입니다. 보안을 위해서, file Uri 대신 content Uri를 사용합니다. contentUri는 파일을 읽고 쓰는데 임시 접근 권한을 주고, content Uri가 포함된 Intent를 만들 때, 권한을 주는 Flag를 설정할 수 있습니다. MainActivit.. 2021. 3. 16.
API 구축하는 방법 세가지 SOAP, REST, GraphQL 아주 간단하게 남겨보는 글입니다. API 구축하는 방법에는 총 세가지가 있습니다. 아주 전통적인 방법인 SOAP, 많이 사용되는 REST, 그리고 저에겐 낯선 GraphQL 아래 글을 읽고 짧게 정리해보았습니다. da-14.com/blog/ultimate-guide-api-architecture-rest-soap-or-graphql The Ultimate Guide to API Architecture: REST, SOAP or GraphQL? | DA-14 09 . 16 . 2016 To Develop a Web App: How Long & How Much? da-14.com SOAP 전송방식 : HTTP, SMTP, TCP 등 데이터 포맷 : XML REST 리소스를 URL로 표현 전송방식 : 주로 H.. 2021. 3. 10.
[Roblox 게임 만들기] 커스텀 아이템 만들기(Custom Decal) 로블록스 게임 만들기 - 간판 만들기 www.roblox.com/develop Create - Roblox Create anything you can imagine with Roblox's free and immersive creation engine. Start creating games today! www.roblox.com 1. 위 사이트의 My Creations -> Decals -> 원하는 이미지 업로드 2. Roblox Studio에서 원하는 크기의 Part 만들기 3. Home -> Toolbox -> Inventory -> My Images 에 아까 올렸던 이미지 클릭하기 4. 완성 ! 이런식으로 커스텀 해서 건물을 만들 수 있다. 2021. 1. 30.
[안드로이드] 뒤로가기(backpressed) 안되는 경우 editText에 setOnKeyListener를 통해 엔터키 받는 이벤트를 넣었다. 근데 editText에 포커스가 가있을 때 뒤로가기 버튼이 안 먹는 것이 아닌가... 알고보니 오버라이딩한 onKey 함수가 backpressed 이벤트를 가져가고 있었다. 따라서 onKey 함수에 다음과 같이 else if(keyCode==KeyEvent.KEYCODE_BACK) onBackPressed(); 를 추가해주도록 하자(뒤로가기 버튼을 눌렀을 때 onBackPressed 함수를 호출해줌) commentEditText.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent eve.. 2021. 1. 28.
[안드로이드] setOnKeyListener 엔터(두 번 실행되는 경우) 엔터키 입력받을 때 액션을 취하고 싶은데 조건문에 keyCode==KeyEvent.KEYCODE_ENTER 만 쓰면 실행이 두 번 된다. 엔터키를 누르면 ACTION_UP과 ACTION_DOWN이 같이 실행된다. 따라서 한 번만 실행하기 위해선 keyCode==KeyEvent.KEYCODE_ENTER && event.getAction()==KeyEvent.ACTION_UP 이런식으로 조건을 하나 더 붙여줘야 한다. commentEditText.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_ENTER.. 2021. 1. 28.
[안드로이드] Fragment to Fragment 데이터 쉽게 전달하기(자료형이 List 일 때) 준비물 Fragment 3개 layout 3개(container가 될 레이아웃 1개 + 사용자에게 보여질 뷰로 구성되어 있는 레이아웃 2개) 코드 home_layout.xml Fragment_1.java public class Fragment_1 extends Fragment { @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.home_layout, null, false); getFragmentManager().beginT.. 2021. 1. 27.
[JSOUP사용법] 웹(HTML) JSOUP으로 파싱하기 (웹-안드로이드 연동/네이티브앱) 서론 스프링 프로젝트에서 게시판 작업으로 SUMMERNOTE를 사용한다. SUMMERNOTE는 글의 내용을 HTML로 저장하기 때문에 웹뷰가 아닌 네이티브 앱과 웹을 연동시키기 위해선 HTML을 파싱하는 작업이 필요했다. SUMMERNOTE에서 이미지는 IMG태그로, 글은 P태그로 저장시키기 때문에 비교적 간단한 파싱으로 구현할 수 있었다. 프로젝트에서는 서버에서 HTML 소스를 받아오지만, 예시에선 HTML 소스를 하드코딩할 예정 결과 이미지는 맨 아래 있습니다~ 환경설정 build.gradle 의 dependencies에 jsoup 라이브러리와 picasso 라이브러리(이미지뷰)를 추가해주세요 implementation 'org.jsoup:jsoup:1.11.3' implementation 'com... 2021. 1. 27.
[스프링 프레임워크] 이메일 인증하여 회원가입하기(비동기) 서론 및 변명 회원가입하기를 누르면 비동기 방식으로 이메일 인증 메일이 발송되는 것을 구현해보았다. 처음엔 쓰레드를 사용하지 않고 구현했더니 메일 보내는 시간이 5초나 걸리는 것이 아닌가.. 그래서 @Async 어노테이션을 이용해 비동기로 구현하고자 했다. 아직 이해가 부족한 부분이라 설명이 빈약한 부분 양해바랍니다... 이상한 부분이 있다면 지적 환영,, 테이블 회원 테이블은 아래와 같이 구성되어 있다. 이메일 인증과 관련된 건 USERKEY 속성뿐 Dependency org.springframework spring-context-support ${org.springframework-version} com.sun.mail javax.mail 1.6.2 javax.mail mail 1.5.0-b01 궁금.. 2021. 1. 25.
안드로이드 RecyclerView를 이용해 이미지 게시판 만들기(인스타그램 따라해보기) 동적으로 받아온 데이터를 그리드 형식으로 배치하기 위해서 RecyclerView를 이용했습니다. 하지만 여전히 RecyclerView에 대해 이해가 부족한 점 양해부탁.. 현재 위 사진은 프래그먼트 안에 프래그먼트로 구성되어 있습니다. 관련 포스트는 아래에 ~ 2021/01/25 - [공부기록/안드로이드] - 안드로이드 프래그먼트 안에 프래그먼트 - 인스타그램처럼 만들기 안드로이드 프래그먼트 안에 프래그먼트 - 인스타그램처럼 만들기 지금 프로젝트를 하고 있는 앱은 크게 home, 레시피, 재료나눔, 마이페이지 탭으로 구성되어 있다. (왼쪽) 인스타그램은 어떻게 구성되어 있는지는 모르겠지만, (오른쪽) 인스타그램 사진처럼 구 amikim5263.tistory.com Fragment_4_Mypost.java.. 2021. 1. 25.
안드로이드 프래그먼트 안에 프래그먼트 - 인스타그램처럼 만들기 지금 프로젝트를 하고 있는 앱은 크게 home, 레시피, 재료나눔, 마이페이지 탭으로 구성되어 있다. (왼쪽) 인스타그램은 어떻게 구성되어 있는지는 모르겠지만, (오른쪽) 인스타그램 사진처럼 구성하고 싶었다. 한 프래그먼트 안에 또 3개의 프래그먼트(내글, 좋아요 누른 글, 스크랩한 글)로 페이지를 스와핑하여 게시물을 보여주는 방식이 목표! mypage_layout.xml : TabLayout과 ViewPager 로 구성된 레이아웃 - TabLayout과 Viewpager의 비율은 1:8로 설정하였다. Fragment_4.java : Fragment를 상속받는 클래스 public class Fragment_4 extends Fragment { private MyPageAdapter myPageAdapte.. 2021. 1. 25.
728x90
반응형