목록전체 글 (321)
꾸준히 안타치기
문제) 게시글 테이블과, 북마크 테이블이 있다. 북마크 테이블은 게시글에서 좋아요를 누른 것들을 담아둔 것인데(Left Join으로) 게시글을 지웠을때 북마크에 이상하게 이미지가 중복 출력이 되는 현상이 있었다... 원인은 게시글을 지웠을때 연관된 북마크의 게시글이 Null로 그대로 남아있어서 생기는 오류였다. 게시글을 지울때 먼저 북마크 되어있는 게시글을 먼저 지우고 부모 게시글을 삭제해야 깔끔하게 삭제된다. 연관된 테이블중 부모테이블만 지웠기에 부모테이블에서 정보를 가져오는 북마크 테이블은 데이터가 빈상태.. 함께 지워줘야한다. 이 때 쿼리를 두 번 실행해야하는데 트랙잭션이라는 개념을 알게 됬다. 첫번째 쿼리를 실행하다가 서버에 이상이 생긴다면 두번째만 실행되거나, 첫번째만 실행되거나? 오류나 가더나..
()-> Void 반환형이 없다. func completion(){ } 우리는 함수를 정의할떄 func 이라는 키워드를 이용해 정의해왔다. 클로저는 함수와 동일한 기능을 하되, func키워드와 함수명이 없는 함수이다. (익명함수) comment 부분 이름은 아무거나가능, completion내용을 받아와 넣어줄수 있음. 자료형 생략 가능 + in completion: 생략가능 + in 생략형 이벤트를 받을수도 있고 아닐수도 있고, 클로저를 옵셔널 처리할 수도 있다. (이벤트 받을수도 있고 없을 수도 있음) 숫자 받아서 string으로 리턴 함수와 클로저의 차이점 Function func 키워드를 통해 정의한다. 이름을 갖는다. in 키워드가 존재하지 않는다. Closure func 키워드가 존재하지 않는다..
NotificationCenter 관찰해서 알려주는 역할( 등록된 옵저버에게만 )을 한다. 더보기 https://bluedogs.tistory.com/265?category=1007876 Notification / 이벤트 전달! /노티피케이션 센터와 노티피케이션 https://developer.apple.com/documentation/foundation/notificationcenter/ 옵저버 패턴을 사용하는 노티피케이션 센터와 노티피케이션 ob·serv·er| əbzə́ːrvər | 명사1.관찰자, 관측자; 감시자; .. bluedogs.tistory.com 등록된 관찰자에게 정보를 브로드캐스트할 수 있도록 하는 알림 디스패치 메커니즘 언제 사용하는게 적합할까? 앱 내에서 연결없는 두 개 이상의 컴..
서버에서 게시글호출 중.. 페이징 처리에 대해서 생각하게 됬다. 페이징을 하지 않았을 경우의 문제점에 대해 생각해보게 되었는데 클라이언트와 서버입장으로 생각해보았다. 서버 측 문제점 많은 양의 데이터가 저장된 경우 한번에 읽어 올 경우에 처리속도가 늦어진다. 클라이언트 측 문제점 데이터를 읽어오는 범위를 잘못설계시, 데이터가 낭비될 수 있다. 데이터를 받는데도 시간이 오래걸리고, 받을때도 네트워크 자원을 필요이상으로 소모하게 된다. but, 너무 작은 크기로 쪼개면 통신횟수가 늘어나므로 이 또한 문제 통신횟수를 크게 늘리지 않으면서 너무크지 않은 적절한 데이터를 나누어 주고 받도록 구성해야함. 서버 측에서도 나누어 받을 수 있도록 기능을 제공해야함. 클라이언트 측 Get방식으로 API를 호출할때 호출할 ..
프로세스 : 컴퓨터가 어떤일을 하고 있는 상태 동시성 병렬성 더보기 비동기(Asynchronous) 프로그래밍 기다리지 않고 바로 다음 작업을 실행 . 병렬적 동기란? 비동기란? https://bluedogs.tistory.com/143 동시성(Concurrency) 프로그래밍 / 비동기 동시에 실행되는 것 처럼 보이는 것. 여러 쓰레드가 번갈아가면서 실행되는 방식 병렬성(Parallelism) 프로그래밍 / 비동기 물리적으로 정확히 동시에 실행되는 것. 물리적으로 동시에 정확히 동시에 실행되는 것을 말합니다. 멀티 코어에서 멀티 스레드를 동작시키는 방식으로 데이터 병렬성(Data Parallelism)과 작업 병렬성(Task Parallelism)으로 구분됩니다. 데이터 병렬성 : 전체 데이터를 나누어..
검색기능을 만들었는데 영어, 숫자만 검색되고 한글은 검색결과가 나오지 않았다. 문제) URL세션으로 API 검색기능을 구현함 -> 한글검색은 안되는 상태. url에 한글이 포함되어 있을 경우에 서버는 한글을 읽을수 없다. 띄어쓰기도 인식X 해결) addingPercentEconding과 urlQueryAllowed 사용해서 URL String을 -> String으로 변경해 전송 인코딩후 서버로 전송한다. // word에 담긴 단어를 가져옴 print("firstTabVC/ 단어입력내용 :\(self.word)") // 한글이 있는 URL let someURLString = self.BASEURL+"post/0iOS_feedSearch.php?word=\(word)" // 한글이 있는 URL String을..
OOP란? Object Oriented Programming Concepts(OOP) 클래스- 객체를 생성하기위한 템플릿 객체 - 클래스의 인스턴스( 메모리에 등재 ) Encapsulation(캡슐화) - 클래스에 보안제공 , 다른개발자들이 클래스안의 멤버와 펑션을 변경할수 없게한다. 접근권한이 없음 상속 - 코드의 재사용성을 위해사용/ 부모가 갖은것은 자식도 갖고있음 polumorphism - 오버로딩 / 같은 이름의 함수이지만 다르게 실행됨 Abstraction - 가상클래스 / 가상클래스를 부모로 갖고 있는 자식클래스는 가상함수를 그 안에서 구현해야한다. https://www.youtube.com/playlist?list=PLVNY1HnUlO25sSWDr7CzVvkOF3bUgkiQQ 코딩 인터뷰 정..
거품정렬 파이썬예제 import unittest def bubblesort(alist): for i in range(len(alist)-1): for j in range(len(alist)-1): if alist[j] > alist[j+1]: alist[j], alist[j+1] = alist[j+1], alist[j] return alist class unit_test(unittest.TestCase): def test(self): self.assertEqual([1, 2, 3, 4, 5, 6], bubblesort([4, 6, 1, 3, 5, 2])) self.assertEqual([1, 2, 3, 4, 5, 6], bubblesort([6, 4, 3, 1, 2, 5])) self.assertEqua..
https://developer.apple.com/app-store/review/guidelines/ App Store Review Guidelines - Apple Developer App Store Review Guidelines Apps are changing the world, enriching people’s lives, and enabling developers like you to innovate like never before. As a result, the App Store has grown into an exciting and vibrant ecosystem for millions of developers and developer.apple.com 앱스토어 승인 - 개인적 경험을 적어놓..
싱글턴 (SingleTon) 싱글턴은 '특정 클래스의 인스턴스가 오직 하나임을 보장하는 객체'를 의미합니다. 싱글턴은 애플리케이션이 요청한 횟수와는 관계없이 이미 생성된 같은 인스턴스를 반환합니다. 즉, 애플리케이션 내에서 특정 클래스의 인스턴스가 딱 하나만 있기 때문에 다른 인스턴스들이 공유해서 사용할 수 있습니다. 클래스가 여러번 호출되어도 딱 한 객체만 생성되도록 하는 디자인패턴이다! ex) 세팅을 관리하는 객체는 반드시 하나만 존재해야한다. https://youtu.be/lJES5TQTTWE?t=62 / 객체지향 패턴 얄팍한코딩사전 링크 Cocoa 프레임워크에서의 싱글턴 디자인 패턴 Cocoa 프레임워크에서 싱글턴 디자인 패턴을 활용하는 대표적인 클래스를 소개합니다. 싱글턴 인스턴스를 반환하는 팩..
https://qteveryday.tistory.com/314 swift network conection 체크 - 인터넷 연결 체크 swift network conection 체크 - 인터넷 연결 체크 ios 에서는 NWNetworkMonitor 라이브러리를 이용해서 지금 폰이 인터넷에 연결이 되어 있는지 안되어 있는지 체크를 할수 있다. 그리고 와이파이에 연 qteveryday.tistory.com
델리게이트란? 대리자 하나의 객체가 다른 객체를 대신해 동작 또는 조정할 수 있는 것을 의미 객체가 해야할 일을 부분적으로 확장하여 대신해서 처리를 해준다. 하나의 객체가 모든일을 처리하는 것이 아니라 처리해야할 일 중의 일부를 다른 객체에 넘기는 것을 말한다. 그 업무를 잘하는 사람에게 일을 대신해달라고 요청하는 것 델리게이트는 쓰면 뭐가 좋은가? 기능을 위임할 수 있는 객체가 있다는 것은 그만큼 직접 구현해야하는 부분이 적다는 뜻 -> 효율성이 높다. 큰 규모의 프로그램을 빠르게 작성할수 있다. 델리게이트는 왜 쓰나? 델리게이트는 특정한 상황에 대리자에게 메시지를 전달하고, 응답을 받기 위한 목적으로 사용된다. 처리하라고 시키는 객체 (프레임워크 객체 ) --- 요청 ->>>> 대신 처리해줄 객체 (..
문제 1 탄력적 IP설정 인스턴스를 생성한뒤에 인스턴스가 중지되거나, 종료될때마다 탄력적IP를 설정해두지 않으면, 접속시마다 IP가 변경된다. > 그래서 탄력적 IP를 설정해주어야함 (Elastic IP Adderesses부분) 탄력적 IP를 만든뒤에 인스턴스에 적용을 하지 않으면 비용이 발생한다. 탄력적IP를 생성했으면 꼭 적용해준다. 문제 2 인스턴스 활성 리전 설정 결제대시보드에서 총 활성 AWS리전 수를 확인한다.(우측 하단) 개빡치는 것이.. 요금 부분에 리전이 두개인데 의도치않게 2개가 활성화 되어 있었다. 그래서 요금도 두배가 된다.^^ Asia Pacific(Seoul) US west(N.california) > 서울로만 설정했는지 잘 확인한다. > 리전 인스턴스를 확인하고, 의도하지 않은..
클라이언트와 서버에서 좋아요의 처리를 어떻게 해야할지에 대한 고민 현재 게시글의 좋아요를 누르면 이 정보를 서버로 보내서 테이블에 저장을 하고 있는 상태.(글번호,ID) 좋아요정보를 서버로 보내는 이유는 좋아요를 모아서 보기위함 이때 하트버튼을 토글방식으로 누르고 있는데 ♡(눌리기전) -> ♥(누른후) 처음엔 버튼의 눌리는것의 정보도 함께 서버로 보내서 저장을 하고 그 값을 가져와서 그대로 뿌리는 방법을 생각했는데 단순한 버튼의 눌림은 클라이언트 상에서만 정보를 갖고 있어도 되지 않을까 라는 생각이들었고 은둔 고수님들의 생각은 어떤지 궁금해 카페에 질문을 해보았다. https://cafe.naver.com/mcbugi 생각한 구현방법?! 로그인했을때 아이디값+게시글번호(좋아요 버튼의 눌림 여부)를 U..