Ace-T's Blog 내 검색 [네이버 커넥트 이웃 합니다~^-^/ 요청 大 환영~~]

About Json

Study/RND group 2017.06.09 22:55
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T
개 요
about Json
관련 개념
marshalling/unmarshalling 
encoding/decoding
예제
기본적인 코드 구현
확장
관련 된 확장 개념 등

개요
JSON (JavaScript Object Notation)은 경량의 DATA-교환 형식이다. 
이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다.
 JavaScript Programming LanguageStandard ECMA-262 3rd Edition - December 1999의 일부에 토대를 두고 있다. 

왜 Json을 사용하는가?
  1. 경량의 데이터 포맷(XML보다)
  2. 간단한 포맷(가독성이 좋음)
  3. 기존 XML보다 다양한 데이터 타입 제공(string, number, boolean), xml은 only string

Json이 가지는 형식


object는 name/value 쌍들의 비순서화된 SET이다. 
object는 { (좌 중괄호)로 시작하고 } (우 중괄호)로 끝내어 표현한다. 
각 name 뒤에 : (colon)을 붙이고 , (comma)로 name/value 쌍들 간을 구분한다.


예제) 
{
    "acet": "박태하",
    "ace-t": "terry"
}



array은 값들의 순서화된 collection 이다. array는 [ (left bracket)로 시작해서 ] (right bracket)로 끝내어 표현한다. 
, (comma)로 array의 값들을 구분한다.

예제 1)
{
    "acet": [
        {
            "name": "박태하",
            "age": 100,
            "job": "developer"
        }, {
            "name": "테리팍",
            "age": 60,
            "job": "architector"
        }
    ]
}

예제 2)
{
    "acet": [
     {
        "name": "박태하",
        "age": 100,
        "job": "developer"
    }, {
        "name": "테리팍",
        "age": 60,
        "job": "architector"
    }
   ],
    "terry": [
     {
        "name": "으라차차",
        "age": 29,
        "job": "백수"

    }
   ]
}

참고 : http://www.json.org/json-ko.html

관련 개념
  • encoding/decoding
    • encoding은 말 그래도 코드를 만드는 것.
      • 소스코딩 : 코드를 압축하는 과정
      • 채널코딩 : 데이터를 압축하는 것이 아니라 반대로 더 늘리는 알고리즘.
    • decoding은 만들어진 코드를 푸는 것.
  • 왜 encoding/decoding을 사용하는가? 효율적, 안전성, 신뢰성 때문에

  • Json marshalling/unmarshalling 
    • marshalling : Object ->  Json
    • unmarshalling : Json -> Object


예제
  • go lang

  • java 




저작자 표시 비영리 변경 금지
신고

'Study > RND group' 카테고리의 다른 글

About Json  (0) 2017.06.09
RND 스터디  (0) 2017.05.01

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

RND 스터디

Study/RND group 2017.05.01 17:35
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


주저리

  일을 하다보니..무심코 그냥 지나치거나 그냥 암기식으로 정확히 모르는 상태에서 개발을할 때가 너무도 많았던것 같다. 

  일정이 빠듯하고 빨리 빨리를 외치는 한국 개발 문화도 있겠지만.. 내가 지식에 대한 접근이 틀렸을지도 모르겠다.

  생각을 해보면 내부, 외부 스터디를 통해 많은 도움을 받고 더 발전을 해왔던것 같다. 

  앞으로도 스터디를 통해 좀 더 나아가고자 한다.


스터디 모임

  RND : 개인적으로 지인들과 만든 모임. 

  Right Now Develop! 지금 당장 개발하자라는 뜻이다.ㅋㅋ 

  


목 표 

  정확히 알고자 한다.


분 야

  network, DB, Language, Framework, New Skill 등 전 분야!


방 식

  1. 주제를 모집한다.

  2. 주제를 선정한다.

  3. 주제에 대해 공부한다.

  4. 공부한 내용을 토대로 토론하고자 한다.

  5. 더 공부해야할 것이 있다면 3번->4번 으로 다시 순회.

  6. 이론이 쌓였다면 개발를 해본다.

  7. 개발 리뷰를 한다.

  8. 각자 정리한 내용들을 한곳으로 모으는 작업 진행. (리마인드 진행.)

  9. 회고 진행를 한다. (스터디에 있어서 좋은것은 유지, 나쁜것은 제거)


더 나아가..
내부 지인으로 시작하지만 나중에는 지식전달을 위한 활동도 한번 해보고 싶다. 외부 스터디 진행 및 세미나 활동.

  끝.


  



저작자 표시 비영리 변경 금지
신고

'Study > RND group' 카테고리의 다른 글

About Json  (0) 2017.06.09
RND 스터디  (0) 2017.05.01

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

JBUG- Collection

Study/Study group 2014.07.30 22:01
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


public interface Collection<E>...


In JDK 8 and later, the Collection interface also exposes methods Stream<E> stream() and Stream<E> parallelStream(), for obtaining sequential or parallel streams from the underlying collection. (See the lesson entitled Aggregate Operations for more information about using streams.)


Traversing Collections

There are three ways to traverse collections: (1) using aggregate operations (2) with the for-each construct and (3) by using Iterators.


