본문 바로가기

SW Programming41

[react js] 이미지가 로드가 되지 않았을 때 기본 이미지 보여주기 의 src 이미지로드할 때 이미지가 오류가 나거나 링크의 주소가 잘 못될 을 경우 기본이미지를 보여주고 싶을 때가 있다. React.js에서 이미지 로딩이 실패하거나 링크가 잘못될 경우, 기본 이미지를 보여주고 싶다면, onError 이벤트를 사용하면 됩니다. 이 이벤트는 이미지 로딩이 실패했을 때 발생합니다. import React from 'react'; import defaultImage from './default.png'; // 기본 이미지를 가져옵니다. function ImageComponent({ src }) { const handleImageError = (e) => { e.target.src = defaultImage; } return ( ); } export default ImageCo.. 2023. 5. 30.
안드로이드 recyclerView 내부 영역 클릭 강제로 발생시키기(feat.chatGPT) 참고한 글 RecyclerView 를 프로그램적으로 클릭(강제클릭)이 가능한가요? RecyclerView 를 프로그램적으로 클릭(강제클릭)이 가능한가요? RecyclerView 를 적용하고 있습니다. 현재 막히는 부분은 특정 이벤트 후에 다음 Item 으로 강제로 클릭하는 onClick 이벤트가 발생했으면 하는것입니다.구글링 하다보니 stackoverflow 에 아래와 같은 방 qna.programmers.co.kr 요즘 핫한 Chat GPT 에게도 물어봤다. Q: 안드로이드에 recycler view에서 클릭을 강제로 발생시키고싶어 A: 안드로이드에서 RecyclerView에서 클릭을 강제로 발생시키려면 다음과 같이 코드를 작성할 수 있습니다. RecyclerView의 position으로 아이템 뷰를 .. 2023. 2. 21.
[안드로이드] 카드뷰, 무한로딩, View pager transformation [원하는 것] 카드가 세로로 넘어가는 스타일의 뷰. 다음 카드가 하단에 살짝 보인다. 슬라이드 하게되면 이전 카드 위로 다음 카드가 덮히고 이전 카드는 카드 사이즈가 작아지면서 흐리게 처리된다. binding.cardViewpager.apply { offscreenPageLimit = 1 adapter = CardAdapter( mutableListOf(Store("이거 먹어볼래요?", "위치 정보", "맛잇는 음식점"), Store("아주 아주 인기 많은 핫플레이스1", "위치 위치", "이름모를 음식점"), Store("아주 아주 인기 많은 핫플레이스2", "위치 위치", "이름모를 음식점"), Store("아주 아주 인기 많은 핫플레이스3", "위치 위치", "이름모를 음식점"), Store("아주.. 2022. 8. 18.
슬랙에서 깃헙 푸시 알람받기 슬랙에서 깃헙 푸시 알람받기 슬랫에서 github 앱추가 연결하기 connect github Enter code 입력 받아보고 싶은 레포 나 오우너 설정 /github subscribe [owner/repo] 끝 2022. 8. 17.
sonarLint / Android의 코루틴 권장사항 Dispatchers should be injectable Code smell Major kotlin:S6310 Dispatchers should not be hardcoded when using withContext or creating new coroutines using launch or async. Injectable dispatchers ease testing by allowing tests to inject more deterministic dispatchers. You can use default values for the dispatcher constructor arguments to eliminate the need to specify them explicitly in the produc.. 2022. 8. 8.
안드로이드 스튜디오(android studio)에서 깃헙(git) 계정 바꾸기 깃헙을 여러개를 사용하다보면 아주 난감할 때가 있다. 다행히 안드로이드 스튜디오 에서는 깃헙 계정을 선택해서 관리할 수 있게 도와준다. File > Settings > Version Control > GitHub 그리고 커밋 창에서 author 를 선택해서 커밋할 수도 있다. 잘 활용하면 편하게 사용할 수 있다!! 2022. 7. 26.
[Android] 중첩된 리스트 사용시 스크롤 민감도 조절해보기(가로, 세로 스크롤) [문제 상황] 1. 세로 리사이클러 리스트 뷰 + 가로 리사이클러 뷰(View Pager) 2. 세로 스크롤뷰 + 가로 리사이클러 리스트 뷰 3. 세로 스크롤 바텀시트 + 가로 리사이클러뷰(View Pager) 가로, 세로 스크롤이 중첩되면서 원하지 않는 액션이 되는 경우가 생김 즉 가로 슬라이드를 하는데, 세로가 스크롤 되는 문제가 발생함ㅜ_ㅜ [조치 방향] 사람이 손가락으로 가로 슬라이드 하다보면 y축에 수평으로만 슬라이드 하진 않더군요ㅋㅋ 사선방향으로, 대각선으로 슬라이드 하다보니 이정도 대각선까지는 가로슬라이드로 먹었으면 좋겠다 싶더라고요 구글링하다보니 선행해서 고민하신분들이 있었고, 조치방법도 찾을 수 있었습니다. 가로스크롤을 하면 자식이 먹게 하자. 근데 buffer를 세로스크롤 일지라도, b.. 2022. 5. 20.
Unity Scene git Merge하다가 comflict ... 돌아버리기전에 발견한 UnityYAMLMerge기능으로 자동머지하자 (git) Unity Secen은 text editor로 열어보면 이해하기 힘든 id들과 값들로 이루어져있어서 사실상 수동 머지가 불가능하다는 것을 느꼈다. 같이 작업만 하면 백발백중 complict인데 도대체 어떻게 개발하지? 하다가 개발자끼리 Secen을 분리해서 서로 다른 Secen을 작업하면 좋겠지만, 피치못할 때가 있지 않은가! 다행히 Unity는 UnityYAMLMerge를 이용해서 scene과 prefab 파일을 머지할 수 있게 제공해주고 있다... https://docs.unity3d.com/2021.2/Documentation/Manual/SmartMerge.html Unity - Manual: Smart merge Using external version control systems with Un.. 2021. 11. 26.
GIT 히스토리까지 모조리 새로운 저장소로 복사하기 (clone --mirror) GIT 저장소를 새로운 GIT 저장소로 히스토리까지 모조리 clone 하고 싶어 졌다. 목적은 원래 꺼는 1.0 버전, 새로 만든 거는 2.0 버전으로 아예 다른 형상으로 관리하고 싶어 졌기 때문 버전 관리를 위해서 브랜치로 관리할 수는 있지만, 기존 유지보수가 계속될 것이 예상되기도 하고, 새로운 마음으로 하고 싶기도 하고 변경점이 클 것으로 예상돼서 따로 가기로 정했다. git clone --mirror git remote set-url --push origin $ git push --mirror 이렇게 하면 Tag도 모두 복사되고, 브랜치의 history도 고대로 복사된다 아, 저의 경우 원래 쓰던 로컬에 브랜치들 정리 안 하고 push 해가지고,,,, 로컬 브랜치도 아주 다 올라가버렸네요 저장소 .. 2021. 6. 17.
NativeMemoryTracking, JAVA에서 네이티브 메모리 확인하고 싶을 때 JNI를 사용하면 NativeMemory 관리도 중요하다는 알아가고있다... Heap memory는 비교적 Jvm monitor 같은 툴을 이용해서 쉽게 접근했었는데, NativeMemory를 확인하는 것은 상대적으로 조금 불편해서 기록하고자 한다. JCMD를 이용해서 분석해야한다. 1. JAVA 실행 옵션추가(이클립스의 경우 VM arguments를 수정하면 된다) -XX:NativeMemoryTracking=summary 2. 메모리 사용 현황 베이스 라인 지정 >jcmd {pid} VM.native_memory baseline 3. 메모리 사용 현황 보기 >jcmd {pid} VM.native_memory summary.diff 참고 https://www.javacodegeeks.com/2016/0.. 2021. 5. 14.