적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

분류 전체보기 568

[네트워크] 네트워크 패킷 분석 및 Wireshark 설치 (mac)

Wireshark 설치 및 http 네트워크 패킷 분석 방법 네트워크 패킷(packet) 이란? 네트워크를 통해 전송하기 쉽도록 자른 데이터의 전송단위. 패킷은 제어 정보와 사용자 데이터(페이로드)로 이루어진다. ex) IP 패킷은 헤더와 페이로드로 이루어진다. 페이로드 : 전송되는 실제 데이터. 전송의 근본적인 목적(필요한 정보)이 되는 데이터의 일부분. 함께 전송되는 헤더와 메타데이터 같은 데이터는 제외한 것. 프로토콜 오버헤드 : 네트워크를 통해 대상으로 라우팅되는 데이터와 함께 전송되어야 하는 정보. 올바른 대상에 도달하기 위해 전송중인 데이터에 추가로 보내지는 정보라고 볼 수 있다. 보통 패킷의 시작 부분, 헤더에 저장되어 Header라고도 함. 목적 : 정보 전송의 신뢰성 확보 및 시스템의 안..

컴퓨터시스템 2022.01.06

[iOS] 아이폰 웹뷰 디버깅

아이폰 웹뷰 리모트 디버깅 하는 법 기본 설정 1. 아이폰 [설정 > Safari > 고급 > 웹 속성] 켜주기 2. 맥북 아이맥 등의 MacOS에서 Safari 메뉴 > 환경설정 > 고급 탭 > 메뉴 막대에서 개발자용 메뉴 보기 체크 아이폰 웹뷰 디버깅 1. 아이폰을 연결한 후 아이폰에서 사파리 혹은 직접 개발한 웹뷰앱을 실행 2. MacOS에서 [Safari 상단 메뉴 > 개발자용 > 연결된 iPhone] 에서 현재 아이폰에서 열어둔 페이지 목록 확인 가능 3. 목록에서 디버깅하고 싶은 페이지를 선택하면 바로 디버깅 창이 뜬다. 전체 검색(전역 검색)을 하고 싶으면 Ctrl + Shift + F 를 눌러서 원하는 코드를 찾을 수 있다. 참고 : https://doogle.link/%EC%95%84%E..

[크롬 개발자 도구] 웹페이지 디버깅 전체 검색 하는 법

크롬 자바스크립트 디버깅 웹페이지 js 에서 원하는 코드를 찾고 싶을 떄! 크롬 개발자 도구에서 전체 검색(전역 검색) 하는 법 단축키 윈도우 맥 개발자 도구 창 열기 F12 fn + F12 전체검색 Ctrl + Shift + F Command + Option + F 개발자 도구 창 열어서 전체검색 하면 됨 ㅎㅎ Settings에서 [Preferences > Sources > Search in anonymous and content scripts] 설정해줘야 된다는 말도 있던데 굳이 안해도 검색은 잘 되더라. 꺄아 신기행 >

웹 개발 2022.01.06

[Swift] Array 배열 관련 함수들

초기화 및 선언 배열을 선언할 때 선언과 동시에 값을 넣어 초기화 해줄 때에는, 타입을 따로 명시해주지 않아도 요소들의 타입에 따라 자동으로 타입 추론이 이루어진다. var numArr = [1,2,3,4,5] var strArr = ["hong", "ssup"] 하지만 빈 배열을 선언할 때에는 다음과 같이 타입을 반드시 명시해 주어야 한다. 그렇지 않으면 Empty collection literal requires an explicit type 이라는 에러가 뜬다. var emptyStrings = [String]() var emptyInts: [Int] = [] var emptyArr: [Any] = [] 또한 한 배열에 여러가지 자료형 요소들을 넣고 싶다면 explicit type annotatio..

Algorithm/참고 2022.01.06

[Swift 알고리즘] Programmers 제일 작은 수 제거하기