Aggregate Operations

In JDK 8 and later, the preferred method of iterating over a collection is to obtain a stream and perform aggregate operations on it. Aggregate operations are often used in conjunction with lambda expressions to make programming more expressive, using less lines of code. The following code sequentially iterates through a collection of shapes and prints out the red objects:

myShapesCollection.stream()
.filter(e -> e.getColor() == Color.RED)
.forEach(e -> System.out.println(e.getName()));

Likewise, you could easily request a parallel stream, which might make sense if the collection is large enough and your computer has enough cores:

myShapesCollection.parallelStream()
.filter(e -> e.getColor() == Color.RED)
.forEach(e -> System.out.println(e.getName()));

There are many different ways to collect data with this API. For example, you might want to convert the elements of a Collection to String objects, then join them, separated by commas:

    String joined = elements.stream()
    .map(Object::toString)
    .collect(Collectors.joining(", "));

Or perhaps sum the salaries of all employees:

int total = employees.stream()
.collect(Collectors.summingInt(Employee::getSalary)));

These are but a few examples of what you can do with streams and aggregate operations. For more information and examples, see the lesson entitled Aggregate Operations.

for-each Construct

The for-each construct allows you to concisely traverse a collection or array using a for loop — see The for Statement. The following code uses thefor-each construct to print out each element of a collection on a separate line.

for (Object o : collection)
    System.out.println(o);

Iterators

An Iterator is an object that enables you to traverse through a collection and to remove elements from the collection selectively, if desired. You get an Iterator for a collection by calling its iterator method. The following is the Iterator interface.

public interface Iterator<E> {
    boolean hasNext();
    E next();
    void remove(); //optional
}

Use Iterator instead of the for-each construct when you need to:

  • Remove the current element. The for-each construct hides the iterator, so you cannot call remove. Therefore, the for-each construct is not usable for filtering.
  • Iterate over multiple collections in parallel.

The following method shows you how to use an Iterator to filter an arbitrary Collection — that is, traverse the collection removing specific elements.

static void filter(Collection<?> c) {
    for (Iterator<?> it = c.iterator(); it.hasNext(); )
        if (!cond(it.next()))
            it.remove();
}


Collection Interface Bulk Operations

Bulk operations perform an operation on an entire Collection. You could implement these shorthand operations using the basic operations, though in most cases such implementations would be less efficient. The following are the bulk operations:

  • containsAll — returns true if the target Collection contains all of the elements in the specified Collection.
  • addAll — adds all of the elements in the specified Collection to the target Collection.
  • removeAll — removes from the target Collection all of its elements that are also contained in the specified Collection.
  • retainAll — removes from the target Collection all its elements that are not also contained in the specified Collection. That is, it retains only those elements in the target Collection that are also contained in the specified Collection.
  • clear — removes all elements from the Collection.

The addAllremoveAll, and retainAll methods all return true if the target Collection was modified in the process of executing the operation.

As a simple example of the power of bulk operations, consider the following idiom to remove all instances of a specified element, e, from aCollectionc.

c.removeAll(Collections.singleton(e));

More specifically, suppose you want to remove all of the null elements from a Collection.

c.removeAll(Collections.singleton(null));

This idiom uses Collections.singleton, which is a static factory method that returns an immutable Set containing only the specified element.

Collection Interface Array Operations

The toArray methods are provided as a bridge between collections and older APIs that expect arrays on input. The array operations allow the contents of a Collection to be translated into an array. The simple form with no arguments creates a new array of Object. The more complex form allows the caller to provide an array or to choose the runtime type of the output array.

For example, suppose that c is a Collection. The following snippet dumps the contents of c into a newly allocated array of Object whose length is identical to the number of elements in c.

Object[] a = c.toArray();

Suppose that c is known to contain only strings (perhaps because c is of type Collection<String>). The following snippet dumps the contents of cinto a newly allocated array of String whose length is identical to the number of elements in c.

String[] a = c.toArray(new String[0]);


Set - 수학에서의 집합을 모델링 함.

LIST - 리스트

MAP - y=f(x) 을 모델링 key가 x, value가 y 임.


찾아보기 : red-black tree
                 람다

합집합
Set<Type> union = new HashSet<Type>(s1);
union.addAll(s2);
 
교집합
Set<Type> intersection = new HashSet<Type>(s1);
intersection.retainAll(s2);
 
차집합
Set<Type> difference = new HashSet<Type>(s1);
difference.removeAll(s2);


두개의 Set 대칭차집합 = 합집합 - 교집합



저작자 표시 비영리 변경 금지
신고

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

JBUG - JDK8 Study

Study/Study group 2014.07.23 20:17
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T




오늘은..저번주에 페이스북으로 코멘트를 달았던 부분에 대해서 설명을 하였다.

2014/07/17 - [Study/Study group] - JBUG - JDK8 Study(정규표현식)- Differences Among Greedy, Reluctant, and Possessive Quantifiers


와우...숨이 막히는 이 느낌은??? ㅋㅋㅋㅋㅋ;; 어느순간 보니 숨도 안쉬고 말하고 있었네요..하하;

아무튼 느낌은 좋았다.ㅎㅎㅎ 다음엔 더 잘해야겠다! ㅋㅋ




