
|개요 과제 개발을 하던 중에 겪은 일이다. MVVM(Model-View-ViewModel) 구조로 프로젝트를 구성해서 개발을 진행하고 있었는데, 일부 Activity가 코틀린으로 개발이 되어있었다. 코틀린은 문법 공부를 잠깐 하긴 했지만, 프로젝트를 진행해본 적은 없어서 잘 모르고 있었는데, Java에서 ViewModel을 사용하는 것 처럼 아래와 같이 해줬는데 this에 자꾸 빨간 줄이 뜨는 것!!🤔 ViewModel viewmodel = ViewModelProviders(this).get(ViewModel.class)//java ViewModel viewmodel = ViewModelProviders(this).get(ViewModel::class.java)//kotlin 이 부분의 원인이 이해가 ..
DataBinding 을 하다가 생겼던 에러. 먼저 아래의 두 글을 gradle.properties 에 추가하고 클린 후 다시 빌드 해본다. android.useAndroidX=true android.enableJetifier=true 그래도 안된다면 패키지명이 대문자일 경우 발생 할 수 있다. 나의 경우 패키지명을 소문자로 고치니 해결 되었다.
동적으로 태그의 내용이 변경되는 경우, 변경 이후에는 기존에 바인딩된 이벤트가 동작하지 않게 된다. 나의 경우에는 ajax 통신으로 값을 받아와 태그 속의 내용을 변경 했을 때 그러한 상황을 경험했다. 그 이유는 동적 태그의 경우 document.ready()의 동작이 작용하지 않기 때문이다. document.ready는 페이지가 로드 되면서 이벤트를 할당해주는데 로드 되기 전에 존재 하지 않던 부분이라 이벤트 할당이 되지 않기 때문이다. 그를 위해서 동적 태그는 아래와 같이 .on을 사용해 주면 된다. $(document).on('click','.selectBox_Branch .box .list', function(e){ that.listSelectBranch($(e.target)); });
AOP : Aspect Object Programming 관점 지향 프로그래밍 관점을 기준으로 로직을 모듈화 하는 것을 말한다. 그래서 Spring 에서 AOP를 적용할때 @Aspect annotation을 사용한다. cross cutting concern(흩어진 관심사)fmf Aspect(관점)로 모듈화 하고 해김적인 비즈니스를 로직에서 분리해 재사용하겠다는 것이 취지다. AOP 개념 Aspect: 흩어진 관심사를 모듈화 한것 Target: Aspect를 적용하는 곳 Advice: 실질적인 부가기능이 있는 구현체 Joint Point: Advice가 적용될 위치 Point Cut: joint pont의 상세 스펙 스프링 빈에만 AOP 적용 가능하고 AOP 를 스프링 빈에 등록 해야 한다고 한다.

|삽질 기록 모바일 웹에서 동영상 스트리밍 기능을 테스트 하던 중 아이폰에서 영상의 video가 재생이 되지 않는 문제를 발견했다. 처음에는 뭐가 문제인지 아예 감을 못잡아서 디버깅 해보려고 맥북에서 부트캠프로 맥과 윈도우를 왔다 갔다 하다가 피시가 아예 터져버렸다..😢 그 뒤로는 무한 복구 모드.. 결국 다행히 오늘치의 작업분은 백업을 해둬서 큰 맘먹고 윈도우를 아예 초기화를 하고 디버깅 환경을 내 피시말고 다른 맥북에 세팅했다. 하지만 결국 별다른 문제를 찾지 못하며 이틀째 삽질하다가 원인을 찾아냈다. |해결방법 및 원인 if(videoSrc != '') { if (video.canPlayType('application/vnd.apple.mpegurl')) { video.src = videoSrc; ..
html 리스트 요소의 인덱스를 받아와서 css를 변경해야 할때가 있다. 예를 들어 나열되어있는 리스트를 클릭 했을때 색상을 변경해주는 등의 이벤트를 할 때 선택 요소의 css 변경이 필요하다. 그럴때는 eq() 함수를 이용하면 된다. |사용 예시 function listClick(e){ $(".mylist").find('li').eq($(e).index()).css('background-color','#f2f2f2'); } mylist 클래스의 li 태그 중에서 클릭한 인덱스의 css를 변경하는 예제이다. 위의 예제에서는 선택한 리스트의 배경 색상을 #f2f2f2로 변경해주는 코드이다. eq(인덱스) eq안에는 인덱스가 들어가는데, 클릭이벤트가 실행될때 클릭이벤트가 실행된 객체를 입력 받고, 입력받은 ..
|Uncaught TypeError: Failed to execute 'putImageData' on 'CanvasRenderingContext2D': parameter 1 is not of type 'ImageData'. html 캔버스를 사용 할 때 캔버스의 내용을 저장 하던 중 발생한 에러이다. imageData 타입이 아니다라는 뜻 나의 경우 json으로 저장햇었어서 json 데이터를 인식을 못한 것. 그냥 imageData로 저장하고 바로 함. |메시지 Handler dispatch failed; nested exception is java.lang.Error: Unresolved compilation problems: → 프로젝트 클린하기 |Uncaught SyntaxError : Unexpe..

웹개발을 하다보면 피시 화면 뿐 아니라 모바일용 화면을 따로 만들어야 하는 경우가 많다. 특히 요증은 피시용 화면과 모바일 화면 그리고 태블릿용 화면까지도 나눠서 개발해서 제공하는 경우가 많은데 이럴 때 모바일 화면 개발에 도움을 주는 브라우저를 추천하고자 한다.😁😁 바로 네이버 Whale 네이버 웨일은 회사에서 딴짓하기 좋은 브라우저로 암암리에 알려져 있다. 그런데 개발자에게 정말 유용한 기능이 있으니 바로 모바일 창 보기 기능이다. 모바일 창 보기 기능은 웨일 브라우저 최상단 오른쪽에 있는 메뉴 버튼을 눌러서 모바일 창 버튼을 누르면 된다. 화면이 모바일 기기에서 보는 것처럼 작아지고 모바일 웹 페이지들을 볼 수 있다. 크롬과 같은 다른 브라우저에서도 개발자도구를 통해서 모바일 화면을 확인 할 수 있..
- Total
- Today
- Yesterday
- 펌웨어 분석
- MVVM
- 칼리리눅스
- NumberFormatException
- CTF
- AndroidX
- Android
- Java
- 포너블.kr
- pwnable.kr
- 안드로이드
- 코드로 배우는 스프링 부트
- 정보보안
- 모바일리버싱
- exception
- DataBinding
- androidstudio
- 리버싱기초
- 에러
- 자바
- 동적분석
- Spring
- 웹 MVC
- writeup
- 리버싱.kr
- 뷰모델
- 앱분석
- 스프링부트
- reversing.kr
- reversing.kr풀이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |