Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
Accelerator
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Type
/
to search
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
Uh oh!
There was an error while loading.
Please reload this page
.
java-squid
/
effective-java
Public
Notifications
You must be signed in to change notification settings
Fork
35
Star
103
Code
Issues
0
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
20210125
Jump to bottom
David Chung edited this page
Jan 25, 2021
·
1 revision
회고
Sunny
면접 / 면접준비로 바쁘게 지냈다
면접보면서 느낀 점:
기본기에 충실해야... 공부를 더 해야겠다
ELK, DB, query optimization...
Han
아이템 54의 경우는 크게 어렵지 않았다
best practice를 현업 코드베이스에 적용하기에는 어려움이 있다...
David
개강
알고리즘 열심히 풀고 있음 (leetcode + 풀이방법, 생각)
Pyro
코드스쿼드 cs10 너무 빡세다...
Roach
cs10 공부(RxJava)
Items
item51
List는 맨처음, 맨마지막 인덱스의 element를 반환하는 메서드가 없음.
API에서 제공하는 건 핵심적인,필수적인 메서드
이 API를 통해서, 클라이언트가 자신에게 필요한 메서드를 조합해서 사용할 수 있도록 만들어주는 게 낫다.
너무 다 만들어주면, API 자체가 지저분해진다.
리스코프 치환원칙
열거타입 사용은 가독성 뿐만 아니라 확장성도 생각하는 것.
item52
inexact method reference
submit method가 overloading 되어있는 상태 (Runnable or Callable)
Runnable return 타입 없음. Callable은 있고
같은 위치에 functional Interface를 받을 수 있도록 오버로딩이 되어있는 상태
println, 여러개로 오버로딩이 되어있는 상태의 메서드
method reference를 이용하면, 매개변수가 있을 수도, 없을수도 있으므로 컴파일러 에러
Thread::yield는 반환하는 리턴값이 없으므로(Runnable) -> 컴파일러 에러 발생하지 않음.
Thread::currentThread, 반환 값 있음(Callalbe) -> 컴파일러 에러 발생하지 않음
item53
가변인수를 사용하면 배열을 할당해서 성능이 떨어지기 때문에 정적 팩터리 메서드를 활용하자.
item54
null 처리를 하게되면 오류 처리를 위해서 클라이언트 로직이 더 복잡해지기 때문에 빈 컬렉션을 반환하는 것을 지향하자.
item55
null을 반환해서 NullPointerException을 런타임에 만나는 것보다는 Optional을 핸들링하는 것을 강제하자.
Kotlin이 좋다.
Wiki pages
Pages
19
Loading
Home
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
2020.09.19 1번째 스터디
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
2020.09.26 2번째 스터디
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
2020.10.17
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
2020.10.31
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20201109
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20201116
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20201123
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20201130
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20201207
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20201214
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20210118
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20210125
회고
Sunny
Han
David
Pyro
Roach
Items
item51
item52
item53
item54
item55
Loading
20210201
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20210208
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20210222
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20210308
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20210317
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
기획서
Uh oh!
There was an error while loading.
Please reload this page
.
Show 4 more pages…
Clone this wiki locally
You can’t perform that action at this time.