이야기를 나눠요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
잼이있네요.
이펙티브 C++하고 STL 책 읽고와야 여기 기초 개념들을 이해하겠네요. ㅎㅎㅎ 그거 안 읽고 오시는 분들은 낭패 볼 듯~
-
자바스크립트 제대로 배워볼래?
강의 너무 좋아요
이해도 쏙쏙되고 2일만에 거의 완강했습니다...
-
안녕하세용요용
- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
코딩으로 학습하는 GoF의 디자인 패턴
예제가 잘 못 된 듯하여 리포트 드립니다.
강의 1:40경에 예제가 잘 못 된 듯 합니다. user2는 "디자인패턴" subject에 register된 user가 아닌데, unregister 예제로 user2를 사용하셨네요^^;;; 사소한 거지만, 리포트드립니다~ 언제나 좋은 강의 감사합니다.
-
테스트
삭제된 글입니다
-
안녕하세요
인프런 처음 사용하는데 되게 괜찮은거같아요!
-
코딩으로 학습하는 GoF의 디자인 패턴
가장 인간미 느껴지는 회차입니다!!
싱글패턴 2부 기선님의 인간미가 느껴지네요!! 늦은 밤에도 언제나 좋은 강의 너무 감사합니다!!
-
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
도커 컨테이너 복사에 관해
안녕하세요 강사님, 도커 컨테이너를 한꺼번에 많이 만들 수 있다고 그러셨는데 그럼 똑같은 컨테이너의 설정을 한번에 복사해서 만들게 되면 외부에서 접속시에 어떻게 되나요? 예를 들어 도커안에 몇몇개의 같은 컨테이너에 9999 포트를 허용해놓고 접속을 허용하게 된다면, 외부에서 들어올때 모든 도커의 컨테이너에 접속을 하게되는지 말씀하신 Compose라는 관리 툴로 관리를 하게되는지 궁금합니다. 도커끼리의 네트워크 연결을 안하게 된다면 이와같은 상황에서 어떻게 될까요?
-
솔리디티 깨부수기
추천드립니다!!
고민하시는분은.. 무조건 들어보세요!!!
-
스프링 핵심 원리 - 고급편
콘솔 로그를 테스트하는 방법에 대해 알아봤습니다.
void 메서드는 어떻게 테스트해야할 지 고민해본 적은 있었는데, 콘솔 로그가 원하는대로 나오는지 테스트는 해본적이 없는 것 같습니다. 좋은 것 배워갑니다. class LogTrackerV1Test { @Test void begin_end() throws Exception { // given ListAppender<ILoggingEvent> listAppender = new ListAppender<>(); Logger logger = (Logger) LoggerFactory.getLogger(LogTrackerV1.class); logger.addAppender(listAppender); listAppender.start(); LogTrackerV1 tracker = new LogTrackerV1(); // when TraceStatus status = tracker.begin("hello"); tracker.end(status); // then List<ILoggingEvent> testLogs = listAppender.list; assertThat(testLogs).hasSize(2); assertThat(testLogs.get(0).getFormattedMessage()).matches("\\[[a-z0-9]{1,8}\\]\\shello"); assertThat(testLogs.get(0).getLevel()).isEqualTo(Level.INFO); assertThat(testLogs.get(1).getFormattedMessage()).matches("\\[[a-z0-9]{1,8}\\]\\shello\\stime=[0-9]*ms"); assertThat(testLogs.get(1).getLevel()).isEqualTo(Level.INFO); } @Test void begin_exception() throws Exception { // given ListAppender<ILoggingEvent> listAppender = new ListAppender<>(); Logger logger = (Logger) LoggerFactory.getLogger(LogTrackerV1.class); logger.addAppender(listAppender); listAppender.start(); LogTrackerV1 tracker = new LogTrackerV1(); // when TraceStatus status = tracker.begin("hello"); tracker.exception(status, new IllegalArgumentException()); // then List<ILoggingEvent> testLogs = listAppender.list; assertThat(testLogs).hasSize(2); assertThat(testLogs.get(0).getFormattedMessage()).matches("\\[[a-z0-9]{1,8}\\]\\shello"); assertThat(testLogs.get(0).getLevel()).isEqualTo(Level.INFO); assertThat(testLogs.get(1).getFormattedMessage()).matches("\\[[a-z0-9]{1,8}\\]\\shello\\stime=[0-9]*ms ex=[a-zA-Z.]*"); assertThat(testLogs.get(1).getLevel()).isEqualTo(Level.INFO); } }
-
스프링 핵심 원리 - 고급편
CountDownLatch가 뭔지 궁금해서 찾아봤습니다.
첨듣는 키워드였는데 좋은 것 알아갑니다 ! @Slf4j public class FieldServiceTest { private FieldService service = new FieldService(); @Test void service() throws Exception { log.info("Main start"); int count = 5; CountDownLatch countDownLatch = new CountDownLatch(count); ExecutorService executorService = Executors.newFixedThreadPool(processors()); Stream.generate(() -> { String user = UUID.randomUUID().toString().substring(0, 8); return new Thread(new FieldServiceWorker(countDownLatch, service, user)); }) .limit(count) .collect(Collectors.toList()) .forEach(executorService::submit); countDownLatch.await(); // countDownLatch의 카운트가 0이 될 때까지 대기 log.info("Finished"); } private int processors() { return Runtime.getRuntime().availableProcessors() + 1; } } @Slf4j public class FieldService { private String nameStore; public String service(final String name) { String threadName = Thread.currentThread().getName() + Thread.currentThread().getId(); log.info("{}: 입력 name={}", threadName, name); log.info("{}: 저장 name={} -> nameStore={}", threadName, name, nameStore); nameStore = name; TimeUtils.sleep(1000); log.info("{}: 조회 nameStore={}", threadName, nameStore); return nameStore; } @RequiredArgsConstructor public static class FieldServiceWorker implements Runnable { private final CountDownLatch countDownLatch; private final FieldService service; private final String name; @Override public void run() { service.service(name); TimeUtils.sleep(1000); countDownLatch.countDown(); // countDownLatch의 카운트를 하나 감소시킴. } } }
-
야곰의 iOS 프로그래밍
수료 후 - 아이폰 기본 앱 '미리 알림' 따라하기
해당 강의를 수료하고 Todo 실습의 연장선으로써 아이폰 기본 앱인 '미리 알림' 을 따라해보았습니다. 기간은 하루에 3~4시간 많게는 6시간 정도 했고 한달 넘게 걸렸습니다;; '미리 알림'의 일부 기능만 구현했으며, 몇몇 기능은 부자연스럽거나 원활하지 않습니다만, 수강생분들에게 도움이 되었으면 해서 공유합니다. 공부에 조금이나마 도움이 되길 바랍니다. Github : https://github.com/namgikim/iOS_Practice 파일명 : Reminders.xcodeproj, Reminders, Videos/reminders.mov Xcode Version : 12.0 Simulator : iPhone 11
-
스프링 핵심 원리 - 고급편
김영한 강사님의 신규강의? 이건 못참지
수강하러 가즈아
-
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
final?
final은 안나오는 건가요? override까지만 나옵니다
-
스프링 핵심 원리 - 고급편
강의오픈 축하드립니다.
기대하던 강의가 드디어 오픈되었네요. 항상 좋은 강의 잘듣고 있습니다. 이번 강의도 큰 도움이 될것 같습니다!
-
비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
최고최고
진짜 도움되는 정보 많아요..! 감사합니다!!👍👍
-
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
DirectXTex 빌드시 문제
최근 커밋된 버전을 다운받아 빌드를 하면 특정클래스가 정의되지 않아서 오류가 발생합니다. Rookiss선생님과 같은 버전의 솔루션을 빌드했을때는 오류가 발생하지 않는걸 보니 제 개인의 문제는 아닌거 같아 이렇게 게시글을 적습니다. 직접 다운받아 쓰시는분들은 참고하시는게 좋을거같습니다.
-
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
vscode 사용하시는분들 한글이 깨지시면
- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. soup = BeautifulSoup(res.content.decode('euc-kr', 'replace'), 'html.parser') res.content 이후에 decode('euc-kr' , 'replace' )를 입력하시면 해결됩니다.
-
스프링 배치
zsh 쓰시는 분 중 jar 실행 시 에러발생 경우 참고!
java -jar springbatchlecture-0.0.1-SNAPSHOT.jar name=user1 seq(long)=2L data(data)=2021-01-01 dage(double)=16.5 해당 명령어 실행 시 zsh: no matches found: seq(long)=2L이런 에러가 나오는데 옵션을 '로 묶어주면 실행됩니다.java -jar springbatchlecture-0.0.1-SNAPSHOT.jar 'name=user1 seq(long)=2l data(data)=2021/01/01 dage(double)=16.5' --spring.profiles.active=mysql옵션을 추가하면 mysql로 프로파일이 설정된다는 것도 참고해주세용 찡긋열공!
-
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
문자열 관련 질만
1. 영수는 캔디를 좋아합니다. 2. 철수는 캔디와 과자를 좋아합니다. 3. 영희는 캔디를 먹고 있습니다. 또 다른 예로는 1. 오뚜기 초코맛 과자 2세트 2. 오뚜기 딸기맛 과자 4세트 3. 오뚜기 초코맛 과자+초코맛 사탕 2세트 4. 오뚜기 바나나맛 과자 3세트 위의 예시에서 캔디가 각 문장마다 몇번 나왔는지 그리고 초코라는 글자가 각 문장마다 몇번 들어갔는지 어떻게 코드를 짤 수 있나요?