목록분류 전체보기 (321)
꾸준히 안타치기
문제 Alamofire를 사용해 서버에서 데이터를 받아오고 코더블을 적용 -> 값 안옴 do catch문에 error문에 -> " The data couldn’t be read because it is missing " 라고 뜸 dataJSON는 잘가져옴 디코딩을 했는데 이상하게 가져온값이 찍히지를 않았다. no data라고 뜨지도 않음.. 원인 JSONDecoding 오류 위와 같은 에러는 단순히 error를 출력할 때 나오는 error라함 , JSONDecoding에러에 관련된 에러처리 코드 적용해줌 } catch let DecodingError.dataCorrupted(context) { print(context) } catch let DecodingError.keyNotFound(key, cont..
서버에서 이미지를 불러올때 매번 URL을 호출해서 이미지를 가지고 왔었는데, 이미지를 가져올때마다 새로 불러오느냐고 질문을 주셔서 이 부분에 대해서 생각을 하게 되었다. 생각해보니 그러면 리소스도 많이들고, 비용이 많이 드는 문제가 있을 것 같았다. 메모리에 잠시 저장하는 캐시라는 것이 있다는 것을 알았고 이미지 캐시를 어떻게 하면 좋을지 공부해보았다. 캐시란? 3.〔컴퓨터〕캐시메모리: 주(主)기억 장치에 들어 있는 데이터의 일부를 일시적으로 보관하는 고속 기억 장치. 캐시를 왜 써야할까? 매번 이미지를 가져올때마다 네트워킹을 하게 된다면 비효율적! (리소스 낭비, 다운로드시간 낭비) 한번 받아둔 이미지는 캐시에 저장해서 자동적으로 지워지기 전까지 빠른처리를 하게한다. 이미지를 캐시하는 방법을 찾아보니?..
문제발생 aws ec2서버 사용중 탄력적IP를 생성후 인스턴스에 연결해 사용하지 않아 과금이 발생했다. 탄력적 IP를 사용해야하는 이유는 서버를 중지하거나 재접속했을때 탄력적IP(고정IP)를 사용하지않으면 매번 IP가 바뀌는 이슈가 생김 탄력적 IP를 설정하고 터미널로 서버에 다시 접속할때 하단 문제가 발생했다. 목적지 서버가 재설치 되었다. 목적지 서버가 다른 서버로 교체되었다. 해결방법 ssh-keygen 으로 호스트 정보 업데이트 접속을 시도하려는 내쪽(Client)에서 해당 서버에 대한 키를 제거한 후, 다시 접속을 시도하면 된다. $ ssh-keygen -R 111.222.333.444 known_hosts 파일 직접 수정 , 해당라인을 삭제하고 터미널 재시작 known_hosts 파일 편집 에..
델리게이트 https://bluedogs.tistory.com/386?category=1007876 Delegation패턴을 이용한 커스텀쎌 버튼 클릭 델리게이트란? 대리자 하나의 객체가 다른 객체를 대신해 동작 또는 조정할 수 있는 것을 의미 객체가 해야할 일을 부분적으로 확장하여 대신해서 처리를 해준다. 하나의 객체가 모든일을 처리 bluedogs.tistory.com tableView cell 테이블뷰 셀클래스를 만들고 연결 테이블뷰 셀에 버튼 클릭액션을 만든다. 프로토콜을 정의한다. onClickCell(index: Int) 델리게이트를 정의하고, 버튼을 클릭했을때 게시글의 indexPath를 가져오도록 한다. tableView cellForRowAt에 커스텀셀을 연결한다. 셀에 델리게이트를 설..
Message Queue ? 프로세스, 프로그램 간에 데이터를 교환할때 사용하는 통신 방법중의 하나. Message Queue(줄을서다, 대기줄) 메시지를 임시로 저장하는 간단한 버퍼 ( 정보를 일시적으로 기억하는 중간 장치 ) Message Queue의 이점 어플리케이션 시스템간의 통신 서버간의 데이터를 주고 받거나 작업을 요청할때는 항상 시스템 장애를 염두에 두어야 한다. 서버가 죽거나 점검중에는 요청을 보낼수 없다. 이때 메시지큐를 사용하면 간편하게 처리할수 있다. 서버 부하가 많은 작업 이미지처리, 비디오, 인코딩 대용량 데이터 처리와 같은 작업은 메모리와 CPU를 많이 사용 -> 동시 처리가 한정적 이때 메시지큐에 넣어두고, 서버는 자신이 동시에 처리할수 있는 양에 따라 큐에서 가져다가 처리를 ..
자료구조란? - 메모리를 담는 여러가지 형태 / 데이터를 담는 그릇 자료를 담는 구조로, 자료구조는 각각의 목적에 맞추어져있다. 자료구조의 특징 1. 효율성 자료구조를 사용하는 목적은 데이터를 목적에 맞게 효율적으로 관리 및 사용하는 것입니다. 적절한 자료구조를 선택하여 사용한다면 코드의 효율이 올라갈 것입니다. 2. 추상화 추상화란 구체적인 대상에서 공통적인 측면이나 중요한 성질을 뽑아내여 표현하는 과정이다. 서비스 집중화( 코드를 캡슐화 해서 공통으로 사용하는 것 ) 3. 재사용성 다양한 프로그램에서 동작할 수 있도록 범용성 있게 설계되었습니다. 자료구조의 분류 선형 자료구조는 데이터가 일렬로 나열되어있는 것 비선형 자료구조는 그외의 형태 Array List ( ArrayList / LinkedLis..
https://velog.io/@cyranocoding/Hash-Hashing-Hash-Table%ED%95%B4%EC%8B%9C-%ED%95%B4%EC%8B%B1-%ED%95%B4%EC%8B%9C%ED%85%8C%EC%9D%B4%EB%B8%94-%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%EC%9D%98-%EC%9D%B4%ED%95%B4-6ijyonph6o Hash, Hashing, Hash Table(해시, 해싱 해시테이블) 자료구조의 이해 0_HJVxQPQ-eW0Exx7M.jpeg DATA들이 사용하기 쉽게 정리되어 있다. 자료구조는 도대체 무엇일까? 자료구조(Data-Structure)는 데이터들의 모임, 관계, 함수, 명령 등의 집합을 의미한다. 더 쉽게 표현하자면, 1) ..
https://greendreamtrre.tistory.com/30 Swift (스위프트) 자료형, 형변환, 기본 문법 Playground에서 정지 버튼을 누르고 좌측 숫자 옆에 재생 버튼을 누르면 그 행까지만 실행한다. (Shfit + return과 동일) Shift + return을 반복해서 한줄씩 내려가며 디버깅하기 좋음. 자료형 Int : 정수 (기 greendreamtrre.tistory.com String -> Double // 카메라 함수에 넣기위해 더블형태로 바꾸기 let lat = Double(mapModels.addresses[0].y)! let lon = Double(mapModels.addresses[0].x)!
https://cocoon1787.tistory.com/668 [CS 지식] 내가 공부하려고 만든 신입 개발자 면접 지식 모음집 이전 업데이트 날짜 2021-12-13 최근 업데이트 날짜 2021-01-10 📌 신입 개발자들의 기술 면접 준비를 위해 제가 포스팅한 CS지식들의 링크를 정리해놓은 글입니다. 여러 블로그들과 깃헙 자료들을 구 cocoon1787.tistory.com 아침에 일어나면 하나씩 공부하기 💡 개발 상식 (10/16) 🔗git과 github 🔗MVC 패턴 🔗함수형 프로그래밍이란? TDD의 의미와 장점 🔗RESTful API 의미와 설계규칙 🔗객체지향(OOP) vs 절차지향(PP) 클린코드란? 🔗메모리 구조 Call By Value와 Call By Reference 🔗프레임워크(Fram..
https://stackoverflow.com/questions/29137488/how-do-i-resize-the-uiimage-to-reduce-upload-image-size How do I resize the UIImage to reduce upload image size I've been searching google, and have only come across libraries that either reduce the height/width or some how edit the UIImage appearance via CoreImage. But I have not seen or found one library, ... stackoverflow.com extension UIImage { fu..
기본 입력 받기 (input의 타입은 String) var input = readLine()! Int형 한 개의 숫자 입력 받기 var num = Int(readLine()!)! "1 2 3 4 5"와 같은 공백 있는 숫자 입력 받기 // split - ReturnType: [SubString] var nums = readLine()!.split(separator: " ").map {Int($0)!} // components - ReturnType: [String] var nums = readLine()!.components(separatedBy: " "). map {Int($0)!} "12345"와 같은 공백 없는 숫자를 배열로 입력 받기 바로 Int($0)! 보다 Int(String($0))! 가 속..
https://www.boostcourse.org/mo326/lecture/16906?isDesc=false 야곰부스트코스 https://developer.apple.com/documentation/uikit/uicollectionview 컬렉션뷰 구조 컬렉션뷰 셀 컬렉션뷰의 셀은 냉장고 속에 있는 반찬통으로 생각할 수 있습니다. 컬렉션뷰라는 냉장고가 있고, 냉장고 안에는 실제 반찬(콘텐츠)을 담고 있는 컬렉션뷰 셀이라는 반찬통이 있다고 생각할 수 있습니다. 컬렉션뷰 셀에 특징에 대해서 알아볼까요? 컬렉션뷰 셀은 데이터 아이템을 화면에 표시합니다. 하나의 셀은 하나의 데이터 아이템을 화면에 표시합니다. 컬렉션뷰 셀은 두 개의 배경을 표시하는 뷰와 하나의 콘텐츠를 표시하는 뷰로 구성되어 있습니다. 두 개의..
Alamofire 파운데이션 프레임워크에서는 API호출하기 위해 URLRequest객체를 만들어서 사용했지만, Alamoifire는 더욱 간편하게 접근 할 수 있도록 함. Alamofire 는 비동기 기반으로 네트워크 응답을 처리하기 때문에, 응답 메시지를 reponse 메소드의 결과값으로 반환받을 수 없다. 서버에서 응답이 도착했을때 실행될 로직을 클로저로 미리작성해 , reponse 메소드에 넣어주어야 한다(콜백 함수). Alamofire 는 서버에서 응답이 도착하면 이를 DataResponse타입의 객체로 처리한다음, 이를 클로저의 매개변수에 담아 호출한다. //현재 시간 GET호출 func callCurrentTime() { AF.request("API URL. AF.request는 매개변수로 s..
일정한 형식을 갖춘 텍스트 기반의 메시지형식을 HTTP 메시지라고 한다. 앱이 서버와 연동하기 우해서는 서버에 요청할 HTTP메시지를 직접 만들어서 전송해 주어야한다. HTTP메시지는 요청과 응답으로 나눌 수 있다. 라인 - 헤더 - 바디 세부분으로 구성된다. HTTP메시지는 라인 - 헤더 - 바디 세부분으로 구성 라인 HTTP메시지의 맨 첫줄에 해당하는 내용으로( 반드시 한줄로 작성 ) 메시지의 가장 기본적인 응답/요청여부, 메시지 전송방식, 상태 정보등이 작성 헤더 메시지 본문에 대한 메타정보 Host: 서버주소 Contents- Type: application/x-www-form-urlencoded 바디 실제로 보내고자 하는 메시지의 본문내용 https://bluedogs.tistory.com/70..