묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
1번 강의 소스코드
안녕하세요? JPA 강의 2번 부터 수강하고 있습니다. 실제 코드를 작성하면서 따라하는데, 1번 강의의 소스코드를 이어서 실습을 하다보니 제한이 되는 부분이 있네요. 이전 강의 자료(pdf)에 없는 코드도 있는거 같은데 이부분은 제공이 불가능할까요? 당장 회원등록 API 부터 MemberService.등이 없으니 진행이 안되네요ㅠ
-
미해결PHP 7+ 프로그래밍
php 에러발생..
Cannot load Xdebug - it was already loadedPHP Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: /opt/homebrew/lib/php/pecl/20210902/curl (dlopen(/opt/homebrew/lib/php/pecl/20210902/curl, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/curl' (no such file), '/usr/local/lib/curl' (no such file), '/usr/lib/curl' (no such file)), /opt/homebrew/lib/php/pecl/20210902/curl.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/curl.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/curl.so' (no such file), '/usr/local/lib/curl.so' (no such file), '/usr/lib/curl.so' (no such file))) in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: /opt/homebrew/lib/php/pecl/20210902/curl (dlopen(/opt/homebrew/lib/php/pecl/20210902/curl, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/curl' (no such file), '/usr/local/lib/curl' (no such file), '/usr/lib/curl' (no such file)), /opt/homebrew/lib/php/pecl/20210902/curl.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/curl.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/curl.so' (no such file), '/usr/local/lib/curl.so' (no such file), '/usr/lib/curl.so' (no such file))) in Unknown on line 0PHP Warning: PHP Startup: Unable to load dynamic library 'fileinfo' (tried: /opt/homebrew/lib/php/pecl/20210902/fileinfo (dlopen(/opt/homebrew/lib/php/pecl/20210902/fileinfo, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/fileinfo' (no such file), '/usr/local/lib/fileinfo' (no such file), '/usr/lib/fileinfo' (no such file)), /opt/homebrew/lib/php/pecl/20210902/fileinfo.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/fileinfo.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/fileinfo.so' (no such file), '/usr/local/lib/fileinfo.so' (no such file), '/usr/lib/fileinfo.so' (no such file))) in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'fileinfo' (tried: /opt/homebrew/lib/php/pecl/20210902/fileinfo (dlopen(/opt/homebrew/lib/php/pecl/20210902/fileinfo, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/fileinfo' (no such file), '/usr/local/lib/fileinfo' (no such file), '/usr/lib/fileinfo' (no such file)), /opt/homebrew/lib/php/pecl/20210902/fileinfo.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/fileinfo.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/fileinfo.so' (no such file), '/usr/local/lib/fileinfo.so' (no such file), '/usr/lib/fileinfo.so' (no such file))) in Unknown on line 0PHP Warning: PHP Startup: Unable to load dynamic library 'mbstring' (tried: /opt/homebrew/lib/php/pecl/20210902/mbstring (dlopen(/opt/homebrew/lib/php/pecl/20210902/mbstring, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/mbstring' (no such file), '/usr/local/lib/mbstring' (no such file), '/usr/lib/mbstring' (no such file)), /opt/homebrew/lib/php/pecl/20210902/mbstring.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/mbstring.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/mbstring.so' (no such file), '/usr/local/lib/mbstring.so' (no such file), '/usr/lib/mbstring.so' (no such file))) in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'mbstring' (tried: /opt/homebrew/lib/php/pecl/20210902/mbstring (dlopen(/opt/homebrew/lib/php/pecl/20210902/mbstring, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/mbstring' (no such file), '/usr/local/lib/mbstring' (no such file), '/usr/lib/mbstring' (no such file)), /opt/homebrew/lib/php/pecl/20210902/mbstring.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/mbstring.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/mbstring.so' (no such file), '/usr/local/lib/mbstring.so' (no such file), '/usr/lib/mbstring.so' (no such file))) in Unknown on line 0PHP Warning: PHP Startup: Unable to load dynamic library 'mysqli' (tried: /opt/homebrew/lib/php/pecl/20210902/mysqli (dlopen(/opt/homebrew/lib/php/pecl/20210902/mysqli, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/mysqli' (no such file), '/usr/local/lib/mysqli' (no such file), '/usr/lib/mysqli' (no such file)), /opt/homebrew/lib/php/pecl/20210902/mysqli.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/mysqli.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/mysqli.so' (no such file), '/usr/local/lib/mysqli.so' (no such file), '/usr/lib/mysqli.so' (no such file))) in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'mysqli' (tried: /opt/homebrew/lib/php/pecl/20210902/mysqli (dlopen(/opt/homebrew/lib/php/pecl/20210902/mysqli, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/mysqli' (no such file), '/usr/local/lib/mysqli' (no such file), '/usr/lib/mysqli' (no such file)), /opt/homebrew/lib/php/pecl/20210902/mysqli.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/mysqli.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/mysqli.so' (no such file), '/usr/local/lib/mysqli.so' (no such file), '/usr/lib/mysqli.so' (no such file))) in Unknown on line 0PHP Warning: PHP Startup: Unable to load dynamic library 'openssl' (tried: /opt/homebrew/lib/php/pecl/20210902/openssl (dlopen(/opt/homebrew/lib/php/pecl/20210902/openssl, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/openssl' (no such file), '/usr/local/lib/openssl' (no such file), '/usr/lib/openssl' (no such file)), /opt/homebrew/lib/php/pecl/20210902/openssl.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/openssl.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/openssl.so' (no such file), '/usr/local/lib/openssl.so' (no such file), '/usr/lib/openssl.so' (no such file))) in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'openssl' (tried: /opt/homebrew/lib/php/pecl/20210902/openssl (dlopen(/opt/homebrew/lib/php/pecl/20210902/openssl, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/openssl' (no such file), '/usr/local/lib/openssl' (no such file), '/usr/lib/openssl' (no such file)), /opt/homebrew/lib/php/pecl/20210902/openssl.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/openssl.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/openssl.so' (no such file), '/usr/local/lib/openssl.so' (no such file), '/usr/lib/openssl.so' (no such file))) in Unknown on line 0PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /opt/homebrew/lib/php/pecl/20210902/pdo_mysql (dlopen(/opt/homebrew/lib/php/pecl/20210902/pdo_mysql, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/pdo_mysql' (no such file), '/usr/local/lib/pdo_mysql' (no such file), '/usr/lib/pdo_mysql' (no such file)), /opt/homebrew/lib/php/pecl/20210902/pdo_mysql.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/pdo_mysql.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/pdo_mysql.so' (no such file), '/usr/local/lib/pdo_mysql.so' (no such file), '/usr/lib/pdo_mysql.so' (no such file))) in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /opt/homebrew/lib/php/pecl/20210902/pdo_mysql (dlopen(/opt/homebrew/lib/php/pecl/20210902/pdo_mysql, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/pdo_mysql' (no such file), '/usr/local/lib/pdo_mysql' (no such file), '/usr/lib/pdo_mysql' (no such file)), /opt/homebrew/lib/php/pecl/20210902/pdo_mysql.so (dlopen(/opt/homebrew/lib/php/pecl/20210902/pdo_mysql.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20210902/pdo_mysql.so' (no such file), '/usr/local/lib/pdo_mysql.so' (no such file), '/usr/lib/pdo_mysql.so' (no such file))) in Unknown on line 0Xdebug: [Config] The setting 'xdebug.remote_enable' has been renamed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-xdebug.remote_enable (See: https://xdebug.org/docs/errors#CFG-C-CHANGED)Xdebug: [Config] The setting 'xdebug.remote_host' has been renamed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-xdebug.remote_host (See: https://xdebug.org/docs/errors#CFG-C-CHANGED)Xdebug: [Config] The setting 'xdebug.remote_port' has been renamed, see the upgrading guide at https://xdebug.org/docs/upgrade_guide#changed-xdebug.remote_port (See: https://xdebug.org/docs/errors#CFG-C-CHANGED) php -version 등 php 명령어를 치기만 하면 이런 오류가 같이 나오네요 왜 그런걸까요?
-
미해결실전! 스프링 데이터 JPA
save 할 때 트랜잭션 관련 질문
save같이 persist가 날라가는 기능들은 트랜잭션 안에서 동작해야 작동하고 @PostConstruct에서는 @Transection이 적용이 안돼서 별도의 클래스를 만들어서 @PostConstruct를 활용하는 걸로 알고있었는데 강의 보니까 @PostConstruct에서 @Transactional없이 그냥 save해도 insert가 되던데 이유가 궁금합니다!
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
안녀하세요 질문이 있습니다.
안녕하세요 강의 잘보고 있습니다. 궁금증이 있어 질문 남기게 되었습니다. 예시 상황) 1)게시글 목록 보기 -글 제목 -글 작성자 -글 작성날짜 2)게시글 상세보기 -글 제목 -글 작성자 -글 내용 -글 작성날짜 -조회수 1.각 작업에서 위와 같은 데이터를 내려준다고 가정할 때, 실무에서는 응답용 DTO를 각각 만들어서 사용하는 편인가요?? (위와 같이 간단할 경우와 필드수가 무수히 많을 경우 2가지 상황 모두에 대한 말씀을 해주시면 감사하겠습니다) 1-1 . 만일 따로 만들지 않을 경우. 예시 상황) private String 제목; private String 내용; private String 작성자; pirvate LocalDateTime 작성날짜; private Integer 조회수; 만일 위와 같이 하나의 DTO로 처리할 경우, 목록 보기에서는 조회수와 내용이 필요하지 않습니다. 이때 postman으로 조회해보면 , 내용 필드와 조회수 필드는 필요하지 않기 때문에 초기화 해주지 않았으므로 , 필드는 표시되고 값은 null로 표시됩니다. 혹여 이때 , 클라이언트 입장에서는 이게 필요한 데이터이지만 , 선택적값이라서 null인건가와 같은 착각을 일으키지 않을까 생각이 듭니다. 이럴 경우 어떤식으로 대처하시는지요??
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
docker-compose up -d 명령 실행 후 커서 작동 안함
안녕하세요 강사님, docker-compose up -d 실행후 lock이 걸린듯 아무 key 먹지 않습니다. 그래서 강제로 터미널을 종료하고 다시 ssh -i ~ 명령으로 ubuntu로 들어가려고 하면 ubuntu로 못 넘어가네요.. docker도 restart 해보고 AWS 인스턴스도 재부팅을 해 보았는데 똑 같은 상태 입니다. AWS 인스턴스를 중지하고 다시 기존 보안코드로 시작을 하였더니, ubuntu로 다시 들어 갈 수 있었고 docker-compose up -d 를 실행 할 수 있었습니다. docker-compose up -d 실행 때 갑자기 이런 현상이 또 발생할 경우 순조롭게 하려면 어떻게 하면 좋은지 알려 주시면 감사하겠습니다.
-
미해결웹 게임을 만들며 배우는 React
onClickRedo함수
onClickRedo = () =>{ this.setState({ winNumbers: getWinNumbers(), winBalls: [], bonus: null, redo: false, }) this.timeouts = []; } 이렇게 초기화 작업 코드를 작성하는데 첫 랜더링때 timeouts[]에 담는 setTimeout()을 클리어하는 clearTimeout()을 초기화 작업에서는 안하는데 예를들어 "한 번더" 버튼을 많이 클릭할 경우에 문제가 없는지 궁금합니다. 없다면 왜 그런지 궁금합니다. 혹시 아니면 Lotto컴포넌트가 삭제된게 아니기 때문에 clearTimeout()을 따로 처리 안 하는건가요? 삭제 될때만 clear처리해주면 되나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질문있습니다!
c.second()에 +1은 왜 하는건가요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
while문 질문
let sum=0, tmp=x; while(tmp){ sum+=(tmp%10) console.log('(1)tmp 값',tmp); console.log('(1)sum 값',sum); tmp=Math.floor(tmp/10); console.log('(2)tmp 값',tmp); console.log('(2)sum 값',sum); } console.log('sum의 값',sum); 강의 잘 보고 있습니다. 위 코드에서 while문 질문입니다. 128(tmp)을 10으로 %하면 sum은 8, 다시 tmp를 10으로 나누면 이때 tmp는 12가 되는 것인가요?
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
diaryList 길이 질문!
강사님 안녕하세요! 16분 50초경에 출력이 2번된다 말씀하시면서 diaryList 의길이가 0일때는 수행할 필요가 없다고 말씀하시면서 if(diaryList.length >= 1) 안에 넣어주셨는데.. 이부분이 잘 이해가 가지않습니다. 콘솔로 찍어보면 항상 length는 5가 나오구 if(diaryList.length >= 1) 를 넣어주지않아도 달력 다음버튼이나 이전 버튼을 누르면 똑같이 1번만 찍히는데 어째서 해주신걸까용..?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
BeanCreationException 질문드립니다.
Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: jpabook.jpashop.domain.item.Item.categories[jpabook.jpashop.domain.Category] 이런 에러가 발생합니다. 코드 첨부합니다. 해당 부분을 지우면 문제없이 돌아가요.. package jpabook.jpashop.domain;import jpabook.jpashop.domain.item.Item;import lombok.Getter;import lombok.Setter;import javax.persistence.*;import java.util.ArrayList;import java.util.List;@Embeddable@Getter@Setterpublic class Category { @Id @GeneratedValue @Column(name = "category_id") private Long id; private String name; @ManyToMany @JoinTable(name = "category_item", joinColumns = @JoinColumn(name = "category_id"), inverseJoinColumns = @JoinColumn(name = "item_id")) private List<Item> items = new ArrayList<>(); @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "parent_id") private Category parent; @OneToMany(mappedBy = "parent") private List<Category> child = new ArrayList<>(); public void addChildCategory(Category child) { this.child.add(child); child.setParent(this); } protected Category(){}} package jpabook.jpashop.domain.item;import jpabook.jpashop.domain.Category;import lombok.Getter;import lombok.Setter;import javax.persistence.*;import java.util.ArrayList;import java.util.List;@Entity@Inheritance(strategy = InheritanceType.SINGLE_TABLE)@DiscriminatorColumn(name = "dtype")@Getter @Setterpublic abstract class Item { @Id @GeneratedValue @Column(name = "item_id") private Long id; private String name; private int price; private int stockQuantity; @ManyToMany(mappedBy = "items") private List<Category> categories = new ArrayList<Category>();}
-
미해결코딩으로 학습하는 리팩토링
stream으로 변경 시 성능 문제
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 기선님. 리팩토링 이전 코드인 `for문`을 사용한 코드는 반복문이 한번으로 보여지는데 리팩토링 이후 코드는 `filter`, `map`, `filter`, `collect` 네번의 반복문이 도는 것일까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
findByName()부분에서 java.lang.NullPointException 에러가 해결되지 않습니다.
안녕하십니까 강사님. 이렇게 유익한 강의를 만들어주셔서 감사합니다. 다름이 아니라 이 부분에 관한 다른 질문들을 보고 따라해봤지만 제 경우에는 해결되지 않아 도움을 부탁드립니다. [MemoryMemberRepositoryTest] ->findByName에서 오류가 발생합니다. package hello.hellospring1.repository; import java.util.List; import java.util.Optional; import hello.hellospring1.domain.Member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.*; import java.net.PortUnreachableException; import static org.hamcrest.MatcherAssert.assertThat; public class MemoryMemberRepositoryTest { MemoryMemberRepository repository = new MemoryMemberRepository(); @AfterEach public void afterEach() { repository.clearStore(); } @Test public void findByName() { Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2= new Member(); //위에거 복사 & shift+f6 누르면 member 이름 한번에 바꿀 수 있음 member2.setName("spring2"); //여기서 spring2는 자동으로 안바뀜 직접 바꾸기 repository.save(member2); Member result = repository.findByName("spring1").get(); Assertions.assertThat(result).isEqualTo(member1); } } [MemberRepository] package hello.hellospring1.repository; import hello.hellospring1.domain.Member; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; import java.util.List; import java.util.Optional; public class MemoryMemberRepository implements MemberRepository { private static final Map<Long, Member> store = new HashMap<>(); private static long sequence = 0L; @Override public Member save(Member member) { member.setId(++sequence); store.put(member.getId(),member); return member; } @Override public Optional<Member> findById(Long id) { return Optional.ofNullable(store.get(id)); } @Override public Optional<Member> findByName(String name) { return store.values().stream() .filter(member -> member.getName().equals(name)) .findAny(); } @Override public List<Member> findAll() { return new ArrayList<>(store.values()); } public void clearStore(){ store.clear(); } @Override public Optional<Member> findId(Long memberId) { return Optional.empty(); } } [에러]
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
혹시 강의에 자막은 없을까요?
안녕하세요 다름이 아니라 강의에 따로 자막 기능은 없을까요? 혹은 추가 할 수 있는 방법은 없을까요?ㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ThreadLocal<SendBuffer> 질문
public static class Helper { private static readonly ThreadLocal<int> Num = new ThreadLocal<int>(() => 0); public static int Plus(int n) { Num.Value += n; return Num.Value; } } public class Program { public static void Main() { var action = () => { Console.WriteLine(Helper.Plus(1)); }; Parallel.Invoke(action, action); Parallel.Invoke(action, action); Parallel.Invoke(action, action); Console.WriteLine(Helper.Plus(100)); /* 결과 * 1 * 1 * 2 * 2 * 3 * 3 * 104 */ } } ThreadLocal<SendBuffer> 타입은 스레드가 해당 값을 참조하려 할 때 스레드의 스택 영역에 할당해주잖아요. 이 것은 마치 냉장고에서 재료를 꺼내러 갔더니 요리사들에게 재료의 사본을 꺼내 주는 것과 같은 거네요? 그렇다는 것은 클라이언트 A와 B는 { 1, 1, 0, 0 }의 ArraySegment 동시에 가져가게 되는 꼴인데, A와 B가 서로 2 바이트 만큼 SendBuffer에 덧붙인다고 했을 때 A가 Open & Close해서 작성한 SendBuffer {1, 1, 1, 1}과 B가 Open & Close해서 작성한 SendBuffer {1, 1, 1, 0}이 서로 충돌하는 상황이 될 것 같은데요. 1) 제가 이해한 것이 맞는지 궁금하구 2) 충돌하는 상황이라면 문제가 되는지 궁금합니다. 항상 감사합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
onToggleLike 함수
에러가 난건 아니지만 저는 onToggleLike 함수부분에서 강의를 잠시 멈춰두고 작성해보았습니다. 이런 식으로 작성해봤는데요. 잘 작동하는것같긴한데.. 강사님 처럼 useCallback() 을 사용하였을때와 비교했을때 불리한 점이 있을까요? 코드를 짜고 강의를 틀어보니 좀 달라서 질문들비니다
-
미해결
강의 재생 관련 문의
1대1 문의하기가 찾을수 없어서 여기에 올립니다 강의 배속이 1배속만 됩니다 1.2배속 1.5 배속 1.7배속 2배속으로 듣고 싶습니다 어떻게 하면 배속 선택이 가능할까요 ? 답변 부탁드립니다
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
함수가 인자로 들어갈 때
10분쯤 강의 듣다가 잘 모르겠어서 질문합니다. 위 사진에 담긴 내용을 보면 처음에 함수로 'callbackFunc'라는 이름의 함수를 정의하고 시작하셨잖아요?? 그리고 나서 아래에 sayHello라는 함수를 정의할 때 인자로 callback까지만 쓰셨구요. 1. sayHello안의 인자로 들어간 callback은 callbackFunc이라는 함수와는 아예 다른 새로운 매개변수 함수일 뿐인가요? 2. 함수의 인자로는 함수만 들어갈 수 있는 건 아니고, 'x'와 같은 값?도 들어갈 수 있죠?? 그럼 함수는 인자가 함수인지 값인지를 어떻게 알고 처리하나요?
-
미해결스프링 핵심 원리 - 기본편
역할과 책임의 분리는 어느정도까지 해야하나요?
현재 강의에서는 역할과 책임의 분리를 위해 interface를 만들고 구현체를 작성 하시는데 구현체가 다른 구현체에서 딱 한번만 쓰인다면 역할과 책임을 나눌 필요가 없을까요?? 아니면 한번만 쓰인다는 보장이 없으니 무조건 역할과 책임을 나눠 구현을 해놓는 걸까요?
-
해결됨코딩은 실전이다! - Git알못을 위한 깃린이코스(Git, Github 실습위주)
슬랙 초대 부탁드립니다.
슬랙 초대 부탁드려요! altnfdudwo58@gmail.com
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
WSL 개발 환경 설정(링크) 위치
안녕햐세요. 윈도우에서 강의 실습을 하고 있습니다. sh 실행이 안되어 관련 내용을 찾다보니 윈도우는 개발환경을 설정해야 하는데 관련 설정방법을 알수가 없어서요. WSL 개발 환경 설정(링크) 라고 되어 있는데, 어디서 확인이 가능할까요?