1. 익명클래스 - 이름이 없는 클래스 = Anonymous Class - 메소드를 오버라이드 하기 위해서 사용됨 * JAVA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 class Person{ public void greeting() { System.out.println("hello"); } } public class Example{ Person person = new Person(){ public void greeting(){ System.out.println("hiru"); } }; person.greeting(); } Colored by Color Scripter cs - 클래스에서 바로 사용하면 알아서 class override 가 됨 1 2 3 4 5 6 ..
[JAVA,C#,Python 코드 비교] 11. 이분탐색 0. 검색알고리즘이란? - 정해진 단위 절차를 반복하면 원하는 결과를 얻을 때 사용하는 것 1. 이분탐색(Binary Search)란? - 정렬 등과 함께 가장 기초인 알고리즘 - 검색 범위를 줄여나가면서 원하는 데이터를 검색하는 알고리즘 - 이진탐색을 위해서는 자료가 순서에 따라 정렬되어 있어야 함 2. 문자열 검색 알고리즘 - 주어진 문자열 에서 찾고자 하는 문자열이 있을 때, 해당 문자열 위치를 찾는 알고리즘 3. KMP 검색 알고리즘 - 문자열 안에서 부분 문자열을 검색할 때 검색에 실패한 위치를 기반으로 비교할 필요가 없는 문자열은 건너뛰고, 다음번 검색위치를 결정하는 알고리즘 4. BM 검색 알고리즘 - 문자열을 데이터에 검색할 때 검색..
0. 들어가기전에 (1) Scanner과 BufferedReader 차이 이전 관련포스트 --> 클릭 - 각 언어별 입력방식에 따른 시간 차이 존재 - ex) java에서는 java.util.Scanner -> 6.068초 / java.io.BufferedReader -> 0.934초 - 시간을 생각한다면 java.io.BufferedReader을 사용하는것이 이득 (2) BufferedWriter과 System.out.println() - 잘 구현된 알고리즘은 속도, 메모리 측면에서 최적화 되어야함 - System.out.prinln()의 경우 시스템 리소스를 필요이상으로 사용 1. Array와 List 차이점 - 자세하게 이전 포스트에 정리 --> 클릭 - 간단하게 정리 - Array -> 배열, 처..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/nTlea/btqHJpSVZ7o/IBNMLBlqrmrKh7OjiqbE6K/img.png)
Thread? - 프로세서 내에서 실행되는 세부 작업 단위 - 같은 프로세스의 다른 thread에서 코드와 데이터를 공유하게 됨 - multi-threading 메인 쓰레드 (=ui 쓰레드) - 앱 실행시 기본적으로 생성되는 쓰레드 - 각종 생명주기 함수 처리 , 이벤트 처리 수행 - 보통 메인 스레드에서 5초 이상 블록되어 있으면 ANR(Application Not Responding) 발생으로 프로그램 중지여부를 결정해야 함 - 즉, 메인 쓰레드는 블록되어서는 안됨 작업 쓰레드 - 긴 처리 기산을 필요로 하는 작업 수행을 위해서 별도의 쓰레드 추가하여 사용하는것 - 안드로이드에서는 앱의 원활한 동작을 위해 메인 쓰레드에서 처리할 수 없는 일을 정의하고 있음, 예외 발생을 강제로 하여 정책을 지키도록 ..
0. getWindow() getWindow().addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD | LayoutParams.FLAG_SHOW_WHEN_LOCKED | LayoutParams.FLAG_TURN_SCREEN_ON); - LayoutParams.FLAG_DISMISS_KEYGUARD // phone이 lock 상태면 보여주지 않음 - LayoutParams.FLAG_SHOW_WHEN_LOCKED // 잠금화면 위에 app 보여주기 - LayoutParams.FLAG_TURN_SCREEN_ON //꺼진 화면을 on getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/c9L18d/btqHCUQ6mnO/OyMM32NWLZEtao8mFI6wKk/img.png)
1. Docker Install WSL2 설치 및 사용 방법 https://www.44bits.io/ko/post/wsl2-install-and-basic-usage WSL2(Windows Subsystem for Linux 2) 설치 및 사용 방법 지난 5월 윈도우10의 대규모 업데이트가 있었습니다. 이번 업데이트에는 WSL2 정식 릴리스가 포함되어있습니다. WSL은 경략 가상화 기술을 통해 윈도우에서 리눅스 배포판을 사용할 수 있게 도와�� www.44bits.io - 참고 사이트 https://bbongcol.github.io/wsl/2020/07/30/wsl2_performance_configuration.html TECHJUN A simple yet classy theme for your Jek..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/sEweD/btqHemh2z6f/r49kDxAxyZ2KDaV4cL4Kek/img.jpg)
1. Heroku란? www.heroku.com/ Cloud Application Platform | Heroku Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud. www.heroku.com 2. 사용방법 1. Git 설치 2. Heroku 가입 3. Create new App & App name 설정 4. Heroku Cli 설치 >> heroku login 5. Heroku에 올리기 >> git init >> git add . >> git commit -m "message " >> heroku git:remote -a "ap..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Psmsa/btqHoWV0KU9/LfqB0Yk693GmrhDFmUxAFK/img.png)
1. SSL(Secure Socket Layer) 이란? - 보안 소켓 계층이라는 뜻으로 웹 사이트와 브라우저, (혹은 두 서버) 사이에 전송된 데이터를 암호화하여 인터넷 연결 보안을 유지하는 표준 기술 - 해커가 개인 정보 및 금융 정보를 포함한 전송되는 모든 정보를 열람하거나 훔치는 것을 방지 cf) TLS(Transport Layer Securiity) - 더욱 더 강력한 버전의 SSL , 하지만 일반적으로 TLS도 SSL로 불림 2. HTTP(HyperText Transfer Protocol) - 인터넷에서 웹 서어와 사용자컴퓨터에 설치된 웹 브라우저 사이에 문서를 전송하기 위한 통신 - HTTPS는? 보안 취약점을 해결하기 위한 프로토콜, 기본 골격이나 사용목적등은 HTTP와 거의 동일하고 데이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/tDnF4/btqHjW9VSMW/Mchnk4r10q8ZlxoGqW3oq1/img.png)
1. WebRTC란? - 웹 브라우저간의 플러그인의 도움 없이 서로 통신할 수 설계된 API 이다 - 예제는 googlecodelabs에서 제공해주는 webrtc-web 코드에서 살펴볼 수 있다. https://github.com/googlecodelabs/webrtc-web googlecodelabs/webrtc-web Realtime communication with WebRTC. Contribute to googlecodelabs/webrtc-web development by creating an account on GitHub. github.com 2. WebRTC 예제 step05 Visual Studio Code 접속 후 step-05에 들어가서 terminal에 다음을 입력하여 webRTC의..
1. 프로시저 프로시저의 개요 - 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어 - 호출을 통해 실행되어 미리 저장해놓은 SQL 작업 수행 - 여러 프로그램에서 호출하여 사용 가능 - 데이터베이스에 저장되어 수행되기 때문에 스토어드 프로시저라고도 함 - 시스템의 일일 마감 작업, 일괄 작업 등에 사용 프로시저의 구성 - DECLARE : 프로시저의 명칭, 변수, 인수, 데이터 타입을 정의하는 선언부 - BEGIN / END : 프로시저의 시작과 종료를 의미 - CONTROL : 조건문 또는 반복문이 삽입되어 순차적으로 처리 - SQL : DML, DCL이 삽입되어 데이터 관리를 위한 작업(조회, 추가, 수정, 삭제) 수행 - EXCPETION : BEGIN ~ END 안의 구문 실행..