반응형 전체 글111 [브라우저] 브라우저의 동작 원리 ◆ 브라우저의 동작 원리 브라우저를 켜고, 웹 사이트에 접속하면 일어나는 일에 대해서 알아보겠습니다. ■ 서버로부터 데이터 요청(주로 network 모듈) 1. 브라우저는 DNS서버에 호스트에 해당하는 ip를 요청 2. DNS 서버는 ip를 브라우저에 응답. 3. 웹 브라우저와 서버는 비밀 key를 통해 3Way- Handshake로 데이터 주고 받기 위한 준비 완료. 4. 데이터 요청 : HTTP Reqeust 5. 응답 : HTTP Response ■ 사용자에게 데이터 출력 HTML, CSS, javascript 를 parsing하고 화면에 표시한다. -------------------- Contstruction ---------------------- 1. HTML 파싱 → DOM Tree 생성 2.. 브라우저 2023. 2. 26. [브라우저] 브라우저의 구조 ◆ 브라우저란? 선택한 자원을 서버에 요청하고, 전송 받은 자원을 사용자에게 표시해주는 tool이다. ※ 전송 받은 자원 : HTML, CSS, Javascript, PDF, Image, WASM 등등 - 좀 더 구체적으로 설명하자면, 1. 사용자 인터페이스 영역의 주소창에서 URI(Unified Resource Identifier : 자원 식별자)를 입력한다. 2. 네트워킹 모듈을 통해 HTTP 요청을 보내고, 응답을 받는다.(응답은 자원을 포함한다.) 3. 전송받은 자원은 렌더링 엔진을 통해서 사용자에게 볼 수 있는 형태의 오브젝트로 변환된다.(렌더링) - 브라우저 엔진은 이 때 전송받은 자원을 렌더링 엔진으로 넘겨주는 역할을 한다. * 필요한 경우 자바스크립트 해석기를 통해 자바스크립트 코드를 해석.. 브라우저 2023. 2. 23. [LeetCode] 3. Longest Substring Without Repeating CharactersMedium - Medium https://leetcode.com/problems/longest-substring-without-repeating-characters/description/ Longest Substring Without Repeating Characters - LeetCode Longest Substring Without Repeating Characters - Given a string s, find the length of the longest substring without repeating characters. Example 1: Input: s = "abcabcbb" Output: 3 Explanation: The answer is "abc", with the length of 3. Example 2: In.. 코딩 테스트 2023. 2. 15. [LeetCode] 2. Add Two Numbers - Medium Medium이라지만 오히려 쉬운듯 하다. 시각화? 가 잘 되어 있어서 문제 이해는 어렵지 않다. 문제 설명 one way의 linkedList가 아래와 같이 정의되어 있다. 순서대로 2,4,3-> 342 5,6,4-> 465 를 의미하며 342+465 = 807을 마찬가지의 형태인 7,0,8을 나타내는 listNode로 리턴해야 한다. 문제 풀이 딱히 풀이라고 할 것도 없다. 10이 넘어가는 경우데 대해서만 잘 처리해주면 된다. 처음에는 isOverTen이라는 boolean을 선언하여 코드를 짰는데, 그보다는 int over 을 정의하여 이전 두 수의 합이 10이 넘을 경우 1, 아니면 0을 담도록 했다. /** * Definition for singly-linked list. * public class.. 코딩 테스트 2023. 2. 15. [LeetCode] 1. Two Sum - Easy 처음 이 문제를 보고 비웃었다. 시간 복잡도 O(n^2)방법은 쉽게 생각해냈지만, 더 나은 방법은 찾아낼 수 없었다. 다른 사람의 솔루션을 보고 O(nlogn)까지 가능하다는 것을 알게 되었다. + HashMap을 사용할 경우 O(n)까지 가능... 심지어 쉬움. 쉬운 문제에서도 배울 점이 있구나... 문제 설명 문제는 간단하다. input : nums = [2,7,11,15], target = 9 output : [0,1] input으로는 정수 배열과, target 숫자가 들어온다. 이 때, 정수 배열에서 서로 다른(index가 다른) 두 원소의 합이 target이 되는 index 배열을 리턴하는 것이다. 제약사항은 아래와 같다. 2 코딩 테스트 2023. 2. 15. [Java] List정렬(sort)/ Collections.sort, List.sort 1. Collections.sort public static void sort(List list) public static void sort(List list, Comparator Java 2023. 2. 11. [프로그래머스] 디스크 컨트롤러 회사에서 코드를 짤 때는 주로, 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. 이전 1 ··· 3 4 5 6 7 8 9 10 다음 반응형