- END -



저작자 표시 비영리 변경 금지
신고

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

JBUG - JDK8 Study(정규표현식)- Differences Among Greedy, Reluctant, and Possessive Quantifiers

Study/Study group 2014.07.17 00:41
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



오늘 이슈가 되었던 내용을 소개 하려고 한다.


링크 : http://docs.oracle.com/javase/tutorial/essential/regex/index.html


Differences Among Greedy, Reluctant, and Possessive Quantifiers

의 내용 이였다.

우선은 아래의 내용을 참고 해보도록 하자.

Quantifiers

Quantifiers allow you to specify the number of occurrences to match against. For convenience, the three sections of the Pattern API specification describing greedy, reluctant, and possessive quantifiers are presented below. At first glance it may appear that the quantifiers X?, X?? and X?+ do exactly the same thing, since they all promise to match "X, once or not at all". There are subtle implementation differences which will be explained near the end of this section.

GreedyReluctantPossessiveMeaning
X?X??X?+X, once or not at all
X*X*?X*+X, zero or more times
X+X+?X++X, one or more times
X{n}X{n}?X{n}+X, exactly n times
X{n,}X{n,}?X{n,}+X, at least n times
X{n,m}X{n,m}?X{n,m}+X, at least n but not more than m times



그리고..초반에 매우 중요한 그림이 있었죠!




문제의 부분

There are subtle differences among greedy, reluctant, and possessive quantifiers.

Greedy quantifiers are considered "greedy" because they force the matcher to read in, or eat, the entire input string prior to attempting the first match. If the first match attempt (the entire input string) fails, the matcher backs off the input string by one character and tries again, repeating the process until a match is found or there are no more characters left to back off from. Depending on the quantifier used in the expression, the last thing it will try matching against is 1 or 0 characters.

The reluctant quantifiers, however, take the opposite approach: They start at the beginning of the input string, then reluctantly eat one character at a time looking for a match. The last thing they try is the entire input string.

Finally, the possessive quantifiers always eat the entire input string, trying once (and only once) for a match. Unlike the greedy quantifiers, possessive quantifiers never back off, even if doing so would allow the overall match to succeed.

To illustrate, consider the input string xfooxxxxxxfoo.

 
Enter your regex: .*foo  // greedy quantifier
Enter input string to search: xfooxxxxxxfoo
I found the text "xfooxxxxxxfoo" starting at index 0 and ending at index 13.

Enter your regex: .*?foo  // reluctant quantifier
Enter input string to search: xfooxxxxxxfoo
I found the text "xfoo" starting at index 0 and ending at index 4.
I found the text "xxxxxxfoo" starting at index 4 and ending at index 13.

Enter your regex: .*+foo // possessive quantifier
Enter input string to search: xfooxxxxxxfoo
No match found.

The first example uses the greedy quantifier .* to find "anything", zero or more times, followed by the letters "f" "o" "o". Because the quantifier is greedy, the .* portion of the expression first eats the entire input string. At this point, the overall expression cannot succeed, because the last three letters ("f" "o" "o") have already been consumed. So the matcher slowly backs off one letter at a time until the rightmost occurrence of "foo" has been regurgitated, at which point the match succeeds and the search ends.

The second example, however, is reluctant, so it starts by first consuming "nothing". Because "foo" doesn't appear at the beginning of the string, it's forced to swallow the first letter (an "x"), which triggers the first match at 0 and 4. Our test harness continues the process until the input string is exhausted. It finds another match at 4 and 13.

The third example fails to find a match because the quantifier is possessive. In this case, the entire input string is consumed by .*+, leaving nothing left over to satisfy the "foo" at the end of the expression. Use a possessive quantifier for situations where you want to seize all of something without ever backing off; it will outperform the equivalent greedy quantifier in cases where the match is not immediately found.


이슈가 되었던 부분은..


Enter your regex: .*foo  // greedy quantifier
Enter input string to search: xfooxxxxxxfoo
I found the text "xfooxxxxxxfoo" starting at index 0 and ending at index 13.

Enter your regex: .*?foo  // reluctant quantifier
Enter input string to search: xfooxxxxxxfoo
I found the text "xfoo" starting at index 0 and ending at index 4.
I found the text "xxxxxxfoo" starting at index 4 and ending at index 13.

Enter your regex: .*+foo // possessive quantifier
Enter input string to search: xfooxxxxxxfoo
No match found.

위의 부분에서 greedy quantifier와 possessive quantifier에서 매칭되어지는 과정에서 궁금증이 생겼다.
greedy : 매칭
possessive : No 매칭

Why??? 

생각해보자.

.*foo 의 패턴! xfooxxxxxxfoo 전체 매칭??? greedy에서..처음에 바로 전체매칭이 된다고 의견이

나왔다.

하지만 튜토리얼에도 나온다.

the quantifier is greedy, the .* portion of the expression first eats the entire input string. At this point, the overall expression cannot succeed, because the last three letters ("f" "o" "o") have already been consumed.


possessive 역시 No match found. 이다.

그러면..어떻게...왜?? greedy에서 매칭이 실패한 걸까????

