저번주 목요일부터 오늘까지 인스타그램 클론 코딩이 진행되었다.
아래 사진을 일단 첨부하겠다.

인스타의 전체적인 외형을 따라서 Html과 Css를 작성하였고 현재 JS로 짠 코드는 거의 없다.
대표적인 기능으로는 3가지 정도가 있다.
1. ...(더보기)를 누르면 신고, 팔로우 취소, 게시물로 이동, 태그된 계정, 공유 대상, 링크 복사, 퍼가기, 취소 등의 옵션을 선택할 수 있는 모달창을 띄운다.
2. 모든 프로필 사진과 id에 href를 이용하여 나중에 개인 페이지를 만들었을때 손 쉽게 해당 아이디의 페이지로 이동할 수 있도록 처리해두었다.
3. 사진을 올린 수만큼 ">" 또는 "<" 버튼을 눌러 다음 사진이나 이전 사진으로 넘어갈 수 있게 carousel 기능을 추가하였다.
3번을 구현하면서 첫번째 게시물에는 적용이 되지만 두번째 게시물 부터는 div에서 같은 id를 사용하게되어 carousel기능이 적용되지 않았다. (아래의 코드와 같이)
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="la.jpg" alt="Los Angeles">
</div>
<div class="item">
<img src="chicago.jpg" alt="Chicago">
</div>
<div class="item">
<img src="ny.jpg" alt="New York">
</div>
</div>
<!-- Left and right controls -->
<a class="left carousel-control" href="#myCarousel" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
<span class="sr-only">Next</span>
</a>
</div>
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="la.jpg" alt="Los Angeles">
</div>
<div class="item">
<img src="chicago.jpg" alt="Chicago">
</div>
<div class="item">
<img src="ny.jpg" alt="New York">
</div>
</div>
<!-- Left and right controls -->
<a class="left carousel-control" href="#myCarousel" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
<span class="sr-only">Next</span>
</a>
</div>
한 html에서 여러개의 carousel을 사용하려면 각 항목들이 data-target으로 잡고있는 div의 id인 "myCarousel"과 data-target의 경로를 바꿔주며 id가 중복되는 오류를 해결할 수 있었다. (아래의 코드와 같이)
<div id="myCarousel_1" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#myCarousel_1" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel_1" data-slide-to="1"></li>
<li data-target="#myCarousel_1" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="la.jpg" alt="Los Angeles">
</div>
<div class="item">
<img src="chicago.jpg" alt="Chicago">
</div>
<div class="item">
<img src="ny.jpg" alt="New York">
</div>
</div>
<!-- Left and right controls -->
<a class="left carousel-control" href="#myCarousel" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
<span class="sr-only">Next</span>
</a>
</div>
<div id="myCarousel_2" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#myCarousel_2" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel_2" data-slide-to="1"></li>
<li data-target="#myCarousel_2" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="la.jpg" alt="Los Angeles">
</div>
<div class="item">
<img src="chicago.jpg" alt="Chicago">
</div>
<div class="item">
<img src="ny.jpg" alt="New York">
</div>
</div>
<!-- Left and right controls -->
<a class="left carousel-control" href="#myCarousel" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
<span class="sr-only">Next</span>
</a>
</div>
전체적인 코드는 github 링크를 통해 확인해보시길!
https://github.com/woojin9606/Sparta/tree/master/2_IP
안녕하세요! 코드 잘봤습니다 너무 수고많으셨어요!
제가 과정 수강생분들이 현재까지 어떻게 공부해오셨는지에 대해서 배경이 조금 부족하다보니 피드백 방향이 완벽하지 않을 수 있다는 점 양해부탁드릴게요!
개인적으로 몇 가지 부분만 보완하시면 더 좋을 것 같습니다!
1. css, js 부분은 각각 전부 다른 파일로 분리해놓고 불러와서 사용하는 형태로 작성하신다면 더 좋을 것 같습니다. (코드 가독성 및 관리를 위해서요!)
2. 클래스 네임 정하실 때 언더바를 2개 사용하시는 것 같은데, 하나만 사용하시는 것도 괜찮을 것 같습니다!
3. 사이드 메뉴의 클래스라고 해서 side-menu__~~~ 이렇게 이름을 정하실 것까지는 없을 것 같습니다..! 클래스 이름도 깔끔하게 작성하시는게 중요합니다! 구분을 꼭 해주고 싶으신거라면 css 쪽에서 부모 자식 관계 명시하면서 스타일을 작성하셔도 될 것 같네요!
마지막으로, 완성하셨다고 그냥 넘어가지 마시고 시간나실때 작성하신 코드 한번씩 더 살펴보시면서 조금 더 코드를 효율적으로 작성하기 위한 방법에 대해 연구해보시면 더욱 좋을 것 같습니다!
수고많으셨어요!