반응형 분류 전체보기117 [프로그래머스] 디스크 컨트롤러 회사에서 코드를 짤 때는 주로, Comparable을 구현해서 활용하거나 Comparator를 생성했다. 다른 코드를 보니까 ㅜ 부족함이 많이 느껴진다. 풀이 - 작업 요청 시간이 지난 작업 중, 작업 시간이 짧은 것부터 처리하도록 한다. -> 작업 시간을 기준으로 우선순위 큐 사용. (대기하는 작업들의 대기 시간을 줄인다는 느낌) 개선점 1. 굳이 객체를 생성할 필요는 없었다. 개선점 2. compare 및 sorting 시에 람다 함수 활용. 더보기 나의 풀이... import java.util.PriorityQueue; import java.util.Comparator; class Solution { public int solution(int[][] jobs) { int size = jobs.len.. 코딩 테스트 2023. 2. 10. [안드로이드] Permission - 권한 허용 요청(requestPermissions)(feat. Kotlin) https://developerpearl.tistory.com/45 [안드로이드] Permission - 권한 확인하기(checkSelfPermission)(feat. Kotlin) 차근차근 가보자. 특정 기능을 실행시키기 위한 권한을 사용자가 이미 허용했는지 안했는지확인하는 방법에 대해서 알아보자. (본 단계 진행을 위해서는 Manifest에 권하는 권한에 대해 추가를 해 developerpearl.tistory.com 위 과정을 거쳐 권한 확인을 했다. 이제 권한을 요청해보자. requestPermissions public static void requestPermissions( @NonNull Activity activity, @NonNull String[] permissions, @IntRange.. 안드로이드 2023. 1. 27. [안드로이드] Permission - 권한 확인하기(checkSelfPermission)(feat. Kotlin) 차근차근 가보자. 특정 기능을 실행시키기 위한 권한을 사용자가 이미 허용했는지 안했는지확인하는 방법에 대해서 알아보자. (본 단계 진행을 위해서는 Manifest에 권하는 권한에 대해 추가를 해야한다.) 권한 확인 : checkSelfPermission public static int checkSelfPermission(@NonNull Context context, @NonNull String permission) ContextCompat.checkSelfPermission()메서드에 확인 원하는 권한 전달→ 권한 여부에 따라 PERMISSION_GRANTED(=0) PERMISSION_DENIED(=-1) 을 리턴한다. -- 권한 확인 private const val PERMISSION_WRITE_ST.. 안드로이드 2023. 1. 27. [Kotlin] CSV 파일 읽고 쓰기 참고 : https://www.baeldung.com/kotlin/csv-files 1. 개요 CSV 파일은 다목적으로 사용되는 data 형식이다. MS Excel, Google Sheet 등에서 활용된다. CSV파일은 쉽게 여러 작은 파일로 쪼개질 수 있고, 여러 파일을 하나의 파일로 합칠 수 있다. 이러한 특징은 병렬 처리를 가능하게 하여, data의 자동적인 수집을 쉽게 한다. 코틀린 언어는 함수형 프로그래밍에 중점을 뒀기 때문에, batch 코딩이 쉬워졌다. CSV 파일 읽고쓰는 방법 - 순수 Kotlin : flexibility가 가장 좋은듯. - kotlin-csv 라이브러리(기본라이브러리) : 매우 strict한 csv타입에 대해서는 사용할만함. - Apache CSV : one call로 .. 안드로이드 2023. 1. 15. [안드로이드] AlertDialog : yes, no창 띄우기. 확인창 띄우기, 알림창 띄우기!(Kotlin) 알림창 띄우기! 코드! // 저장소 경로 받앙괴. val path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).absolutePath // 여기서 MainActivity@this로 해주어야 한다는 점 잊지 말자 val alertDialog: AlertDialog? = MainActivity@ this.let { val builder = AlertDialog.Builder(it) builder.apply { setTitle(R.string.download_dialog_title) // 제목 설정 setMessage(R.string.download_dialog) // message 설정 // yes 버튼일 때.. 안드로이드 2023. 1. 14. [OpenCV] Kotlin에서 OpenCV사용하기- 설정(feat. Android Studio) 참고 : https://philipplies.medium.com/setting-up-latest-opencv-for-android-studio-and-kotlin-2021-edition-259be404b133 Setting up latest OpenCV for Android Studio and Kotlin — 2021 edition OpenCV is an amazing library used by millions of developers around the world. Sadly the documentation is outdated and sometimes misleading… philipplies.medium.com 1. OpenCV-sdk 다운로드 https://sourceforge.net/proje.. OpenCV 2023. 1. 10. [OpenCV] 이미지 히스토그램 - calcHist 작은 픽셀이 모여 하나의 이미지를 이루고 있다. 각 픽셀은 R, G, B 값을 가지고 있다. 각 8바이트 0~255 숫자 중 하나의 값을 지닌다. 컬러 이미지에서 이미지 히스토그램은 상에서 각 R, G, B값의 분포를 나타낸다. GrayScale에서는 grayscale의 분포를 나타낸다. 관찰 데이터의 빈도수 - 히스토그램을 활용하면 데이터의 확률분포를 추정할 수 있다. - 히스토그램은 이미지 픽셀 분포에서 매우 중요한 정보를 ㅈ공 - 히스토그램을 활용하면 다음 작업이 가능하다. 1) 화질 개선 - 히스토그램 이퀄라이제이션 2) 히스토그램 비교, 역투영 hist = cv2.calcHist(images=[image], channels=[i], mask=None, histSize=[histSize], ran.. OpenCV 2023. 1. 10. [표뽑] OCR - 표 인식 (feat. Naver CLOVA OCR) 본 자료는 2023년 1월 8일 기준이다. 표 인식 기능을 활용하기 위해서, 네이버 Cloud Platform내에 CLOVA OCR을 활용해보도록 한다. 전체 Step은 다음과 같다. 1. Naver CLOVA 가입 -----------------------------------------------여기부터는 콘솔이라는 곳에서 행해진다. 2. CLOVA OCR 사용 신청 → 도메인 생성 3. API Gateway 사용 신청 4. Clova OCR → 도메인 → Text OCR 클릭 → 자동연동→ Postman등 request보낼 수 있는 곳에서 test 진행. ** 막상 일부 진행하고 나니, 굳이 표로 인식할 필요는 없는 것 같다. text로 인식하는게 더 저렴하기도하고, 그정도만 해도 충분할 듯 하다... 프로젝트/표뽑( 표를 뽑아본다.) 2023. 1. 9. [OpenCV] 이진화(Binarization, thresholding) 이진화, 사진을 두가지(흑, 백)으로만 분류하는 것입니다. 이진화는 왜 할까? 경계값을 기준으로 이진화시키면 물체가 뚜렷해지기 때문이다. - 이진화 input : 임계값, 최댓값 * cv2.THRESH_BINARY옵션에서 임계값이하의 pixel은 rgb = (0,0,0) =검정으로 변환되며, 임계값 초과의 pixel은 설정한 최댓값으로 변환된다. image =cv2.imread('./sampleData/sample2.jpg', cv2.IMREAD_GRAYSCALE) # 이미지 파일 불러오기. divider = 4 dst = cv2.resize(image, dsize=(int(image.shape[1]//divider), int(image.shape[0]//divider)), interpolation=cv.. OpenCV 2023. 1. 7. [Open CV] 이미지 다루기- imread, imshow, waitkey, resize 최종적으로 테이블을 엑셀로 변환작업을 진행하려 합니다. imread : 이미지 읽기. 이미지 파일은 Numpy Array형태로 값들이 넘어오며 각 숫자가 해당 위치의 색을 의미한다. image =cv2.imread('./sampleData/tablesample.jpg', cv2.IMREAD_GRAYSCALE) # 이미지 파일 불러오기. cv2.imshow("image", image) # 윈도우에 이미지 보여주기. cv2.waitKey(0) # 키보드 입력 대기. * 불러올 수 있는 이미지 파일 format .png, pbm, .ppm, pxm, pnm, bmp, jpeg, jpg, jpe, jp2, webp, pfm, sr, ras, exr, hdr, pic, tiff, tif * 이미지 불러오는 옵션 .. OpenCV 2023. 1. 7. [개념] Proxy 프록시 서버 : 대신하는 것. 프록시(proxy) 서버 : 클라이언트나 서버의 요청을 대리해서 처리하는 서버 프록시 서버는 클라이언트와 서버가 요청과 응답을 주고 받는 사이에서 요청 또는 응답을 대신 처리한다. 포워드 프록시 : 클라이언트 측에서 활용( 보안, 속도 Good) 리버스 프록시 : 서버에서 활용(보안, 속도 Good, 부담분산- 로드 밸런싱..) Insight - 사내에서 외부의 특정 사이트에 접근이 불가능 하다. 회사는 보안을 위해서 다양한 client(ex 내 컴퓨터)의 요청을 하나의 proxy에서 처리한다. client가 요청한 홈페이지가 proxy서버에서 허용한 list에 포함되지 않는다면, 접근을 제한한다. 개념 2022. 12. 27. [Spring] Spring boot - Properties Spring boot properties : 스프링 부트 기본 기능 전체를 튜닝하는 부트 전용 설정 프로퍼티 - classpath : application.properties, application.yml로 제어 가능. - 부트 기능 거의 대부분을 제어 - 기본값이 세팅되어 있어서 아무것도 쓰지 않아도 동작함. - 경로 : root>resource>application.properties Configuration과 동일한 동작을 한다. 다음은 동일한 동작을 하는 configuration파일과 application.properties이다. application.properties는 Configuration에 비해 간단하게 처리가능 할 수 있으나, configuration은 더 복잡한 로직을 처리할 수 있다.. WEB/SpringBoot 2022. 12. 27. 이전 1 ··· 4 5 6 7 8 9 10 다음 반응형