(아..잠이 와서 무척 포스팅 하는데 건성건성~이군요..하하;)


저의 답은..




# greedy가 전체매칭에 실패했다는 내용



지하철에서 생각해보고 집에와서 그려보았네요ㅎㅎ;;


그리고 시큐리티 매니저라는 친구에 대해서도 알아보았드랬죵!


참고 : 2014/07/03 - [Study/Study group] - JBUG - JDK8 Study(Concurrency_01)


     - END -




저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

JBUG - JDK8 Study(Concurrency_01)

Study/Study group 2014.07.03 00:04
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



Jboss User Group Study - 2014.07.02(수)


주호씨 덕분에 하게 된 스터디! 감사르~~

슈퍼맨

Concurrency(동시 실행)


오늘 기억에 남는 내용은..


Interrupts

An interrupt is an indication to a thread that it should stop what it is doing and do something else. It's up to the programmer to decide exactly how a thread responds to an interrupt, but it is very common for the thread to terminate. This is the usage emphasized in this lesson.

A thread sends an interrupt by invoking interrupt on the Thread object for the thread to be interrupted. For the interrupt mechanism to work correctly, the interrupted thread must support its own interruption.

Supporting Interruption

How does a thread support its own interruption? This depends on what it's currently doing. If the thread is frequently invoking methods that throw InterruptedException, it simply returns from the run method after it catches that exception. For example, suppose the central message loop in the SleepMessages example were in the run method of a thread's Runnable object. Then it might be modified as follows to support interrupts:

for (int i = 0; i < importantInfo.length; i++) {

    // Pause for 4 seconds

    try {

        Thread.sleep(4000);

    } catch (InterruptedException e) {

        // We've been interrupted: no more messages.

        return;

    }

    // Print a message

    System.out.println(importantInfo[i]);

}

Many methods that throw InterruptedException, such as sleep, are designed to cancel their current operation and return immediately when an interrupt is received.

// 보라색 부분을 질문 하였다. InterruptedException을 발생시키는 sleep같은 메소드! 들은 디자인 되어있다고 한다.

// 현재의 작업을 취소하고 리턴한다고! 즉시 interrupt 를 반환! 

그런데 토론을 하다보니 내가 생각한 것과 다른 의견이 나왔다. sleep중에 Interrupt가 발생 되어질 때 InterruptedException가 발생되어지고 바로 return을 한다는 것이다. 그것을 해주는 부분이 아래의 부분???

    } catch (InterruptedException e) {       

      // We've been interrupted: no more messages.

        return;

    } 


결론은 sleep같은 많은 메소드들이 현재 작업 취소 및 즉시 리턴 하는 것으로~~:D

또한 아래와 같이 invoking없이 장시간 작업하는 쓰레드가 InterruptedException가 발생 한다면! 체크하여 리턴!


다시 읽어보고 정리한 내용은 이 글의 맨 아래에 있습니다. ㅎㅎ 


What if a thread goes a long time without invoking a method that throws InterruptedException? Then it must periodically invoke Thread.interrupted, which returns true if an interrupt has been received. For example:

for (int i = 0; i < inputs.length; i++) {

    heavyCrunch(inputs[i]);

    if (Thread.interrupted()) {

        // We've been interrupted: no more crunching.

        return;

    }

}


혹은! 아래와 같이 throw new InterruptedException();를 해줄 수 있다!

In this simple example, the code simply tests for the interrupt and exits the thread if one has been received. In more complex applications, it might make more sense to throw an InterruptedException:

if (Thread.interrupted()) {

    throw new InterruptedException();

}

This allows interrupt handling code to be centralized in a catch clause.

The Interrupt Status Flag

The interrupt mechanism is implemented using an internal flag known as the interrupt status. Invoking Thread.interrupt sets this flag. When a thread checks for an interrupt by invoking the static method Thread.interrupted, interrupt status is cleared. The non-static isInterrupted method, which is used by one thread to query the interrupt status of another, does not change the interrupt status flag.

By convention, any method that exits by throwing an InterruptedException clears interrupt status when it does so. However, it's always possible that interrupt status will immediately be set again, by another thread invoking interrupt.



주저리 : 테스트와 아직까지 페이스북에서는 토론이 진행되고 있다 ㅎㅎㅎ 굿!


2번째 참여! 정말 좋은 것 같다. ㅎㅎㅎ 

열심히 준비해서 나도 발표 한번 해봐야지! ㅋㅋㅋ

아..그런데 무슨일이지...방문자가 갑작스레 어제 1천명, 오늘은 900명이네..와우!! 


    - END? not yet :D -


facebook에서 열띤 토론이 벌어져서 다시 한번 읽어보고 정리해보았다. 위의 결론과는 다르다.



- END ? -



저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[후기] 대용량 분산 서버 아키텍처 설계

Study/Seminar 2014.05.17 16:00
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

[ 교제 ]



[강의실]


2014/05/09 - [Study/Seminar] - [OLC Live] 대용량 분산 서버 아키텍처 설계


의사결정을 하기 위해서는 원칙이 중요하다.

아키텍트가 문서를 만들어 이야기를 하고자 하는 것이지 진행하는게 아니다.

세미나에서 동기부여와 자극을 느꼈으면 얻은 것이다.


