이야기를 나눠요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
배열은 어떻게 입력받아야하는지 질문입니다!
안녕하세요 선생님!다름이 아니고 제가 알고리즘을 공부한지는 1달밖에 되지 않았지만(그것도 겨우 하루 2시간) 경험을 쌓아보고 싶어서 네이버 신입채용 tech를 지원해 합격은 생각하지 않고 오늘 코딩테스트를 치뤘는데요. 역시 아직 제겐 너무 어려워서 1문제만 테스트 케이스를 겨우 통과했습니다... 여기서 질문인 점이 사실 제가 풀 수 있었던 이 한 문제는 테스트 케이스의 입력이 흔히cin >> n >> k; 이런 형태여서 쉽게쉽게 늘 하던데로 풀 수 있었는데다른 문제 경우에는 테스트케이스의 입력이 배열로 받더라고요... 예를 들어서[[0, 0, 1], [1, 0, 1], [0,1,0]] 이런식으로요. 심지어 각 배열의 크기가 몇인지도 정해져 있지 않고 또, 배열의 개수조차 정해져 있지 않아서 도저히 입력을 어떻게 받아야할지 몰라 풀이만 적고 테스트를 돌려보진 못했습니다ㅠㅠㅠ 혹시 이런 입력같은 경우에는 코드를 어떻게 작성해야 입력을 받을 수 있나요?
-
처음 배우는 리액트 네이티브
Tab.Navigation 관련
react-navigation 버전이 6 이상인 분들은Tab.Navigator의 style이 작동하지 않을텐데요.아래와 같이 수정하시길 바랍니다.style -> tabBarStyleactiveTintColor -> tabBarActiveinactiveTintColor -> tabBarInactiveTintColortabBarOptions 이 어떻게 바뀌었는지공식문서에 나와있네요.https://reactnavigation.org/docs/upgrading-from-5.x/#the-tabbarvisible-option-is-no-longer-present
-
개발자 취준생들💻 주목해주세요!
개발자로 취업을 준비하시는 취준생 여러분!- 왜 나는 계속 서류에서 떨어질까?- 내 포트폴리오도 충분할까?- 내가 작성한 코드가 현업에서도 쓰일까?등 여러가지 고민 많으시죠? Dev Dive를 통해 그 고민 해결하세요!네카라쿠배 출신 개발자들이 현재 여러분의 포트폴리오의 문제점을 파악하고, 취업에 필요한 스펙을 만들어드립니다!밀착 코드리뷰를 통해 포트폴리오 프로젝트의 수준을 끌어올리고!다양한 모의 면접을 통해서 실전 인터뷰 대비까지 해드립니다.강사진- 라인플러스 7년차 P강사- 우아한 형제들 7년차 J강사- 비바리퍼블리카 4년차 C강사자신있는 프로젝트가 없어 github주소를 제출하기 꺼려지는 분신입 백엔드 개발자에게 기대하는 프로젝트 수준이 궁금하신 분모두 신청하시고 이번 하반기 취업 준비하세요!아래 오픈채팅방으로 연락주시면 자세한 상담 도와드립니다 😊https://open.kakao.com/o/sHs6UwTe
-
코딩테스트 [ ALL IN ONE ]
안녕하세요 개발자님
대기업을 목표로 코딩 테스트 준비 하고 있는 개발자의 비법 노트까지 열심히 하고 프로그래머스를 통해 1단계는 다 풀고 2단계를 풀려고 하는 취준생 입니다. 비법 노트 공부 방식 문제를 2단계를 해결하니 난이도가 많이 올라가서 손도 못 대고 시간을 보내는 경우가 많습니다.. 나름 기초를 잘 닦아서 1단계를 풀었는데 2단계 부터 공부하는 방법을 바꿔야 할까요.. 너무 막막해서 이렇게 두서 없이 질문 드립니다..좋은 방법 있으면 공유 부탁드립니다.ㅎㅎ
-
사이드 프로젝트 진행시 디자인
크게 운영/기획/디자인/개발 이렇게 있는데.. 디자이너가 1명이고 디자인컨셉 정해진것이 없을때는 디자이너에게 디자인을 다 맡기시나요? 피드백은 받아도 컨셉부분 관련해서요.
-
스프링 핵심 원리 - 기본편
start.spring.io
해당 스프링을 누군가에게 알려주고 있는 데,start.spring.io의 dependency에서 왜 모든 JAR 라이브러리가 검색이 안되는지 물어보네요..어떻게 대답해야 할까요?예를들어 p6spy 라이브러리implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.7.1'
-
GetQueuedCompletionStatus() 에러 핸들링
안녕하세요 현재 iocp로 게임 서버 구현 중에 있습니다.제가 현재 고민 중인 부분은 GetQueuedCompletionStatus()에서 64에러(상대방이 소켓 종료)할 때 그 후처리에 관해 문제가 있어 문의 드립니다. 현재 서버에서 30틱 주기로 패킷을 브로드 캐스팅 중입니다. 이때 클라이언트를 종료할 경우, 기존에 send 명령이 들어있던 것들이 전부 false를 리턴하면서 저 스위치의 default 문에 들어가게 되고 Disconnect를 통해 unordered_map<int sid, SeverSession*>로 관리하고 있던 서버 세션을 맵에서 삭제하는 방식으로 진행하고 있습니다. 그런데 이 Disconnect부분에서 delete를 여러 번 수행하다 보니 여기서 더블딜리트 문제로 서버가 터져버리는 현상이 자꾸 발생합니다. 이점을 어떻게 개선하면 좋을까요...? shared_ptr를 사용해보려고 했다가, shared_ptr에 관한 이해가 부족해서 구조 변경을 실패했습니다..전반적인 iocp 코드는 서버 강의를 들으면서 참고 했습니다.-Disconnect 부분void SIocpCore::Disconnect(int32 sid) { if (_clients[sid] == nullptr || (_clients.find(sid) == _clients.end())) return; if(sid >= 0 && _clients[sid]->_myRm != -1) _rmgr->ExitRoom(sid, _clients[sid]->_myRm); { std::unique_lock<std::shared_mutex> disconnectLock(_lock); std::cout << "[" << _clients[sid]->_cid << "] Disconnected" << std::endl; _cList.erase(_clients[sid]->_cid); _clients.erase(sid); } }-GetQueuedCompletionStatus 에러 핸들링 부분bool IocpCore::Processing(uint32_t time_limit) // worker thread 기능 완료된 비동기 통지 명령들을 받아와 적절하게 처리한다. { DWORD numOfBytes(0); // 몇 바이트가 전송되었는가? IocpObject* iocpObject = nullptr; // 일감이 완료된 iocpObject의 종류를 복원하기 위한 IocpObject IocpEvent* iocpEvent = nullptr; // 일감이 완료된 iocpEvent의 종류(Accept인가?) BOOL retVal = ::GetQueuedCompletionStatus(_hIocp, OUT & numOfBytes, reinterpret_cast<PULONG_PTR>(&iocpObject), // 하지만 이렇게 iocpObject를 인자로 넘겨주게 되면, 다른 스레드에서 이 오브젝트를 삭제했을 때, 문제가 생길 수도 있다. --> //애초에 iocpEvent에서 해당 iocp객체들에 관한 정보(해당 이벤트를 호출한 주인 iocp객체들)을 담고 있도록하자. OUT reinterpret_cast<LPOVERLAPPED*>(&iocpEvent), time_limit); if (!retVal) // 실패했다면 에러코드 확인 { int32 errCode = ::WSAGetLastError(); switch (errCode) { case WAIT_TIMEOUT: // time_limit이 INFINITE가 아닌 경우 ==> 나중에 다중 접속 시, 접속 시간에 따라 지정 가능 std::cout << "Time Out Plz Check Your Network Condition" << std::endl; return false; default: // TODO : 로그 찍기 errcode는 64가 뜹니다. { std::cout << "GetQueuedError " << ::WSAGetLastError() << "\n"; ServerSession* s = static_cast<ServerSession*>(iocpObject); Disconnect(s->_sid); } return false; } } ... // 성공 시 Processing
-
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
프로젝트를 시작할 때
안녕하십니까 강사님 강의 너무 잘 듣고 있습니다. 서버 개발에 필요한 일련의 과정을 정리하는데 많은 도움이 되고 있습니다.강의 내용에 대한 질문은 아닙니다. 이제 취업을 하기위한 포트폴리오를 만들 단계라고 생각하는데 개인 프로젝트를 할 때 가이드 라인을 여쭙고자 질문드립니다.실무에선 상황마다 물론 다르겠지만 강사님께선 보통 프로젝트 주제를 선정하고,요구사항을 정리한 다음테이블 설계를 하시고 그다음API 스펙을 정한 다음 개발에 착수하시나요?그리고 API 스펙을 정할 때 controller에 진입하기 위한 경로들을 모두 정하신 다음 본격적인 코드 작성을 하시는지도 궁금합니다.항상 개인 프로젝트를 하다 보면 프로젝트 시작 단계에서 고려하지 못한 부분들을 놓쳐 결국 프로세스가 뒤죽박죽 되고 헷갈리게 되는것 같더라구요..그래서 강사님의 개인적인 개발 프로세스를 슬쩍? 알려주시면 감사하겠습니다.좋은 강의 만들어주셔서 감사합니다:)그리고 프로젝트를 할 때 완성된 결과물을 보여주기 위해선 어느 정도의 ui도 필요할 것 같은데 이런 경우 rest api를 만들기 보단 ssr 애플리케이션을 만드는 것이 나을까요..?두서 없는 질문이라서 죄송합니다ㅎㅎ..
-
무료세미나 - [챗GPT 러닝데이 & MS 애저톤] 오프라인 리테일 기업의 ChatGPT 실무 사용기
최근 ChatGPT 등 생성형 AI의 기술의 발전속도가 비약적으로 발전한 바 있습니다. 본 세미나에서는 최근 각광받는 ChatGPT를 리테일 기업에서는 어떻게 기업내 활용 하고, 실무 서비스에 이용하고 있는지 공유 드리고자 합니다. 또한, 활용 사례를 바탕으로, Pain Point 극복방법과 기술적 활용 팁에 대하여 공유하도록 하겠습니다.💁 세미나 안내- 날짜 : 2023년 4월 18일 화요일- 시간 : 20:00 ~ 21:00- 장소 : 온라인- 접속링크 : https://aifactory.space/learning/2364/discussion/233🧑🏫 세미나 내용- 1차시 : 가이드 : 준비한 Power Point 자료와 Demo 를 위한 Jupyter Notebook 을 통하여 설명 및 시연을 드릴 예정입니다.🧑🚀 연사 소개- 연사: 김훈동 (Korea Spark User Group 운영진 - 페이스북 그룹)- Microsoft AI MVP- 현 이마트 Store AI 담당 임원- 임원도 코딩의 감을 잃어서는 기술 판단력을 유지할 수 없다는 철칙을 가지고 있으며, 최근에는 강화학습 기반 자동매매시스템 개발이라는 취미생활을 하며, 주말 카폐 코딩을 즐기고 있습니다.
-
경기도형 대학생 취업브리지 기업 현장실습 참여자 모집(~4/26)
안녕하세요 경기도일자리재단입니다.경기도형 대학생 취업브리지 기업 현장실습 참여자 모집을 진행하고 있으니 많은 참여 바랍니다(~4/26)잡아바 온라인 박람회 https://www.jobaba.net/entCntnts/exhb/exhbViewNew.do?seq=35
-
스프링부트에서 Environment 프로퍼티 NullPointerException
아래 코드와 같이 컨트롤러에서 Environment로 yaml의 프로퍼티 값을 꺼내서 사용하고 있었는데@Slf4j @RestController @RequestMapping("/users") public class RefreshAccessToken { @Autowired UsersService usersService; Environment env; public RefreshAccessToken(Environment env) { this.env = env; } @PostMapping("/refreshAccessToken") private ResponseEntity<?> getRefreshAccessToken(HttpServletRequest request, HttpServletResponse response) { // 요청 헤더에서 refresh token 읽기 String authorizationHeader = request.getHeader("refreshToken"); if (authorizationHeader == null || !authorizationHeader.startsWith(env.getProperty("authorization.token.header.prefix"))) { log.warn("RefreshToken validation error #1 : refreshToken header isn't exists"); throw new CustomApiException("refreshToken header isn't exists"); } ... } ... }env에서 NullPointerException이 발생하더라구요...UsersService와 Enviroment 모두 롬복 생성자 주입해도 안되고, @Value를 사용해보기도 했는데 역시 프로퍼티 값을 못가져왔습니다.yaml은 application.yml에서 각 서버의 profile을 잡도록 해서 사용 중이고, 모든 서버의 profile에 해당 프로퍼티 키, 밸류가 있습니다. 프로퍼티 키 오타도 없구요. env가 계속 원인을 알 수 없는 null이어서 결국 해당 컨트롤러를 삭제하고 새로 컨트롤러를 만들어봤더니 이번엔 이상없이 env 값이 잘 들어옵니다.😇아래 새로 만든 컨트롤러 코드엔 롬복 생성자 주입을 사용하고 있는데 혹시나 이게 원인인가 싶어 @Autowired로 필드 주입이랑 수동 생성자 주입 모두 해봤는데 아무런 문제가 없었습니다. 심지어 NPE가 발생했던 코드와 똑같이 짜봤는데 오류가 안생기더라구요.@Slf4j @RequiredArgsConstructor @RequestMapping("/users") @RestController public class RefreshTokenController { private final Environment env; private final IUsersService usersService; @PostMapping("/refreshAccessToken") public ResponseEntity<?> getAccessTokenByRefreshToken(HttpServletRequest request, HttpServletResponse response) { String secret = env.getProperty("token.secret"); String prefix = env.getProperty("authorization.token.header.prefix"); String expiration = env.getProperty("token.access_expiration_time"); // 토큰 읽어오기 String authorizationHeader = request.getHeader("refreshToken"); if (authorizationHeader == null || !authorizationHeader.startsWith(prefix)) { log.warn("RefreshToken validation error #1 : refreshToken header isn't exists"); throw new CustomApiException("refreshToken header isn't exists"); } ... } ... } 현재로선 Environment 초기화 시점이 꼬여서 null인게 가장 의심이 되긴는데 정확한 오류의 원인을 모르겠어서 질문드립니다.
-
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
추가질문)프로그래머스도 그냥 지원해볼까요?
프로그래머스 사실 가고싶은데 이런저런 사정이 있어서 12일 남았는데 급하게 준비해서 프로그래머스 부캠도 지원할까요?*이런저런사정제가 막학기라 학교 수업을 6월 중순까지 듣는 것도있고 html css js 자바언어 공부하긴 했는데 애매하고 sql은 하나도 모르고 코딩테스트 레벨은 좀 높은거같고 면접이랑 자소서는 하나도 준비 안돼서 지원 안했습니다
-
aws 서밋 양도 해주실분 구합니다 ㅠㅠㅠ
안녕하세요 ㅠㅠㅠㅠ 예비 개발자입니다 ㅠㅠㅠ 다름이아니라 aws 서밋이란걸 오늘 처음 알게 되었는데 마감이되서 신청을 못하네요ㅠㅠㅠ 혹시 양도 해주실분 있으신지 질문드립니다.ㅠㅠㅠㅠ
-
웹 게임을 만들며 배우는 React
회사 입사했을때
사수가 제로쵸님이면 참 좋을거 같아요
-
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
28살인데 5월마감하는 싸피 코테 준비하는게 맞을까요?
선생님 5월 8일까지 싸피 모집하던데 제가 28이고 전공자이긴 한데 바보라서 3월부터 6개월+@동안 취준하려고 하고 있는데 독학보다 싸피 가서 1년 반정도 준비하는게 더 나을려나요? 일단 붙고 생각하려고 일일 5백준 풀고있습니다 싸피코테까지 남은 시간 대충 1달+@라 일단 4주차 중반인데 161문제만 달달 배워서 가려고 계획중입니다.
-
Slack 클론 코딩[실시간 채팅 with React]
Access denied for user 'root'@'localhost' (using password: NO) 참고하세요
back 디렉토리 안에서 npm i 실행하고 .env 환경변수까지 잘 지정해서 저장했는데 npx sequelize db:create 명령어를 때리면 Access denied for user 'root'@'localhost' (using password: NO) 에러가 나와서 환장하고 있었습니다.그러다가 config.js에서 console.log(process.env)를 입력해서 넣어보니 process.env.MYSQL_PASSWORD이 아니라 process.env.PASSWORD에 .env의 패스워드가 들어있었습니다. 따라서 // 기존 "password": process.env.MYSQL_PASSWORD,// 신규 "password": process.env.PASSWORD,이렇게 고치면 해결될수도 있습니다.
-
20년 경력자의 알기쉬운 컴퓨터네트워크
토폴로지 트러블슈팅 도와주세요ㅜㅜ
복습 겸 만든 토폴로지가 제대로 동작을 안해서.. 도움 부탁드려요 ㅜㅜ 이틀째 고민중인데 답이 안나오네요..토폴로지 링크: https://drive.google.com/file/d/1h8WO5ultT23Ya_hyJ_Xqg0wpFQZ1sdR4/view?usp=sharing토폴로지 설명:HSRP 프로토콜을 이용한 L3 스위치 이중화, RADIUS 서버를 포함한 WAN, 무선 라우터를 이용한 무선 LAN 토폴로지 입니다. SW1의 gig0/1 을 shutdown시켜 HSRP가 잘 작동하는지 확인하려했습니다유선 LAN구간에서는 잘 작동했으나 무선 LAN에서는 계속 전송 오류가 났습니다발견한 문제점:Wireless Router0에서 게이트웨이 라우터(R1)으로 PDU 테스트 했을 때, SW2에서 메시지가 삭제됨을 확인했습니다. 목적지가 200.200.201.1로 설정되어 그런것 같습니다. 왜 유선 LAN은 HSRP가 잘 적용되어 새 경로인 200.200.202.1로 잘 경로 설정이 되었는데, 무선 LAN은 gig0/1이 다운되기 전의 경로를 계속 이용하는지 모르겠습니다...게이트웨이 라우터(R1)에서 Wireless Router0로 PDU 테스트 했을 때, Wireless Router0 에서 메시지가 삭제됨을 확인했습니다. 목적지가 200.200.200.7로 설정되어 있는데...Wireless Router 0의 Internet IP가 200.200.200.7이거든요. 왜 삭제 되었는지 알 수가 없습니다...RADIUS 서버(Server0)에서 Wireless Router0으로 PDU 테스트를 했을 때, R2에서 메시지가 삭제됨을 확인했습니다. 목적지가 192.168.200.1, 즉 무선LAN IP로 설정되서 인것 같습니다. (1) 왜 인터넷 IP 200.200.200.7 대신 무선 LAN IP 192.168.200.1로 설정이 된건지, (2) R2라우터에 무선 LAN정보를 Static으로라도 입력해야하는건지 궁금합니다.추가 궁금증:경로 재설정을 위해 무선 라우터를 껐다 켜서 초기화하는 방법도 생각해봤는데...Wireless Router0의 Physical Device View에 전원버튼이 없는것 같아요. 혹시 무선 라우터 WRT300N 전원 강제종료 할 수 있는 방법이 있나요?
-
코어 자바스크립트
블록스코프에 관한 질문
안녕하십니까 선생님자바스크립트를 공부하면서 이해가 가지 않는 부분이 있어서 질문 드리게 되었습니다.let v1 = 1;var v2 = 2;{ function func() { console.log(v1 + v2); } func = function() { console.log(v1*v2); } function func() { console.log(v1+v2); } let v1 = 3; var v2 = 4;}function func(){ console.log(v2-v1);}func(); 여기에서 func();을 실행하면 호이스팅 되어 v1 * v2의 값이 나오고 블록안의 맨밑에 function func()의 v1+v2를 주석처리하면 왜 곱셈이 안나오고 블록안에서의 맨위에있는 v1+v2의 값이 나오는지 궁금합니다.
-
무료세미나 - [챗GPT 러닝데이 & MS 애저톤] ChatGPT와 Azure가 만났을 때 : PDF 문서와 ChatGPT 연결하기 - 전미정
OpenAI의 인공지능 기술 GPT, ChatGPT, DALL.E를 독점한 마이크로소프트의 Azure 클라우드의 Azure OpenAI Service를 소개해드립니다. OpenAI의 API를 사용했을 때와 어떤 차이가 있는지 살펴보고 Azure의 Cognitive Search 서비스와 연계하여 PDF 포맷 문서에 대한 정보를 ChatGPT의 질의응답으로 쉽게 찾을 수 있는 방법을 데모로 보여드립니다.💁 세미나 안내 날짜 : 2023년 4월 11일 화요일시간 : 20:20 ~ 21:00장소 : 온라인접속링크 : https://aifactory.space/learning/2358/discussion/218🧑🏫 세미나 내용1차시 : Azure OpenAI Service 소개2차시 : Azure Cognitive Service 소개3차시 : Azure Cognitive 서비스와 ChatGPT 연동을 통한 검색 확장 데모🧑🚀 연사 소개연사: 전미정 (마이크로소프트 AI MVP)분야 : 케라스 코리아 운영진유튜브 : 친절한 AI 유튜브 운영 : https://www.youtube.com/c/ 친절한AINVIDIA DLI Ambassador
-
초보 백엔드 개발자 로드맵
배치처리랑 배포하기 제목이 바뀐거같아요
제목 그래도입니다.