전체 글 (49) 썸네일형 리스트형 Xcode 메모리 디버깅 언젠가 홍정모님 유튜브 어떤 영상에서 개발자의 최종 미션은 메모리관리 라는 말이 나왔었는데, 인상깊어 메모리만 하면 그 말이 생각이 난다 아직 현직에 있어서 직접 메모리관련된 어떠한 작업을 한다거나 그럴일은 없지만, 그렇다고 해서 아예 등한시 할 수도 없는일이지 않은가 개발적인 부분은 부족할지라도 메모리를 볼 수 있는 방법에 대해서는 기록하려 한다. ٩( ᐛ )و 나중에 쓸모가 있겠지! 1. 힙 메모리 영역 디버깅 ( 메모리 그래프 ) 힙 영역의 메모리를 디버깅하는 방법이다. 어떠한 부분에서 메모리 누수가 의심되면 그래프를 통해 확인할 수 있다. 코드에서 break point를 찍고 , 메모리 디버거 아이콘을 누르면 바로 메모리 그래프로 이동한다. 빨간 원 안에있는 아이콘을 누르면 된다. 각 객체가 서로.. PR ( Pull Request ) 보내기 PR은 Pull Request의 약자로 보통 오픈소스 컨트리뷰트를 할때 가장많이 쓰인다. 지금은 PR보내는데에 큰 어려움은 없지만, 후에라도 오랜만에 보낼때를 대비해 PR하는 방법을 기록해놓겠다. 그전에 PR을 보내기 이전에 알아야 할 사항이 있어 설명하고 넘어가겠다. ( folk , clone ) 1. Folk ( 원래 Repository -> 내 Git Repository ) 기여하고자 하는 저장소를 통째로 가지고 오는 과정이다. 해당 저장소에 있는 모든것, 소스코드들을 내 깃허브 레포지토리로 가져오게된다. 어떠한 레포를 본 떠서 내 깃허브로 가져온다고 생각하면 된다. folk를 하는 방법은 매우간단하다 1) 본뜨고자 하는 깃 레포지토리에 들어간다 ( 웹사이트로 들어가야 한다 ) 2) 가장 오른쪽 에.. [Swift 둘러보기] Class 인스턴스 생성 - initializer swift의 클래스는 인스턴스를 생성하기 위한 .init()의 이니셜라이저가 필요하다. 또한 객체를 해재하기전에 어떠한 정리작업을 수행할 필요가 있다면, deinit으로 정리자를 생성해준다. 상속 하위클래스는 상위클래스 이름을 클래스 이름뒤에 : 로 구분하여 포함한다. 또한 상위 클래스의 함수를 재정의 하려면 override로 표시한다. * 상위 클래스의 super.init() 순서에 대하여 하위클래스의 이니셜라이저를 정의할때, super.init()을 먼저 호출하고 나머지 변수값들에 대해 이니셜라이징을 해주려했는데 빨간줄과 함께 에러가 났다. Property 'self.sideLength' not initialized at super.init call 라는 경고문.. 네이버 부스트캠프 6기 iOS 합격 오랜만에 블로그를 다시 켰다. 사실 작년까지는 정말정말 해보고 싶었던 부스트캠프인데 요 근래 최종탈(삼성, 마리트 등...) 먹어서 멘탈이 가루가 났던지라 부스트캠프 결과엔 신경도 안쓰고 있었다. 사실 삼성을 붙을거라 확신하고 있었기에...삼성 준비한다고 코테 빡세게 돌렸던 이후엔 거의 건드리지 않고 있었다. 그런데도 꾸준히 백준 풀었던게 도움이 됐던건지 부캠 코테는 크게 어렵지 않았다. 개인적으로 1차가 2차보다 더 어렵다고 생각이 됐었다. cs 객관식 문제에서도 당황했었고, 문제도 잘못 이해했어서 푸는둥마는둥 했기 때문이다. 2차는 나름 마음의 준비( 크게 중요하진 않음)를 했어서 쉽게 풀렸었고, 기억상으론 4문제가 있었는데 마지막 한문제는 깔끔하게 포기하고 3문제만 풀고 제출했었다. (사실 부캠 2.. 백준 2234 - 성곽 https://www.acmicpc.net/problem/2234 2234번: 성곽 첫째 줄에 두 정수 n, m이 주어진다. 다음 m개의 줄에는 n개의 정수로 벽에 대한 정보가 주어진다. 벽에 대한 정보는 한 정수로 주어지는데, 서쪽에 벽이 있을 때는 1을, 북쪽에 벽이 있을 때는 2를, www.acmicpc.net 이건뭐 시키는대로 하면 되는 문제 이동가능한지아닌지는 비트연산으로 판단하면 될 것 같다 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990.. 백준 9376 - 탈옥 사실 첨부터 풀어낼 자신이 없었기 때문에 강의 먼저 듣고 풀었다(플레에 기 죽어버림) 이 문제를 풀면서 새로 안 사실은 가중치가 시간처럼 움직이면 전부 증가하는 (가중치가 전부 동일한)게 아닌 문 연 횟수처럼 다른 상황에서는 1. 그래프를 확장해도 최단경로(찾고자 하는 최솟값)는 변하지 않는다. 2. 가중치가 0과 1일땐, 0-1BFS라는 기법을 사용할 수 있다. 또한 이 문제에서 생각해야할 몇가지는 1. 시작점이 한개 이상이다 (죄수가 두명임) 2. 여기서 그래프를 확장하면 , 죄수는 감옥을 빠져나가 돌아다니다 보면 반드시 만난다는 점이다. (만나게하기 위해 그래프를 확장하는것) 그러면 두 죄수가 탈출하는 상황 두가지를 생각해볼 수 있다. 1) 감옥안에서 탈출하다가, 두 죄수가 만나서 같은 경로로 탈출.. 백준 16933 - 벽 부수고 이동하기 3 분기처리를 해야한다면 그냥 3차원이든 4차원이든 배열로 처리해준다. www.acmicpc.net/problem/16933 16933번: 벽 부수고 이동하기 3 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000), K(1 ≤ K ≤ 10)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. (1, 1)과 (N, M)은 항상 0이라고 가정하자. www.acmicpc.net 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091.. 백준 14442 - 벽부수고 이동하기 2 www.acmicpc.net/problem/14442 벽 부술 수 있는 개수에 따라 이동할지 말지 정하는 문제 visit 배열을 3차원으로 선언해줘서 z 가 k 미만일때는 벽을 부수고 이동할. 수 있고 , k일때는 이동하지 못한다. 반례라 하면 엣지케이스를 봐야할 것 같다 올 상반기 코테 보면서 가장 뼈저리게 느끼는 부분.....히든케이스는 스스로 잡아야하낟 이번 히든케이스는 배열 크기가 1 1 일때 답은 1이지만 , 출력은 -1로 나왔었음 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53.. 이전 1 2 3 4 5 6 7 다음