학습도 열심히가 아닌 스마트하게! 일도!

http://www.infoq.com

https://github.com

http://www.slideshare.net

https://www.codeschool.com


소프트웨어 개발 트랜드의 변화
스타트업, 애자일, 빅데이타,SNS, DEVOPS, 자동화, 수퍼엔지니어

이전 아키텍처 : 고가용성 보장-  죽어도 안끊기게 하는 것.
요즘 아키텍처 : 죽으면 빨리 복구하자!

인증 - 외부 : 인증 체크
        내부 : 내부ip면 인증 없이 by pass



Integration
  비동기
    장애시 큐에 넣어서 다시 Retry 
    againg개념 필요(10초, 30초, 60초, 몇회 )



성능 : nhn에서 나온 nGrander

대용량 분산 시스템
비동기
파티셔닝(Sharding) : 데이터 쏠림에 주의
쿼리 오프로딩
 - 읽기와 쓰기를 분리(read와 write의 데이터소스 connection을 나누기)
    트랜젝션 백로그
캐슁 

REST
CRUD 형태
GET - select
Resource의 URI는 어렵지 않은 직관적인 것으로 한다.
PUT    - create or update
DELETE - delete
OPTION  - 

spring HATEOAS


APIgee.com

성능
문제의 정의 : 느려요(x)
Breakdown(구간)
Isolate
Narrow down
Botleneck발견
해결

필요한 것
도구 :부하테스트도구,모니터링도구,프로파일링도구
역량 : FIN_WAIT가 뭐지?
전문지식 : 내부구조가뭐지?
경험
그리고 집요함!

Thread Dump
- snapshop app(x-ray)

kill -3 pid


TRIZ: 문제해결의 기법
http://inuit.co.kr/2253

마지막으로 조대협님과 점심도 먹고 좋은 정보와 자극 감사합니다! ㅎㅎ

- END -








저작자 표시 비영리 변경 금지
신고

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[Spring Camp 2014]

Study/Seminar 2014.05.09 17:02
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

Spring Camp 2014


link : http://www.ksug.org/springcamp/2014/


일 시 : 2014년 5월31일(토) 12시~18시

장 소 : 을지로입구역 4번출구 패럼타워 3층



저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[OLC Live] 대용량 분산 서버 아키텍처 설계

Study/Seminar 2014.05.09 10:17
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

http://olc.oss.kr/offlec/detail.jsp?offlec_idx=35


주말 근무가 제발 없길....plz~~~일단 신청!!





   - END -

저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[sk planet] codesprint 2014

Study/Seminar 2014.05.08 02:54
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

http://codesprint.skplanet.com/2014/


sk planet에서 재미있는 행사를 하네요^-^


13일부터라...시간이 될련지 모르겠지만...현재 오픈 후 안정화 단계라..지금도 밤을 새고 있지만..ㅋㅋㅋ 도전해 보고 싶네요^0^

뭔가 배울게 많지 않을까 생각이 듭니다. ㅎㅎㅎ 성적이 우수하면 맥북도 준다고 하네요!! ㅎㅎㅎ



저작자 표시 비영리 변경 금지
신고

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

보호글

M0 대상 교육자료

2014.04.22 01:17

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력해주세요.

[Study] Step 01. About Backbonejs

Study/Study group 2014.04.12 15:58
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

 Backbone.js 시작하기

 

javacafe study로 Backbone.js를 살펴보고 있습니다.^0^good~

실습위주라서 이론을 한번 정리해보려고 합니다.


 

 1. Let's start Beginners!!(출처 : http://backbonetutorials.com/)  

    아래의 목차처럼 Backbone.js를 배워보도록 하자^^;


1) Why do you need Backbone.js?

Building single-page web apps or complicated user interfaces will get extremely difficult by simply using jQuery or MooTools. The problem is standard JavaScript libraries are great at what they do - and without realizing it you can build an entire application without any formal structure. You will with ease turn your application into a nested pile of jQuery callbacks, all tied to concrete DOM elements.

I shouldn't need to explain why building something without any structure is a bad idea. Of course you can always invent your own way of structuring your application but you miss out on the benefits of the open source community.

Why single page applications are the future

Backbone.js enforces that communication to the server should be done entirely through a RESTful API. The web is currently trending such that all data/content will be exposed through an API. This is because the browser is no longer the only client, we now have mobile devices, tablet devices, Google Goggles and electronic fridges etc.

So how does Backbone.js help?

Backbone is an incredibly small library for the amount of functionality and structure it gives you. It is essentially MVC for the client and allows you to make your code modular. If you read through some of the beginner tutorials the benefits will soon become self evident and due to Backbone.js light nature you can incrementally include it in any current or future projects.


2) What is a model?

Across the internet the definition of MVC is so diluted that it's hard to tell what exactly your model should be doing. The authors of backbone.js have quite a clear definition of what they believe the model represents in backbone.js.

Models are the heart of any JavaScript application, containing the interactive data as well as a large part of the logic surrounding it: conversions, validations, computed properties, and access control.

So for the purpose of the tutorial let's create a model.

    Person = Backbone.Model.extend({
        initialize: function(){
            alert("Welcome to this world");
        }
    });
    
    var person = new Person;

 

