존경하는 개발자 분들!
안녕하세요 :) 저는 상고 (인문과) 에 다니는 고등학교 2학년 학생입니다
인문계인데 컴퓨터 언어쪽에 관심을 가지게 되었고
가끔 선생님께 찾아가서 여러가지 질문도 하면서 배우고 있습니다
그럼 질문 드릴께요!
1
앞으로 고등학교 2학년이 끝나기전에 만들고 싶은 어플이 있습니다.
게시판 형식의 어플로 제가 글을 작성하면 사람들이 그 글을보고 댓글달고 하는 어플입니다.
(게시글은 저만 올릴수 있구요!)
그 예로 개드립 고급유머 가 있어요
어려운가요?
쉽다면 어느책을 참고하여야 하나요?
2
현재 c언어 를 배우고 있습니다
대충 하면 된다는데... 기초인데 마스터해야하지 않나요?
400페이지의 압박..ㅜㅜ
3
c언어 이후로 무엇을 공부해야하나요?
지난번에도 답글 달아드렸던 것 같은데^^;
안드로이드 앱을 개발하고 싶으신 것 같은데, C언어부터 하고 계신건지 모르겠네요.
언어에는 마스터라는 개념이 없습니다.
저도 c/c++ 을 공부 및 실무를 10년 가까이 했지만 아직 모르는게 많고, 계속 배우고 있구요..
학교 공부든 언어 공부든 열심히 하다보면 차차 여러 가지 알게 되실 것입니다^^;
결론은 게시판인데.. 게시판이 사실 쉬운건 아닙니다.
쉬운게 아니라 상당히 어려워요.. 앱에서 게시판은 최소 3가지를 알아야 만들수있거든요.. 웹, 안드로이드, DB
언어에는 마스터 개념이 없다는 말에 심히 공감 ㅠ
일단 그냥 님이 말한 앱 개발할려면 제 생각엔..
1. 웹 알아야 됩니다.. 게시판 만들어야 되니까요. 집에서 서버 돌릴리는 없겠죠?
인터넷에 카페24 같은곳에서 웹호스팅을 하나 받아야 합니다. 물론 약간의 돈이 듭니다. 웹호스팅은 웹프로그램을 우리집 컴퓨터가 아닌 제공하는 회사 컴퓨터에 두고 거기서 서비스를 한다고 보면 되요. 호스팅을 받고나면 일단 웹게시판을 만들어야 합니다.
아니 웹게시판을 만들 필요는 없습니다.. 일단 뒤에서 설명..
2. DB를 알아야 됩니다.. 님이 쓴 글이나 상대방이 쓴 글은 모두 데이터베이스에 저장이 되어야 합니다. 웹호스팅 제공 업체를 보면 대부분 DB세팅이 되어있습니다. 데이터베이스는 여러가지가 있는데 보통 My-SQL을 쓸겁니다. 공짜거든요.. 다시 말하면 웹호스팅 하나 사면 My-sql 이라는 DB를 쓸수있습니다. 이제 게시판에 맞는 데이터베이스를 구축해야 합니다.
3. 안드로이드 어플을 만들어야 합니다. 안드로이드를 알기위해선 일단 프로그래밍 언어는 JAVA를 공부하셔야 하고, JAVA를 공부했다고 안드로이드를 어플을 바로 만들수 있는건 아닙니다.. 안드로이드 시스템에 대해서도 알아야 하므로 안드로이드를 따로 공부하셔야 합니다. 안드로이드에서 게시판 형태의 어플을 만듭니다.
4. 안드로이드 어플과 웹을 연결해야 합니다.
처음에 웹게시판을 만들 필요는 없다고 말했던 이유는 웹에서 보이는 게시판은 그냥 데이터베이스에 있는 내용을 잘 꾸며서 보여주는것 뿐입니다. 하지만 님의 목적이 안드로이드에서 게시판을 운영하는것이라면 데이터베이스의 내용을 받아와 안드로이드 어플에서 게시판 형태로 보여주면 되는겁니다.
5. 한가지 궁금한게 생길지도 모르겠습니다.. 그럼 왜 웹호스팅을 받는거지? 라는 질문이 생길수도 있죠.. 일단 DB때문이라고 말하고 싶네요. 먼저 DB 서버를 님 컴퓨터에서 돌리진 않을꺼기때문에 웹호스팅을 받아야 되는게 첫번째고.. 두번째는 안드로이드는 외부DB에 직접 접근 자체가 불가능하기 때문이 두번째입니다.
외부DB에 접근할수 없다라는 말은 님이 웹호스팅을 받고 거기 데이터베이스를 구축하였다고 해도 그 데이터에 안드로이드가 직접 접근해서 쓸수가 없다는 말입니다..
6. 이 문제를 위해서라도 웹을 알아야 합니다. 안드로이드에서 외부 데이터베이스를 접근하기 위해선 중간 통로가 필요합니다. 그 중간 통로를 웹 언어를 이용해 만들면 됩니다. 그러니까 님의 웹호스팅에 웹페이지를 만드는데 이 웹페이지는 님의 데이터베이스에 있는 내용을 출력해주는 페이지 입니다. 안드로이드에서 앱에서는 이 페이지에 접근하여 데이터를 얻어내고 그 데이터를 기반으로 게시판 형태로 보여주면 되는겁니다.
좀 복잡하죠.. ?
참고할 책이라면.. 일단 간단한 게시판 형태는 보통 웹언어(PHP나 JSP 등등..) 책을 보면 가장 뒤에 예제가 거의 다 있습니다. 책의 가장 뒤에 있다는게 뭘 의미하는지는 아시겠죠? 인터넷을 찾아보시면 예제는 많을거구요..
그냥 게시판 구축같은 경우는 XE 게시판 같은 오픈소스 형태로 제공되는 솔루션을 이용할수도 있습니다만.. 이런건 웹에서는 정말 게시판을 구축을 쉽게 할 수 있지만 어플과 연동하는데는 님이 좀 힘들겁니다. 왜냐면 일단 어플에서 게시판을 보여주고자 한다면 필요한건 데이터베이스니까요.. 근데 XE같이 잘만들어진 게시판은 DB구조가 복잡합니다.. 님이 뭐가 뭔지 못알아 볼겁니다..
뭐든 똑같지만 DB도 파고들면 답이없습니다.. 하지만 겉핥기로 쉽게 배운다면 그냥 인터넷 찾아서 기본 이론적인 용어부분이랑 뭐가 뭔지 정도만 알면 어떻게든 쓸수 있을겁니다.
자바와 안드로이드는 님이 서점가서 괜찮은책 하나 + 인터넷 참고로 공부할수 있습니다.
마지막으로 님은 글을 쓸수있고 상대방을 댓글만 달수있는 기능을 원하셨는데.. 이걸 위해선 게시판에 회원기능을 넣거나 아니면 상대방이 사용하는 어플과 님이 사용하는 어플을 따로 만들면 됩니다.
게시판에 회원기능을 넣으면 당연히 게시판 형태(DB구조)가 좀더 복잡해 지는건 당연한거구요..
제가 볼때 정말 이해하면서 만든다고 생각하면 최소한 몇달 걸립니다. 아직 제대로 공부하신게 아니기 때문에 1년 넘게 걸릴수도 있구요.
현재 C언어 보고 계신다고 하셨는데 C와 자바는 다릅니다. 다르다는게 완전 다르다 이런게 아니고 기본적인 형태는 같습니다. 자바도 결국은 C를 모태로 만들어진 언어니까요. 문법적인 용어 같은거는 거의 비슷한데 사용하는 방법과 프로그래밍 구조가 다릅니다. 일단 C언어는 절차지향이고 자바는 객체지향 언어구요.. C에서는 C++이 객체지향 언어지요.. 그럼 C++부터 볼까요? 라고 물어보실수도 있겠는데 결국 C++책 봐도 앞부분은 그냥 C언어 기초입니다. 단지 처음 공부할경우 객체지향이라는게 어떤건지 감잡는데 시간이 꽤나 걸리실겁니다. 돌대가리 제머리 기준으로 반년넘게 걸린듯요 ;;
참고로 전 프로그래밍 2년 넘게 공부한 뒤에야 님이 말한 어플을 겨우겨우 허접한 수준에서 만들수 있다고 말할수있겠네요;;
1.
음 그럼 서버가 운영이 되어야 하겠군요!
그렇게 많이 어렵진 않을거 같아요!
다만 네트워킹 부분이 어려울 수도 있어요.
2. C언어... 꼭 마스터하실 필요는 없습니다!
strcpy 이런거 자바에서 안써요!
기초적인 문법만 배우시면 되구요, 오히려 C++의 클래스 구조를 제대로 알아두시는게 도움이 많이 됩니다.
3. C언어 이후로 Java로 넘어가시면 됩니다!
'난 정말 JAVA를 공부한 적이 없다구요' 이책 만든 출판사 홈페이지에서 보면
가입만 하면 Java 강의를 공짜로 들을 수 있는게 있습니다. 그거 들어보세여.
고등학생이시군요... 힘찬 내일 기대할게요!^^