얌마들아 이 바닥이 아무리 만만해 보여도 1-2년에 뭐 해서 한다고? 10년 이상 된 사람이 해도 될까말까 한게 스타트업이여


니들을 위해 테크트리를 잠시 선보여 주지




요즘은 앱이 대부분 들어간다. 그래서 보통 앱클라+웹클라+서버, 이렇게 세 부분이 들어가야 됨




앱클라는 앱등이 xcode objective-c나 swift, 안드레기 java 뭐 그냥 다 정해져 있음.


웹클라는 대세가 angularjs, fb react, 이런거로 자바스크립트+html+css


서버는 춘추전국인데 보통 RDBMS+Web proxy+Application server+기타 MQ, network cache, ...




클라와 서버는 보통 RESTful api로 연결해서 JSON 주고 받는다. 보안에 신경 써서 해야 되고, 클라를 웹소켓을 쓰면 푸쉬가 나중에 쉽게 된다


서버는 App server에서 RDBMS 왔다갔다 하면서 로직 제대로 만들어야 한다. 보안에 신경 써야 되고



기술은 Async로 주로 해서 최대한 멈춤없이 돌아가게 하고 각 연결단에서 에러처리 잘 해야되고 블로킹 콜 최소로 하고 폴링 하지 말고 하나 잘못된다고 도미노로 터지게 만들지 말아야 됨


대부분 요즘은 클라우드에서 돌리기 때문에 관리 잡일도 해야 됨.





이상이 대략 기술 사항인데, 이게 전부냐? 이게 반쪽임.





다른 반쪽은 개발 프로세스야.


클라나 서버나 개발에 대한 모든 것은 몽땅 버전 컨트롤 들어가야 되고


클라나 서버나 테스트 코드 독립적으로 돌아갈수 있게  해야 되고


수시로 가능하면 자동으로 빌드되고 테스트 돌아가서 이상 없는지 체크하게 만들어야 되고


컨피규레이션 변경 전부 다 관리해서 서로 다른 버전끼리 문제 생기지 않게 해야 되고


앱클라 버전별로 호환성 마이그레이션이나 구버전 지원 최대로 하게 설계해야 되고


하드웨어 소프트웨어 제3자 서비스 등에 필요한 각종 인증서 비밀번호 등 만료일 지나치지 않게 잘 관리해야 되고


프로세스에서 두번이상 문제가 생기면 그거 다시 수정 보완해야 됨




뭐 이정도 되야 제대로 한다고 볼 수 있는데, 현실은 이게 안되니까 몸으로 때우기 시작한다. 버그가 어느 정도 이상이 되면서 부터는 개발하는 시간 보다는 땜방하는 시간이 많아짐. 결국 나중에 다 나가 떨어질 때까지 땜빵만 하는 경우가 대부분.



물론 위에 걸 모두 잘 한다고 해서 성공한다고 결론지을수도 없는게 스타트 업이다.