So initialize() is triggered whenever you create a new instance of a model( models, collection

s and views work the same way ). You don't have to include it in your model declaration but you will find yourself using it more often than not.

 

<< 예제 파일 >>

acet.html


Setting attributes

Now we want to pass some parameters when we create an instance of our model.

    Person = Backbone.Model.extend({
        initialize: function(){
            alert("Welcome to this world");
        }
    });
    
    var person = new Person({ name: "Thomas", age: 67});
    // or we can set afterwards, these operations are equivelent
    var person = new Person();
    person.set({ name: "Thomas", age: 67});
  

So passing a JavaScript object to our constructor is the same as calling model.set(). Now t

hat these models have attributes set we need to be able to retrieve them.


<< 예제파일 >>

model.html


<< 소스 >>

   Person = Backbone.Model.extend({     

      initialize: function(){

      //      alert("Welcome to this world");

        }

    });

    

   // 2가지의 방법으로 Backbone.js의 모델을 만들 수가 있다.

   1) 파라미터 방식

   :  So passing a JavaScript object to our constructor is the same as calling model.set()


    var person = new Person({ name: "Thomas", age: 67});

    // or we can set afterwards, these operations are equivelent

   

   2) set() 함수 사용 

    var person = new Person();

 

    // set / get으로 데이터를 넣다뺐다 할 수 가있다.^-^good~

    person.set({ name: "Ace-t", age: 22});   

    alert(person.get('name'));



<< 결과 >>


What is a view?

Backbone views are used to reflect what your applications' data models look like. They are also used to listen to events and react accordingly. This tutorial will not be addressing how to bind models and collections to views but will focus on view functionality and how to use views with a JavaScript templating library, specifically Underscore.js's _.template.

We will be using jQuery 1.8.2 as our DOM manipulator. It's possible to use other libraries such as MooTools or Sizzle, but official Backbone.js documentation endorses jQuery. Backbone.View events may not work with other libraries other than jQuery.

For the purposes of this demonstration, we will be implementing a search box. A live example can be found on jsFiddle.

    SearchView = Backbone.View.extend({
        initialize: function(){
            alert("Alerts suck.");
        }
    });

    // The initialize function is always called when instantiating a Backbone View.
    // Consider it the constructor of the class.
    var search_view = new SearchView();



저작자 표시 비영리 변경 금지
신고

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

2014년 상반기 자바카페 스터디 오리엔테이션 장소 변경!

Study/Study group 2014.03.16 20:13
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

 

2014/03/03 - [Study/Study group] - 2014년 상반기 자바카페 스터디

 

오리엔테이션 장소: 토즈 메가젠타워토즈타워점 

