SlideShare une entreprise Scribd logo
1  sur  120
Télécharger pour lire hors ligne
Extended
Seoul
Extended
Seoul
Extended
Seoul
Extended
Seoul
Extended
Seoul
Extended
Seoul
Extended
Seoul
Extended
Seoul
Extended
Seoul
Extended
Seoul
Extended
Seoul
Extended
Seoul
Extended
Seoul
Extended
Seoul
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Mypage
12D3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Mypage
12D3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Mypage
12D3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Mypage
12D3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Mypage
12D3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Mypage
12D3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Mypage
12D3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Mypage
12D3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
@Override
protected void onResume() {
super.onResume();
NetworkManager.getUser(user.id).subscribe((User) user -> {
changeUserView(user);
});
}
@Override
protected void onResume() {
super.onResume();
NetworkManager.getUser(user.id).subscribe((User) user -> {
changeUserView(user);
});
}
@Override
protected void onResume() {
super.onResume();
NetworkManager.getUser(user.id).subscribe((User) user -> {
changeUserView(user);
});
}
@Override
protected void onResume() {
super.onResume();
NetworkManager.getUser(user.id).subscribe((User) user -> {
changeUserView(user);
});
}
@Override
protected void onResume() {
super.onResume();
NetworkManager.getUser(user.id).subscribe((User) user -> {
changeUserView(user);
});
}
@Override
protected void onResume() {
super.onResume();
NetworkManager.getUser(user.id).subscribe((User) user -> {
changeUserView(user);
});
}
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
public class ChangeUserEvent {
private User user;
public ChangeUserEvent(User user) {
this.user = user;
}
}
public class ChangeUserEvent {
private User user;
public ChangeUserEvent(User user) {
this.user = user;
}
}
public class MypageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mypage);
...
}
...
@Subscribe
public void onChangeUserEvent(ChnageUserEvent event) {
changeUserView(event.user);
};
}
public class MypageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mypage);
...
}
...
@Subscribe
public void onChangeUserEvent(ChangeUserEvent event) {
changeUserView(event.user);
};
}
public class MypageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mypage);
...
}
...
@Subscribe
public void onChangeUserEvent(ChangeUserEvent event) {
changeUserView(event.user);
};
}
public class MypageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mypage);
...
}
...
@Subscribe
public void onChangeUserEvent(ChangeUserEvent event) {
changeUserView(event.user);
};
}
public class ProfileActivity extends AppCompatActivity {
...
private void setUser(User user) {
EventBus.getDefault().post(new ChangeUserEvent(user));
}
}
public class ProfileActivity extends AppCompatActivity {
...
private void setUser(User user) {
EventBus.getDefault().post(new ChangeUserEvent(user));
}
}
public class ProfileActivity extends AppCompatActivity {
...
private void setUser(User user) {
EventBus.getDefault().post(new ChangeUserEvent(user));
}
}
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12;3
0
Page Title
12<3
0
Angie Pine
Rotterdam
On the Radio
Activity
Videography
Discography
Tickets
News
1
12<3
0
She is a sort of life changing
person.
8,5K1 min agoAngie Pine
Angie Pine
Rotterdam
127 Followers • 387 Likes
Profile
12D3
0
public class MypageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mypage);
RxBus.getInstance()
.getObservable()
.subscribe(
user -> changeUserView(user)
);
}
public class MypageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mypage);
RxBus.getInstance()
.getObservable()
.subscribe(
user -> changeUserView(user)
);
}
public class MypageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mypage);
RxBus.getInstance()
.getObservable()
.subscribe(
user -> changeUserView(user)
);
}
public class ProfileActivity extends AppCompatActivity {
...
private void setUser(User user) {
RxBus.getInstance().sendEvent(user);
}
}
public class ProfileActivity extends AppCompatActivity {
...
private void setUser(User user) {
RxBus.getInstance().sendEvent(user);
}
}
public class Developer {
private String name;
private int age;
private String language;
private String company;
private String school;
private boolean is_android_developer;
private View.OnClickListener reaction;
public Developer(String name, int age, String language, String company, String
school, boolean is_android_developer, View.OnClickListener reaction) {
this.name = name;
this.age = age;
this.language = language;
this.company = company;
this.school = school;
this.is_android_developer = is_android_developer;
this.reaction = reaction;
}
}
public class Developer {
private String name;
private int age;
private String language;
private String company;
private String school;
private boolean is_android_developer;
private View.OnClickListener reaction;
public Developer(String name, int age, String language, String company, String
school, boolean is_android_developer, View.OnClickListener reaction) {
this.name = name;
this.age = age;
this.language = language;
this.company = company;
this.school = school;
this.is_android_developer = is_android_developer;
this.reaction = reaction;
}
}
public class Developer {
private String name;
private int age;
private String language;
private String company;
private String school;
private boolean is_android_developer;
private View.OnClickListener reaction;
public Developer(String name, int age, String language, String company, String
school, boolean is_android_developer, View.OnClickListener reaction) {
this.name = name;
this.age = age;
this.language = language;
this.company = company;
this.school = school;
this.is_android_developer = is_android_developer;
this.reaction = reaction;
}
}
public class Developer {
private String name;
private int age;
private String language;
private String company;
private String school;
private boolean is_android_developer;
private View.OnClickListener reaction;
public Developer(String name, int age, String language, String company, String
school, boolean is_android_developer, View.OnClickListener reaction) {
this.name = name;
this.age = age;
this.language = language;
this.company = company;
this.school = school;
this.is_android_developer = is_android_developer;
this.reaction = reaction;
}
}
public class Developer {
private String name;
private int age;
private String language;
private String company;
private String school;
private boolean is_android_developer;
private View.OnClickListener reaction;
public Developer(String name, int age, String language, String company, String
school, boolean is_android_developer, View.OnClickListener reaction) {
this.name = name;
this.age = age;
this.language = language;
this.company = company;
this.school = school;
this.is_android_developer = is_android_developer;
this.reaction = reaction;
}
}
public class Developer {
private String name;
private int age;
private String language;
private String company;
private String school;
private boolean is_android_developer;
private View.OnClickListener reaction;
public Developer(String name, int age, String language, String company, String
school, boolean is_android_developer, View.OnClickListener reaction) {
this.name = name;
this.age = age;
this.language = language;
this.company = company;
this.school = school;
this.is_android_developer = is_android_developer;
this.reaction = reaction;
}
}
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("DevFest2017")
.setMessage("좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴")
.setNegativeButton("취소", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 취소 클릭 시
}
})
.setPositiveButton("입장", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 입장 클릭 시
}
})
.show();
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("DevFest2017")
.setMessage("좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴")
.setNegativeButton("취소", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 취소 클릭 시
}
})
.setPositiveButton("입장", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 입장 클릭 시
}
})
.show();
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("DevFest2017")
.setMessage("좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴")
.setNegativeButton("취소", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 취소 클릭 시
}
})
.setPositiveButton("입장", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 입장 클릭 시
}
})
.show();
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("DevFest2017")
.setMessage("좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴")
.setNegativeButton("취소", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 취소 클릭 시
}
})
.setPositiveButton("입장", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// 입장 클릭 시
}
})
.show();
Developer developer = new Developer.Builder(this)
.setName("워니")
.setAge(24)
.setLanguage("JAVA")
.setCompany(“트레바리")
.setSchool("가천대")
.set_android_developer(true)
.setReaction(new View.OnClickListener() {
@Override
public void onClick(View view) {
smile();
}
})
.build();
이미지 출처: http://www.karthikscorner.com/sharepoint/design-patterns-adapter-pattern
이미지 출처: http://www.karthikscorner.com/sharepoint/design-patterns-adapter-pattern
이미지 출처: http://www.karthikscorner.com/sharepoint/design-patterns-adapter-pattern
이미지 출처: http://www.karthikscorner.com/sharepoint/design-patterns-adapter-pattern
Person#1
Person#2
Person#3
Person#n
…
Adapter
Person#1
Person#2
Person#3
Person#n
…
Adapter
Person#1
Person#2
Person#3
Person#n
…
Adapter
Person#1
Person#2
Person#3
Person#n
…
Adapter
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴

Contenu connexe

Tendances

AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
都元ダイスケ Miyamoto
 
Logをs3とredshiftに格納する仕組み
Logをs3とredshiftに格納する仕組みLogをs3とredshiftに格納する仕組み
Logをs3とredshiftに格納する仕組み
Ken Morishita
 

Tendances (20)

AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
 
Process Monitor の使い方
Process Monitor の使い方Process Monitor の使い方
Process Monitor の使い方
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
 
개발자를 위한 (블로그) 글쓰기 intro
개발자를 위한 (블로그) 글쓰기 intro개발자를 위한 (블로그) 글쓰기 intro
개발자를 위한 (블로그) 글쓰기 intro
 
devops 2년차 이직 성공기.pptx
devops 2년차 이직 성공기.pptxdevops 2년차 이직 성공기.pptx
devops 2년차 이직 성공기.pptx
 
Data Science. Intro
Data Science. IntroData Science. Intro
Data Science. Intro
 
Kinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみたKinesis Firehoseを使ってみた
Kinesis Firehoseを使ってみた
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법
 
[AWS Builders] Effective AWS Glue
[AWS Builders] Effective AWS Glue[AWS Builders] Effective AWS Glue
[AWS Builders] Effective AWS Glue
 
AWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto ScalingAWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto Scaling
 
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영
 
Jupyter notebook 이해하기
Jupyter notebook 이해하기 Jupyter notebook 이해하기
Jupyter notebook 이해하기
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
 
TF에서 팀 빌딩까지 9개월의 기록 : 성장하는 조직을 만드는 여정
TF에서 팀 빌딩까지 9개월의 기록 : 성장하는 조직을 만드는 여정TF에서 팀 빌딩까지 9개월의 기록 : 성장하는 조직을 만드는 여정
TF에서 팀 빌딩까지 9개월의 기록 : 성장하는 조직을 만드는 여정
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기
 
Logをs3とredshiftに格納する仕組み
Logをs3とredshiftに格納する仕組みLogをs3とredshiftに格納する仕組み
Logをs3とredshiftに格納する仕組み
 
anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件anyenv + phpenv + php-build が便利すぎる件
anyenv + phpenv + php-build が便利すぎる件
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴

  • 1.
  • 2.
  • 3.
  • 4.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Mypage 12D3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0
  • 29. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Mypage 12D3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0
  • 30. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Mypage 12D3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0
  • 31. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Mypage 12D3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0
  • 32. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Mypage 12D3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0
  • 33. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Mypage 12D3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0
  • 34. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Mypage 12D3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0
  • 35. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Mypage 12D3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0
  • 36. @Override protected void onResume() { super.onResume(); NetworkManager.getUser(user.id).subscribe((User) user -> { changeUserView(user); }); }
  • 37. @Override protected void onResume() { super.onResume(); NetworkManager.getUser(user.id).subscribe((User) user -> { changeUserView(user); }); }
  • 38. @Override protected void onResume() { super.onResume(); NetworkManager.getUser(user.id).subscribe((User) user -> { changeUserView(user); }); }
  • 39. @Override protected void onResume() { super.onResume(); NetworkManager.getUser(user.id).subscribe((User) user -> { changeUserView(user); }); }
  • 40. @Override protected void onResume() { super.onResume(); NetworkManager.getUser(user.id).subscribe((User) user -> { changeUserView(user); }); }
  • 41. @Override protected void onResume() { super.onResume(); NetworkManager.getUser(user.id).subscribe((User) user -> { changeUserView(user); }); }
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 53. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 54. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 55. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 56. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 57. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 58. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 59. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 60. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 61. public class ChangeUserEvent { private User user; public ChangeUserEvent(User user) { this.user = user; } }
  • 62. public class ChangeUserEvent { private User user; public ChangeUserEvent(User user) { this.user = user; } }
  • 63. public class MypageActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mypage); ... } ... @Subscribe public void onChangeUserEvent(ChnageUserEvent event) { changeUserView(event.user); }; }
  • 64. public class MypageActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mypage); ... } ... @Subscribe public void onChangeUserEvent(ChangeUserEvent event) { changeUserView(event.user); }; }
  • 65. public class MypageActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mypage); ... } ... @Subscribe public void onChangeUserEvent(ChangeUserEvent event) { changeUserView(event.user); }; }
  • 66. public class MypageActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mypage); ... } ... @Subscribe public void onChangeUserEvent(ChangeUserEvent event) { changeUserView(event.user); }; }
  • 67. public class ProfileActivity extends AppCompatActivity { ... private void setUser(User user) { EventBus.getDefault().post(new ChangeUserEvent(user)); } }
  • 68. public class ProfileActivity extends AppCompatActivity { ... private void setUser(User user) { EventBus.getDefault().post(new ChangeUserEvent(user)); } }
  • 69. public class ProfileActivity extends AppCompatActivity { ... private void setUser(User user) { EventBus.getDefault().post(new ChangeUserEvent(user)); } }
  • 70.
  • 71.
  • 72.
  • 73. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 74. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 75. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 76. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 77. Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12;3 0 Page Title 12<3 0 Angie Pine Rotterdam On the Radio Activity Videography Discography Tickets News 1 12<3 0 She is a sort of life changing person. 8,5K1 min agoAngie Pine Angie Pine Rotterdam 127 Followers • 387 Likes Profile 12D3 0
  • 78. public class MypageActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mypage); RxBus.getInstance() .getObservable() .subscribe( user -> changeUserView(user) ); }
  • 79. public class MypageActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mypage); RxBus.getInstance() .getObservable() .subscribe( user -> changeUserView(user) ); }
  • 80. public class MypageActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mypage); RxBus.getInstance() .getObservable() .subscribe( user -> changeUserView(user) ); }
  • 81. public class ProfileActivity extends AppCompatActivity { ... private void setUser(User user) { RxBus.getInstance().sendEvent(user); } }
  • 82. public class ProfileActivity extends AppCompatActivity { ... private void setUser(User user) { RxBus.getInstance().sendEvent(user); } }
  • 83.
  • 84.
  • 85. public class Developer { private String name; private int age; private String language; private String company; private String school; private boolean is_android_developer; private View.OnClickListener reaction; public Developer(String name, int age, String language, String company, String school, boolean is_android_developer, View.OnClickListener reaction) { this.name = name; this.age = age; this.language = language; this.company = company; this.school = school; this.is_android_developer = is_android_developer; this.reaction = reaction; } }
  • 86. public class Developer { private String name; private int age; private String language; private String company; private String school; private boolean is_android_developer; private View.OnClickListener reaction; public Developer(String name, int age, String language, String company, String school, boolean is_android_developer, View.OnClickListener reaction) { this.name = name; this.age = age; this.language = language; this.company = company; this.school = school; this.is_android_developer = is_android_developer; this.reaction = reaction; } }
  • 87. public class Developer { private String name; private int age; private String language; private String company; private String school; private boolean is_android_developer; private View.OnClickListener reaction; public Developer(String name, int age, String language, String company, String school, boolean is_android_developer, View.OnClickListener reaction) { this.name = name; this.age = age; this.language = language; this.company = company; this.school = school; this.is_android_developer = is_android_developer; this.reaction = reaction; } }
  • 88. public class Developer { private String name; private int age; private String language; private String company; private String school; private boolean is_android_developer; private View.OnClickListener reaction; public Developer(String name, int age, String language, String company, String school, boolean is_android_developer, View.OnClickListener reaction) { this.name = name; this.age = age; this.language = language; this.company = company; this.school = school; this.is_android_developer = is_android_developer; this.reaction = reaction; } }
  • 89. public class Developer { private String name; private int age; private String language; private String company; private String school; private boolean is_android_developer; private View.OnClickListener reaction; public Developer(String name, int age, String language, String company, String school, boolean is_android_developer, View.OnClickListener reaction) { this.name = name; this.age = age; this.language = language; this.company = company; this.school = school; this.is_android_developer = is_android_developer; this.reaction = reaction; } }
  • 90. public class Developer { private String name; private int age; private String language; private String company; private String school; private boolean is_android_developer; private View.OnClickListener reaction; public Developer(String name, int age, String language, String company, String school, boolean is_android_developer, View.OnClickListener reaction) { this.name = name; this.age = age; this.language = language; this.company = company; this.school = school; this.is_android_developer = is_android_developer; this.reaction = reaction; } }
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96. AlertDialog alertDialog = new AlertDialog.Builder(this) .setTitle("DevFest2017") .setMessage("좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴") .setNegativeButton("취소", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { // 취소 클릭 시 } }) .setPositiveButton("입장", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { // 입장 클릭 시 } }) .show();
  • 97. AlertDialog alertDialog = new AlertDialog.Builder(this) .setTitle("DevFest2017") .setMessage("좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴") .setNegativeButton("취소", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { // 취소 클릭 시 } }) .setPositiveButton("입장", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { // 입장 클릭 시 } }) .show();
  • 98. AlertDialog alertDialog = new AlertDialog.Builder(this) .setTitle("DevFest2017") .setMessage("좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴") .setNegativeButton("취소", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { // 취소 클릭 시 } }) .setPositiveButton("입장", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { // 입장 클릭 시 } }) .show();
  • 99. AlertDialog alertDialog = new AlertDialog.Builder(this) .setTitle("DevFest2017") .setMessage("좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴") .setNegativeButton("취소", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { // 취소 클릭 시 } }) .setPositiveButton("입장", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { // 입장 클릭 시 } }) .show();
  • 100. Developer developer = new Developer.Builder(this) .setName("워니") .setAge(24) .setLanguage("JAVA") .setCompany(“트레바리") .setSchool("가천대") .set_android_developer(true) .setReaction(new View.OnClickListener() { @Override public void onClick(View view) { smile(); } }) .build();
  • 101.
  • 102.
  • 103.
  • 104.