다이나믹한 사진 갤러리 서비스 – 쇼스페이스

저도 사진에 관심이 많은편인데 새로운 형태의 사진 갤러리 서비스가 나와서 소개해 드릴까 합니다.

쇼스페이스라는 서비스인데요. [이곳]에 가시면 보실 수 있습니다.

지금까지의 사진 갤러리들과의 가장 큰 차별점은 사진을 가로로 볼 수 있다는 것, 그리고 마치 동영상 플레이어와 같은 인터페이스로 슬라이드쇼를 할 수 있다는 것입니다.

그리고 사진을 마음대로 확대축소 해볼 수 있습니다. 확대를 많이 해보아도 안티얼라이징이 되는지 깨끗하게 나오는군요.
사용자 삽입 이미지

쇼스페이스의 메인 화면입니다. 심플하군요, 간단하게 가입을 하실 수 있습니다.
사용자 삽입 이미지
내 갤러리에 사진을 올려보았습니다. 저런식으로 출력이 되는군요.

자동으로 플레이가 되며 오른쪽 하단의 확대버튼을 누르면 전체화면으로 감상할 수 있습니다.

오른쪽 상단의 돋보기로 확대/축소를 할 수 있고요.
사용자 삽입 이미지
위와 같이 3줄로 본다거나 다양한 뷰를 제공합니다.

파일을 업로드 할 때는 한번에 여러장을 한꺼번에 올릴 수 있도록 되어있군요.
사용자 삽입 이미지
맘에 드는 사진만을 확대해 보았습니다. 사진이 깨지지 않고 깔끔하게 확대해 볼 수 있습니다.

제가 만든 예제를 한번 올려볼테니 감상해 보세요, 꼭 오른쪽 하단의 전체화면을 눌러서 마우스 휠로 줌하면서 보세요.



어찌보면 너무 단순하긴 한데;; 그래도 갤러리 자체는 잘 만든거 같습니다. 굿~

ASP.NET 2.0에서 중첩 Repeater 사용하기

ASP.NET 2.0에서는 리스트형의 데이터를 출력하기 위한 방법으로 여러가지 멋진 혹은 쓸데없는;; 여러 컨트롤을 제공한다.

게시판등에서 리스트를 출력하기 위해 Repeater 컨트롤을 사용하였는데 댓글의 댓글과 같은 리스트안에서 리스트 각각에 해당하는 리스트를 또다시 출력하고 싶을 경우 어떻게 해야 하는지 고민하게 되었다.

이와 같은 고민은 구글신께 “Nested Repeater“라는 단어로 검색해 보면 답이 나오지만 정리를 위해 적어보겠다.

[code]<asp:Repeater ID=”Parent” runat=”server” OnItemDataBound=”Parent_ItemDataBound”>
    <ItemTemplate>
    <p><%# Eval(“IDX”) %></p>
    <asp:Repeater ID=”Child” runat=”server”>
        …
    </asp:Repeater>
    </ItemTemplate>
</asp:Repeater>[/code]
[code]protected void Parent_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    Repeater nestedRepeater = (Repeater) e.Item.FindControl(“Child”);

    if (nestedRepeater != null)
    {
        int Idx = (int) DataBinder.Eval(e.Item.DataItem, “IDX”);
        nestedRepeater.DataSource = new CommentService().GetCommentsByContentIdx(Idx);
        nestedRepeater.DataBind();
    }
}[/code]

Repeater의 OnItemDataBound 속성을 사용하여 매 데이터를 불러올때마다 함수를 호출하게 된다.

FindControl를 이용하여 Repeater 내부의 Child라는 ID를 가진 자식 Repeater를 가져와서 필요한 처리를 해주면 된다.