오리엔테이션 날짜: 2014 3 29(오후 2시

 

ㅎㅎㅎㅎㅎㅎ 정말 다행이네요..

이번 아이다스 MBC 마라톤에 나가는데..3월30일 이네요! ㅎㅎㅎ

+ㅁ+/ 겹치면 안되는데...안되는데..라고 노심초사 했는데..확인해보니

겹치지 않네요^^

 

2014년 슬슬 풀리려나 봅니다.  날씨가 풀리는 것 처럼? ㅎㅎㅎ

 

몸도 많이 나아졌네요...^-^ 포스팅 고우고우~=3=3

저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

2014년 상반기 자바카페 스터디

Study/Study group 2014.03.03 00:24
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

기다렸던 자바카페 스터디가 개설 되었네요^^/ good~~선착순이니!! 빨리 참여하세요! ㅎㅎ

 

 

모임주소 : http://onoffmix.com/event/24529

 

다음과 같이 2014년 상반기 자바카페 스터디 회원을 모집합니다. 

많은 참여 부탁 드립니다.

 

오리엔테이션 장소: 상암 누리꿈스퀘어 대강의실

오리엔테이션 날짜: 2014 3 29(오후 2시

 

 

 

1. 모집분야

1-1. Javascript Framework 팀(토요일, 10 ~ 13시)

backbone.js, angular.js  등등 자바 스크립트 프레임워크를 스터디 하고, 서로에 대한 차이점에

대해서 토론해보는 스터디 입니다.


1-2. SQL 자격증 팀[한국데이터베이스진흥원] (토요일, 14 ~ 17시)

SQL  개발자, 전문가 자격증(한국데이터베이스진흥원) 취득을 위한 스터디 입니다.

 - 도서 : SQL전문가가이드 2013 Edition 50,000원 개별 구입(교보문고 기준), 중고도서 구입 희망, 혹은 근처 도서관 대여 희망

도서 URL : http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788988474167&orderClick=LAG&Kc=

 - 진행

    1. 챕터별 인원 할당 후 할당 인원이 워드프레스에 정리

    2. 평일에 개별속독 후 주말에 정독 and 정리

    3. 평일 개별 숙제로 'SQL 문제 2, 3개 만들어 오기' 정도의 과제가 있을 예정

    4. 6월 = SQLD(개발자) 시험 예정

        9월 = SQLP(전문가) 시험 예정

    5. 6월까지 DB 이론, 모델링, 기본 SQL 위주, SQLD시험 후 튜닝 위주의 스터디 진행 예정

   6. OT 당일 관련 사항 협의 가능

 - 난이도

   1. 학생, 사원, 중급 가능


1-3 SQL 2팀(토요일, 10 ~ 13시 또는 일요일)

기존에 있던 SQL 스터디 팀으로 추가인원을 모집합니다.

팀장이 가지고 있는 자료를 중심으로 스터디를 진행합니다. 

 

1-4.  SQL 3팀(토요일, 14 ~ 17시)

교재 '한번에 이해되는 MS-SQL SERVER 2008' 

(링크 : http://www.yes24.com/24/goods/3798503?scode=032&OzSrank=1

를 학습하는 스터디 입니다.

 

1-5. JSP 팀(토요일, 14 ~ 17시)

교재 '최범균의 JSP 2.2 웹 프로그래밍 기초부터 중급까지'

(링크 : http://www.yes24.com/24/goods/8348263?scode=032&OzSrank=1)

를 학습하는 스터디 입니다.

 

1-6. Design Pattern 팀(토요일, 10 ~ 12시)

교재 'Head First Design Patterns : 스토리가 있는 패턴 학습법'

(링크 : http://www.yes24.com/24/Goods/1778966?Acode=101)

를 학습하는 스터디 입니다.

 

1-7. Korea Embedded Linux Project 협업 프로잭트 팀(토요일, 14 ~ 17시)

- Korea Embedded Linux Poject(http://www.kelp.or.kr) 과 협업하여 프로젝트를 진행하는 팀

- 임베디드 관련 부분은 KELP에서 작업(이 부분은 회의 후 수정 가능)

- 팀에서 구현해야 할 기술

   - 서버 프로그램을 통한 임베디드 장비와 통신 방법 학습

   - 임베디드 장비에서 발생한 데이터를 모이터 링 할 수 있는 UI 개발

- 팀 진행 사항

   - 위 구현해야 할 기술에 대한 스터디 진행

   - 구현 기술 구현 후 KELP에서 만든 임베디드 장비와 결합

 

2. 모집일정

 

-  03월 01일 ~ 03월 22일 : 스터디 모집

-  03월 29일 : 오리엔테이션

-  04월 05일 : 스터디 시작

-  06월 28일 : 스터디 종료

-  스터디기간은 3개월입니다.


* 팀별 모집인원이 4명 이하인 경우 팀이 구성되지 않을 수 있습니다.

  만약 팀이 구성되지 않을경우 다른 팀으로 이동하셔야 합니다. 

 

 

 

 

3. 스터디 운영 방식

 

-  스터디는 벌금제로 운영됩니다.

-  모든 스터디에는 3진아웃제가 적용됩니다.

-  스터디 참여율을 높이기 위한 목적으로 활용되며 미리 모은 벌금은 스터디 종료시 다시 돌려드립니다.

-  3진아웃제에 적용되는 벌금 60,000원

-  1번 불참시 벌금 20,000원 삭감

 

*3아웃제란? 

벌금제도로서 벌금을 미리 걷어두고 스터디 진행중 3번이상 불참시 자동으로 탈락되는 제도입니다. 

하지만 모든 스터디 참여시 벌금을 다시 반환해드립니다.

 

 

 

 

4. 오리엔테이션 시간 및 장소

 

-  오리엔테이션 장소: 상암 누리꿈스퀘어 대강의실

-  오리엔테이션 시간: 2014년 3월 29일(토) 오후 2시~4시

-  오리엔테이션 비용: 10,000원

-  오리엔테이션 불참시 스터디 참여가 불가합니다.

 

 

 

 

5. 유의사항

 

- 오리엔테이션 불참시 스터디 참여가 불가합니다.

- 기타 궁금한 사항은 담당 운영진(javacafem@gmail.com)에게 문의하세요

 

 

팀별 확정인원 (2014.03.01 pm 00:00 기준)

 과정

모집인원

확정인원 

 1. Javascript Framework 팀

10 

 2. SQL 자격증팀(신규)

 3. SQL 2팀(기존 인원 추가)

 0 

 4. SQL 3팀(MS-SQL)

10 

 5. JSP 팀

10 

 0 

 6. Design Pattern 팀

 5 

 0 

 7. KELP 협업 팀

 0 


입금자 명단
 (2014.03.01 pm 00:00 기준, 입금일 오름차순 정렬) 

 

 

javascript framework팀에 지원을 하였다.

현재 node.js를 보고 있는데 더욱 더 도움이 될 것 같다.  그리고 스크립트쪽으로 공부를 많이 해본적은 없어서 이참에

더욱 더 관심을 가질 기회가 되었으면 한다. 재미있게 한번 해보자잉~ㅎㅎㅎ

 

    - END -

 

저작자 표시 비영리 변경 금지
신고

설정

트랙백

댓글

  • Favicon of http://blog.anyjava.net BlogIcon anyjava 2014.03.03 17:41 신고 답글 | 수정/삭제 | ADDR

    오홍 스터디 시작이여?? ㅎㅎㅎ 난 구미가 댕기는게 없구먼 ㅋㅋ

    • Favicon of http://acet.pe.kr BlogIcon String Ace-T 2014.03.04 09:56 신고 수정/삭제

      ㅎㅎㅎ 자바스크립트 했어 난 ㅋㅋ
      초절정 고수분이 reading 한다는 소문이 있어서ㅋㅋㅋ
      가서 같이 공부 한번 해볼려공!

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[Share] 제 14회 한국 자바개발자 컨퍼런스(JCO)

Study/Seminar 2014.02.05 09:26
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

 

JCO가 14회를 맞이했네요..ㅎㅎㅎ ㅊㅋㅊㅋ~~

일 시 : 2014년 2월 22일(토)

장 소 : 세종대 컨벤션 센터 컨벤션 홀&컨퍼런스 룸! 

정말 듣고 싶은게 많은 트랙들이네요..ㅠ_ㅠ..경품도 대박!!

프로젝트가 마무리 하는 시기라서..눈치가 쪼매 보이지만..ㅋㅋㅋ 1년에 한번 하는 행사는 가죠야겠죠잉~느낌 아니깐~

등록 및 자세한 내용은 아래의 링크를 참조하세요^-^ 행사장에서 보아요~~

http://conference.jco.or.kr/

 

 

 

 


저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[Java Cafe] JavaScript Study[ 2013 하반기 ]

Study/Study group 2013.11.09 11:44
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

 

 

 

 

유용 SITE :  http://insanehong.kr/post/javascript-prototype/

저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[세미나 info] 표준프레임워크 37차 정기기술 세미나

Study/Seminar 2013.09.13 23:18
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

이번 기술 세미나는 스프링시큐리티다!!

현재 회사에서도 사용하고있는 기술이다.

현재는 메소드방식이 아닌 filter 방식을 사용하고 있는데

어떠한 기능과 활용방법에 대해서 소개를 해줄지 기대가 된다!

그런데..수요일은.....내부스터디가 있는 날인데...무조건 한다고 해놨는데..이런!!

다함께 방문 해야겠다 ㅋㅋㅋ Spring Security니깐!!



참여 링크 : 꼬우!    <---눌러주세요~!!!





저작자 표시 비영리 변경 금지
신고

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

2013년 하반기 자바카페 스터디 회원모집 안내

Study/Study group 2013.09.13 17:57
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T



2013년 하반기 자바카페 스터디 회원모집 안내

  • 모임기간 : 9월 28일 (토) 14시 00분 ~ 16시 00
  • 등록기간 : 9월 10일 (화) 10시 30분 ~ 27일 (금) 18시 00
  • 모임장소 : 상암 누리꿈스퀘어 대강의실
  • http://onoffmix.com/event/19039

음...너무 학구열들이 높다..-ㅁ-;;;


제발 되길~~~~


  • Java Basic팀 : 10,000원(15명)
  • JSP 팀 : 10,000원(7명)
  • 자바스크립트팀 : 10,000원(15명)
  • Spring 팀 : 10,000원(22명)마감
  • 전자정부 프레임워크 : 10,000원(7명)
  • HTML5 & CSS3 : 10,000원(7명)
  • SQL 팀 : 10,000원(9명)
  • 파이썬 팀 : 10,000원(7명)
  • 유니티3D 팀 : 10,000원(7명)





ㅎㅎㅎㅎ Mr. 굿택과 스터디에 참여하게 되었다! 좋았어~~!!

<----------- 추가확인 (2013.09.13 pm 10:50)

65. 신동렬

66. 박정우

67. 김기준

68. 김종호

69. 이명진

70. 이창훈

71. 김지한

72. 박태하

73. 권택환

74. 임주예

저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[세미나 정보] 개발자를 위한 세미나 12th

Study/Seminar 2013.09.01 01:29
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

공감 세미나

 

OB동기 상하랑 다녀오고나서 안갔던거 같은데..ㅎㅎㅎ

세션을 보니 아웃사이더님이 발표를 하시네...

요즘 들어 무엇인가 때문에 힘들다 ㅋㅋㅋㅋㅋㅋㅋ

새로운 것에 자극받고 집중을 해야겠다.. 화이튕!

  • 모임기간 : 9 7일 (토) 13 30분 ~ 18 00
  • 등록기간 : 8 27일 (화) 18 00분 ~ 9 6일 (금) 18 00
  • 모임장소 : 강남교보타워 23층 대회의실

 

http://onoffmix.com/event/18657

 

JBoss User Group, KSUG(Korea Spring User Group), JAVA Cafe가 공동 주최하는 개발자를 위한 ‘공감’ 세미나 열두번째 이야기가 진행됩니다. 공감 세미나는 개발자와 함께 자신의 개발 경험 및 정보를 공유하는 자리입니다.

 

 

 

저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[공유] Spring Camp 2013

Study/Seminar 2013.08.24 18:59
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

 

 

KSUG에서 스프링캠프를 한다고 한다. WoW~

 

소개글

더보기

 

발표자를 구하는 것 같다. Someday...나도 한번..+ㅁ+ㅋㅋㅋ

 

자세한 내용은 아래의 링크를 눌러주세요^-^

http://springcamp.ksug.org/

 

10월 13일 기대된다! ^-^good~

 

 - 끝 -

저작자 표시 비영리 변경 금지
신고

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

티스토리 툴바