제일 작은 수 제거하기 문제 설명 정수를 저장한 배열, arr에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열일 경우 배열에 -1을 넣어 리턴하세요. 제한 조건 - arr은 길이 1 이상인 배열 - 인덱스 i,j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 이다. func solution(_ arr:[Int]) -> [Int] { var arr = arr arr.remove(at: arr.firstIndex(of: arr.min()!)!) return arr.isEmpty ? [-1] : arr } 다른 사람의 풀이 보면 'index(of:)' 함수를 많이 썼던데, 현재는 deprecated 되었다고 한다. 대신에 'firstInd..

Swift 정규식 NSRegularExpression

WWDC 2022 what's new in swift 에서 새로운 Swift Regex 를 발표했다. import RegexBuilder 하면 정규식 리터럴 대안으로, 알아보기 힘든 복잡한 정규식을 단어로 작성해서 더 이해하기 편하고 읽기 쉬운 SwiftUI 스타일 언어를 제공한다고 한다. 참고 : https://developer.apple.com/videos/play/wwdc2022/110354/ OCR 로 영수증 인식해서 값을 추출해야하는데 이게 과연 앱개발의 영역인가.. 이거는 머신러닝으로 해야하는거 아닌가 싶지만 우선 영수증에 있는 날짜와 금액 등을 불러오기 위해 정규표현식에 대해 먼저 알아보았다. 정규표현식 : String에서 원하는 패턴이나 문자열을 추출할 때 사용하는 방법 Swift는 언어 ..

Algorithm/참고 2022.01.04

iOS 앱내구입 InAppPurchase 테스트 - Sandbox, Testflight

인앱결제를 구현하면 https://developer.apple.com/in-app-purchase/ In-App Purchase - Apple Developer Learn about using in-app purchase and StoreKit framework to sell items within your apps, like premium content, virtual goods, and subscriptions. developer.apple.com 인앱결제 테스트 방법은 크게 샌드박스 환경에서 테스트하기, TestFlight로 테스트하기 이렇게 두 가지 방법이 있는 것 같다. 내 생각에는 소유하고 있는 애플 ID를 사용해서 테스트 하고 싶으면 TestFlight로 기존에 애플ID가 없는 다른 사용자 ..

Github Readme.md Badge 만들기 (feat. shields.io)

간지나는 저 뱃지 어떻게 다는거야?!?!? 부러워서 찾아봤다 ㅋㅋㅋ 배지는 https://shields.io 아이콘은 https://simpleicons.org 를 참고하면 된다. shields.io 사용법 사이트가 좀 느리다.. 나만 그런가? ㅋㅋㅋ 페이지 접속하면 다양한 메뉴들을 볼 수 있는데 유용한 것들이 꽤 있다. 살펴보고 맘에드는 링크 가져와 쓰면 될듯. search / project URL 입력란에 내 github 프로젝트 url을 입력하면 내 프로젝트에 쓸만한 배지를 자동생성해서 준다는데, 나한테는 딱히 필요없는 것들이라 나만의 배지를 커스텀으로 만들어주기로 했다. 기본 Custom Badge 만들기 스크롤을 아래로 좀 내리면 내가 원하는대로 배지를 생성할 수 있는 Your Badge 섹션이..

Github 2022.01.02

사용자 인증 방식 - OAuth, JSON Web Token(JWT)

HTTP 인증 사용자 인증 Authorization : 하나의 세션 동안 사용자의 신원을 확인하여 인증하는 것. 사용자 인증 방식 - 기본 인증 (ID/PW) - 토큰 인증 (OAuth, JWT) - 전자 서명 로그인은 사용자 인증의 한 방식일 뿐. 단순히 http 헤더에 사용자 계정정보(Id/pw)를 넣어 서버에서 식별하게 되면 제 3자에 의해 탈취당했을 때 개인정보가 드러나기 때문에 보안에 좋지 않은 방식이라 할 수 있다. 기본 인증 방식은 보안에 매우 취약한 구조이기 때문에 OAuth JWT 같은 다른 대안들이 떠오르고 있다. 쿠키와 세션 로그인 과정에서만 계정 정보를 서버에 직접 보내고, 그 후로는 세션과 쿠키를 활용하여 인증하는 방식. HTTPS는 Stateless, Connectionless라..

컴퓨터시스템 2021.12.31
728x90
반응형