누군가 제게 MVC, MVP, MVVM 각각에 대해 설명을 해보라고 한다면 어렴풋이 설명은 할 수 있다고 생각해요. 그런데 아마 각 객체의 역할과 관계 정도만 간단하게 말할 수 있을 것 같더라구요. 그래서 제가 나름 신뢰할 수 있는 사이트, 개발자 분들의 글과 영상을 요약해서 MVC, MVP, MVVM의 특징에 대해 요약해 보려고 합니다. MVC VIEW CONTROLLER MODEL 사용자의 입력을 받음 view가 받은 사용자 입력으로 model 업데이트, 업데이트 된 모델로 view를 업데이트 data와 관련 이상적인 방식은 delegation pattern을 사용한 view와 model의 중간 다리 역할 (ex. UITableView의 UITableViewDataSource) [ex] persist..
로컬에서 작업하며 커밋만 쌓아두다 "오늘은 푸시해야겠다~" 라고 마음을 딱 먹었는데 아니 이런?! Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 사실 별 건 아니고 그냥 시키는대로 하면 되는 일이라 간단하게 방법만 살펴보겠습니다. 급하신 분들은~ 1. github.com → Settings → Developer Settings → Personal Access Tokens 생성 2. Keychain에 암호로 지정 안급하신 분들은 아래 사진으로 함께 보세요!
회사에서 다양한 지표들을 빠르게(실시간에 가깝게) 업데이트 할 다양한 방법을 모색하고 있는데요, 그 중 하나가 바로 Tableau를 사용하여 대시보드를 구성하는 방법입니다. Tableau는 마케팅 분야에서 많이 쓰이는 것으로 알고 있는데, 서버와 연결해서 데이터를 가져오는 것은 누가할까요? (궁금) 오늘 제가 해당 작업을 했는데요, MySQL server와 Tableau를 연결하는 몇 가지 방법에 대해 정리해보겠습니다. 1. Local MySQL server 접속 2. SSH 터널링을 통한 Remote MySQL server 접속 두 방법 모두 공통적으로 Driver 설치는 해주어야 합니다. 우선 공통적으로 해야하는 Driver 설치 작업에 대해 간략히 알아 본 후 MySQL server에 연결할 수 있..
namespace 라는 말 몰라도 코드짜는데 문제는 없었지만 개발서적이나 튜토리얼 읽다보면 눈에 밟힌다. C++ 할 때도 그 어떤 기계보다 기계적으로 using namespace std; 를 쳤는데 namespace가 정확히 무엇인지 잘 몰랐다.그런데 요 몇일 namespace라는 단어가 왜이렇게 자주 보이는지...RxSwift 공부하다가 RxCocoa adds the rx namespace to UITextField, URLSession.....Alamofire 공부하다가 Alamofire uses namespacing, so you need to prefix all calls that you use... 뭔진 알지. 왜냐면 Rx 때는 titleLabel.rx.text 이런식으로 썼고 Alamofire..
회사 이메일을 이용하여 새로운 깃헙 계정을 만들어서 조금 아~주 조금 귀찮게 되었다. 개인 계정으로 star 해 놓은 레포들 보려고 할 때는 회사계정에서 로그아웃 해주어야 하고 또 회사 코드 볼 땐 개인 계정에서 로그아웃 해야 하고. 오늘은 회사 프라이빗 레포 클론할 일이 생겼는데 아하.... 터미널에서 개인 계정 로그인 되어 있지이? 하하?ㅋㅋㅋ 1. 현재 로그인 계정 git credential-osxkeychain get 2번 엔터를 눌러야 현재 로그인 정보를 알 수 있다. 2. 현재 계정 로그아웃 git credential-osxkeychain erase host=github.com protocol=https 지금 대놓고 보이는 띄워쓰기 빼고 띄워쓰기 없음! 로그아웃 하고 다시 1번 명령 실행해보면..
Input // 문자인가? extension String { var isAlphabet: Bool { return range(of: "[^a-zA-Z]", options: .regularExpression) == nil } } // 공백으로 input arr 만들기 let input = readLine()!.components(seperatedBy: " ") // 다양한 delimeter 사용 let expression = "100-200*300-500+20" let arr = expression.components(separatedBy: CharacterSet(charactersIn: "*+-")) Loop // stride for i in stride(from: 5, to: 0, by: -1) { p..
The Floyd-Warshall Algorithm 모든 정점 쌍에 대해 둘 사이의 최단 거리를 구하는 알고리즘 Dijkstra/Bellman-Ford 를 반복해서 구할 수도 있음 경유점 : 두 정점 u와 v를 잇는 어떤 경로가 있다고 가정할 때, u와 v 사이에 있는 다른 정점 1. 경유점 k를 제외한 S - {k} 노드 중 서로 다른 노드 U, V 선택 (S = 정점 집합일 때 k, U, V ∈ S) 2. U → k → V의 비용 확인 후 최단거리 갱신 직접 해보기 다음과 같은 그래프가 주어졌다고 해보자. Floyd-Warshall 알고리즘은 Dijkstra와 다르게 모든 그래프의 모든 정점 쌍의 최단 거리를 저장해야하므로 2차원 배열이 필요하다 초기화 할 때에는 if from == to, then ..
(뭐 대충 중요하다는 내용ㅎ) 최단 경로 문제를 풀 때 가장 많이 언급되고 활용되는 삼대장이 있죠? 다익스트라 벨만포드 플로이드 상황에 맞게 위 알고리즘을 적용해서 문제를 해결하면 될텐데 언제, 무엇을 선택할 지 모르겠다면 3가지를 떠올려봅시다. 문제를 그래프화 하는 것에 성공하셨다면 이제 이 3가지 흐름을 생각해 봅시다. 가중치가 있는가? : 가중치가 없다면 BFS로 해결 가능 음수간선이 있는가? : weight에 음수 값이 있다면 벨만포드 단일 시작점을 갖는가? : 단일 시작점이 주어진다면 다익스트라, 모든 정점들의 쌍에 대한 경로 값을 알고 싶다면 플로이드 어떤 알고리즘을 쓰면 되는지 선택하셨다면 각 알고리즘들의 개념을 짚어보도록 하겠습니다. 오늘은 Dijkstra Algorithm에 대해 먼저 살..
이 글에서는 프로그래머스 - 스킬트리 문제에 대해 다뤄보겠습니다. 문제 풀이는 C++로 이루어져 있고 함께 들어가 있는 개념들도 간단히 정리 해보는 형식으로 작성되었으므로 오타등의 오류가 있을 수 있습니다. 오류 발견시 댓글로 꼭 말씀해주세요! 시작해볼까요? 처음에는 입출력 예시를 잘못봐서 아예 코드를 잘못 짰었습니다. 무조건 스킬을 다 써야 하는 줄 알았는데 순서만 맞으면 되지, 순서가 명시되어 있는 모든 스킬들을 쓰지 않아도 된다는 것을 틀리고 나서 알았습니다. 그래서 다시 짜고 말았다는...ㅎ 이 문제야 말로 사람마다 푸는 방식이 다 다를 것 같은데 저는 아래와 같이 풀었고 해당 그림은 문제에 예시를 사용했습니다. 참고로, 아래 풀이는 스킬이 중복되지 않기 때문에 가능한 풀이 입니다. 풀이 1 그림..
- Total
- Today
- Yesterday
- TableView
- 부스트캠프
- 삼성
- 프로그래머스
- 보안
- ios
- 개발자인턴
- RxSwift
- 졸업작품
- SWIFT
- 코딩테스트
- nosql
- 삼성소프트웨어아카데미
- 소프트웨어역량시험
- 인턴
- 컴과졸작
- 코테
- 부스트캠프2020
- 알고리즘
- 소프트웨어아카데미
- 컴공졸작
- firebase
- 커넥트재단
- 부캠
- 운영체제
- C++
- 데이터분석
- 컴퓨터공학
- swacademy
- OS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |