메모 log (간단메모)21 MacBook, AndroidStudio Error 맥북 Retina 업데이트 후 안드로이드스튜디오를 최대 크기로 사용할 경우 이름바꾸기 등의 새로운 탭이 열릴 때마다 최대 크기로 열리면서 멈추는 현상이 발생 맥북에서 문서를 열 때 탭에서 열기를 활성화 한 경우에 발생하는 문제로 이미지 맨 아래에 '문서를 열 때 탭에서 열기' -> '안함' 으로 설정하면 문제 해결 2021. 2. 8. 'viewTreeObserver' 뷰의 크기를 측정 viewTreeObserver root_view.viewTreeObserver.addOnGlobalLayoutListener ( object: ViewTreeObserver.OnGlobalLayoutListener{ override fun onGlobalLayout() { //뷰 측정 등을 구현 //사용 후 해제 root_view.viewTreeObserver.removeOnGlobalLayoutListener(this) } }) 최상단 뷰가 화면에 그려진 후에 호출되는 관찰자 xml 레이아웃에 가장 바깥쪽 요소에 관찰자를 지정해야 함 예전에는 다른 뷰의 크기를 측정 후 특정 뷰의 크기를 지정하기 위해서 뷰를 커스텀하거나 딜레이를 주는 형태로 구현하였으나 해당 관찰자를 통해 뷰가 반영된 시점을 정확히 파.. 2021. 1. 14. 파일 처리 방식 readFile 방식이 편리하지만 용량에 따른 동일 버퍼가 필요 ex) 1GB 파일 읽기 = 1GB 버퍼 생성 = 1GB 메모리 자원 낭비 동시 사용자가 많을 경우 서버 자원 낭비, 메모리 문제 발생 이를 해결하기 위해서 스트림 활용 100MB 버퍼 생성 후 10번 정도 걸쳐서 전송하는 방식 const writeStream = fs.createWriteStream('./profile.txt'); writeStream.on('finish', ()=>{ console.log("입력 종료"); }); writeStream.write("안녕하세요\n"); writeStream.write("일루아에요~!"); writeStream.end(); /*highWaterMark default: 64KB - 기본 버퍼의 .. 2020. 9. 22. AJAX 요청 - axios 또는 jQuery axios XMLHttpRequest 대신에 사용되는 통신 라이브러리 중 하나 URL에 한글이 포함된 경우 endcodeURIComponent() decodeURIComponent() https://test.com/root/${encodeURIComponent('한글s')} 기본 활용 axios.get("https://test.com").then((result)=>{ console.log(result.data); }).catch((error)=>{ console.error(error); }); promise 활용하여 get (async ()=>{ try{ const result = await axios.get("https://test.com"); console.log(result).data; }catch.. 2020. 9. 20. 이전 1 2 3 4 5 6 다음