묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 배치
spring batch 5 업데이트
이번 메이저 릴리즈에 대한 내용이 강의에 추가될 계획이 있는지 궁금합니다!
-
해결됨[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
라우터 셋팅 에러가 발생합니다.
강의 내용 따라하면서 하고 있는데요강사님하고는 다르게 아래와 같이 기본값을 넣어라정의되어 있지 않다? 아래 캡쳐와 같이 나오더라구요막혀서 더이상 진행이 안되고 있는데제가 한 부분 첨부 드리니 확인 부탁드릴께요!https://drive.google.com/file/d/1609gWfNr-B7Nvc9dlBW9ve_zGff89gd2/view?usp=sharing
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
npm run db:create
import { DataSource } from 'typeorm'; import dotenv from 'dotenv'; import { ChannelChats } from './src/entities/ChannelChats'; import { ChannelMembers } from './src/entities/ChannelMembers'; import { Channels } from './src/entities/Channels'; import { DMs } from './src/entities/DMs'; import { Mentions } from './src/entities/Mentions'; import { Users } from './src/entities/Users'; import { WorkspaceMembers } from './src/entities/WorkspaceMembers'; import { Workspaces } from './src/entities/Workspaces'; dotenv.config(); const dataSource = new DataSource({ type: 'mysql', host: 'localhost', port: 3306, username: process.env.DB_USERNAME, password: process.env.DB_PASSWORD, database: process.env.DB_DATABASE, entities: [ ChannelChats, ChannelMembers, Channels, DMs, Mentions, Users, WorkspaceMembers, Workspaces, ], migrations: [__dirname + '/src/migrations/*.ts'], charset: 'utf8mb4_general_ci', synchronize: false, logging: true, }); export default dataSource; 에러!Error: Can't add new command when connection is in closed stateat Connection._addCommandClosedState (/Users/minchankim/Desktop/study/nestToy/node_modules/mysql2/lib/connection.js:148:17)at Connection.end (/Users/minchankim/Desktop/study/nestToy/node_modules/mysql2/lib/connection.js:855:26)at Query.onResult (/Users/minchankim/Desktop/study/nestToy/node_modules/typeorm-extension/dist/database/driver/mysql.js:27:28)at Connection._notifyError (/Users/minchankim/Desktop/study/nestToy/node_modules/mysql2/lib/connection.js:228:17)at Connection._handleFatalError (/Users/minchankim/Desktop/study/nestToy/node_modules/mysql2/lib/connection.js:167:10)at Connection._handleNetworkError (/Users/minchankim/Desktop/study/nestToy/node_modules/mysql2/lib/connection.js:180:10)at Socket.emit (node:events:513:28)at Socket.emit (node:domain:489:12)at emitErrorNT (node:internal/streams/destroy:151:8)at emitErrorCloseNT (node:internal/streams/destroy:116:3) {fatal: true}계속 이렇게 나오는데 npm run db:create데이터베이스 정보확인 및 dotenv도 재설치 해봤는데 계속 안되서 질문드립니다!버전에 문제가 있나 싶어서 강사님 package.json에서 그대로 불러왔습니다!
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Dictionary로 대화창 만드는건 가능할까요?
Dictionary는 메모리를 내주고 성능을 취한다 했는데 큰게임에 쓰면 메모리 손해가 심할텐데 Dictionary로 대화창 만들 수 있을까요?
-
미해결
RFID와 beaglebone 보드 SPI & UART 통신 질문입니다.
RFID RC522 카드 태그 모듈의 여러 정보를 SPI 통신을 통해 beaglebone 보드로 전송하고 이를 다시 PC로 UART 통신하려고 합니다.그전에 SPI_DEVICE 경로 및 UART_DEVICE 경로 모두 확인했고 spidev까지 존재함을 확인한 상태입니다.이때 아래와 같이 코드를 완성했는데, 실제로 실행해보면 태그 감지나 정보가 통신되지 않습니다..안되는 이유를 조금 생각해보자면 그나마 유력한 용의자가 데이터 패턴 값 부분일 것 같은데,AVR과제 도어락 : 네이버 카페 (naver.com)위 카페의 내용(URL 접속이 안되므로 "네이버 검색: RFID 0x52 0x93" 으로 찾을 수 있습니다.)과 MFRC522(RFID RC522) datasheet를 보고 넣었는데 무엇이 잘못작성되었을까요? #define SPI_DEVICE "/dev/spidev9.0" // SPI 장치 경로(X: 버스 번호, Y: 장치 번호) #define UART_DEVICE "/dev/ttyS0" // UART 장치 경로 #define SS_PIN 328 // SPI SS(Chip Select) GPIO 핀 번호 #define MOSI_PIN 339 #define MISO_PIN 340 #define SCK_PIN 338 #define MFRC522_PICC_TYPE_MIFARE_MINI 0x09 #define MFRC522_PICC_TYPE_MIFARE_1K 0x04 #define MFRC522_PICC_TYPE_MIFARE_4K 0x02 int spi_fd; int uart_fd; // UART 파일 디스크립터 추가 // SPI 통신 초기화 int SpiInit() { spi_fd = open(SPI_DEVICE, O_RDWR); // SPI 모드 설정 uint8_t mode = SPI_MODE_0; ioctl(spi_fd, SPI_IOC_WR_MODE, &mode); // 최대 전송 속도 설정 (1MHz) uint32_t speed = 1000000; ioctl(spi_fd, SPI_IOC_WR_MAX_SPEED_HZ, &speed); return 0; } // SPI 데이터 송수신 int SpiTransfer(uint8_t* tx_data, uint8_t* rx_data, int len) { struct spi_ioc_transfer spi_transfer = { .tx_buf = (unsigned long)tx_data, // 송신할 데이터가 저장된 버퍼 주소 지정 .rx_buf = (unsigned long)rx_data, // 수신된 데이터를 저장할 버퍼 주소 지정 .len = len, // 송수신할 데이터의 길이 지정 .delay_usecs = 0, .speed_hz = 1000000, .bits_per_word = 8, }; if (ioctl(spi_fd, SPI_IOC_MESSAGE(1), &spi_transfer) < 0) { printf("SPI transfer error\n"); return -1; } return 0; } // MFRC522 초기화 void MFRC522Init() { uint8_t tx_data[] = {0x0F}; // MFRC522에 softreset 명령어를 전송하기 위한 데이터 값 uint8_t rx_data[sizeof(tx_data)]; if (SpiTransfer(tx_data, rx_data, sizeof(tx_data)) < 0) { printf("Failed to send SPI message\n"); return; } usleep(5000); // 잠시 대기 } // 카드가 존재하는지 확인 int PiccIsNewCardPresent() { uint8_t tx_data[] = {0x52}; // MFRC522에 해당 함수를 전송하기 위한 데이터 패턴 값, 0x52 : find all the cards antenna area uint8_t rx_data[sizeof(tx_data)]; memset(rx_data, 0, sizeof(rx_data)); if (SpiTransfer(tx_data, rx_data, sizeof(tx_data)) < 0) { // SPI 통신 실패 시 카드 존재 여부 확인 불가를 판별하기 위함. printf("Failed to transfer data\n"); return -1; } return rx_data[1]; } // 카드 UID 정보 읽기 int PiccReadCardSerial(uint8_t* uid) { uint8_t tx_data[] = {0x93}; // MFRC522에 해당 함수를 전송하기 위한 데이터 패턴 값, 0x93 : election card uint8_t rx_data[sizeof(tx_data)]; memset(rx_data, 0, sizeof(rx_data)); if (SpiTransfer(tx_data, rx_data, sizeof(tx_data)) < 0) { printf("Failed to transfer data\n"); return -1; } memcpy(uid, &rx_data[1], 4); return 0; } // 카드 타입 가져오기 uint8_t PiccGetType(uint8_t sak) { // select Acknowledge, 카드 유형 정보를 나타내는 7비트 값 반환 return sak & 0x7F; } // 카드 타입명 가져오기 const char* PiccGetTypeName(uint8_t piccType) { switch (piccType) { case MFRC522_PICC_TYPE_MIFARE_MINI: return "MIFARE Mini"; case MFRC522_PICC_TYPE_MIFARE_1K: return "MIFARE 1K"; case MFRC522_PICC_TYPE_MIFARE_4K: return "MIFARE 4K"; default: return "Unknown"; } } // 16진수로 변환하여 출력 void printHex(uint8_t* data, uint8_t length) { for (uint8_t i = 0; i < length; i++) { printf("%02X", data[i]); } } // UART 초기화 int UartInit() { uart_fd = open(UART_DEVICE, O_RDWR | O_NOCTTY); if (uart_fd < 0) { printf("Failed to open UART\n"); return -1; } struct termios options; tcgetattr(uart_fd, &options); // import current setting // 전송 속도 설정 (9600 bps) cfsetispeed(&options, B9600); cfsetospeed(&options, B9600); // 데이터 비트, 패리티 비트, 정지 비트 설정 options.c_cflag &= ~PARENB; options.c_cflag &= ~CSTOPB; options.c_cflag &= ~CSIZE; options.c_cflag |= CS8; // 제어 옵션 설정 // options.c_cflag &= ~CRTSCTS; options.c_cflag |= CREAD | CLOCAL; options.c_iflag &= ~(IXON | IXOFF | IXANY); options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); options.c_oflag &= ~OPOST; tcsetattr(uart_fd, TCSANOW, &options); // apply new settings to uart_fd return 0; } // UART로 데이터 전송 void WriteUidUart(const char* data) { write(uart_fd, data, strlen(data)); } void delay(int seconds) { struct timespec req, rem; req.tv_sec = seconds; req.tv_nsec = 0; while (nanosleep(&req, &rem) == -1) { req = rem; } } int main() { // SS 핀 설정 int ss_gpio_fd; // fd : 파일 디스크립터로, 특정 파일에 접근할 때 사용하는 추상적인 값 char ss_gpio_path[64]; // SS 핀 열기 snprintf(ss_gpio_path, sizeof(ss_gpio_path), "/sys/class/gpio/gpio%d/value", SS_PIN); ss_gpio_fd = open(ss_gpio_path, O_WRONLY); // O_WRONLY : 파일을 쓰기 전용으로 열기 플래그 // SS 핀을 출력으로 설정 write(ss_gpio_fd, "out", 3); // or "in" // 파일 디스크립터에 out 이라는 문자열을 쓰기 위해, 데이터 길이인 3만큼을 파일에 씀. // MOSI 핀 설정 int mosi_gpio_fd; char mosi_gpio_path[64]; // MOSI 핀 열기 snprintf(mosi_gpio_path, sizeof(mosi_gpio_path), "/sys/class/gpio/gpio%d/value", MOSI_PIN); mosi_gpio_fd = open(mosi_gpio_path, O_WRONLY); // MOSI 핀을 출력으로 설정 write(mosi_gpio_fd, "out", 3); // MOSI value high write(mosi_gpio_fd, "1", 1); // MOSI 핀 닫기 close(mosi_gpio_fd); // MISO 핀 설정 int miso_gpio_fd; char miso_gpio_path[64]; // MISO 핀 열기 snprintf(miso_gpio_path, sizeof(miso_gpio_path), "/sys/class/gpio/gpio%d/value", MISO_PIN); miso_gpio_fd = open(miso_gpio_path, O_WRONLY); // MISO 핀을 입력으로 설정 write(miso_gpio_fd, "in", 2); // MISO 핀 닫기 close(miso_gpio_fd); // SCK 핀 설정 int sck_gpio_fd; char sck_gpio_path[64]; // SCK 핀 열기 snprintf(sck_gpio_path, sizeof(sck_gpio_path), "/sys/class/gpio/gpio%d/value", SCK_PIN); sck_gpio_fd = open(sck_gpio_path, O_WRONLY); // SCK 핀을 출력으로 설정 write(sck_gpio_fd, "out", 3); // SCK value high write(sck_gpio_fd, "1", 1); // SCK 핀 닫기 close(sck_gpio_fd); // SPI 통신 초기화 if (SpiInit() != 0) { return -1; } // MFRC522 초기화 MFRC522Init(); // UART 통신 초기화 if (UartInit() != 0) { return -1; } uint8_t nuidPICC[4] = {0}; // 이전 카드 UID 저장 while (1) { // 카드가 인식되었다면 다음으로 넘어가고 아니면 더이상 실행하지 않음 if (!PiccIsNewCardPresent()) continue; // ID가 읽혀졌다면 다음으로 넘어가고 아니면 더이상 실행하지 않음 if (!PiccReadCardSerial(nuidPICC)) continue; // SS 핀에 값 쓰기 (1로 설정) write(ss_gpio_fd, "1", 1); // high printf("PICC type: "); // 카드의 타입을 읽어옴 uint8_t piccType = PiccGetType(nuidPICC[0]); // 모니터에 출력 printf("%s\n", PiccGetTypeName(piccType)); // MIFARE 방식인지 확인하고 아니면 리턴 if (piccType != MFRC522_PICC_TYPE_MIFARE_MINI && piccType != MFRC522_PICC_TYPE_MIFARE_1K && piccType != MFRC522_PICC_TYPE_MIFARE_4K) { printf("Your tag is not of type MIFARE Classic.\n"); continue; } // 만약 바로 전에 인식한 RF 카드와 다를 경우. 즉, 카드의 중복 감지를 방지하기 위함. if (nuidPICC[0] != nuidPICC[0] || nuidPICC[1] != nuidPICC[1] || nuidPICC[2] != nuidPICC[2] || nuidPICC[3] != nuidPICC[3]) { printf("A new card has been detected.\n"); // ID를 저장해둠 memcpy(nuidPICC, nuidPICC, sizeof(nuidPICC)); // 모니터 출력 printf("The NUID tag is:\n"); printf("In hex: "); // 16진수로 변환하여 출력 printHex(nuidPICC, sizeof(nuidPICC)); printf("\n"); // UART를 통해 카드 정보를 PC로 전송 char uartData[9]; snprintf(uartData, sizeof(uartData), "%02X%02X%02X%02X\n", nuidPICC[0], nuidPICC[1], nuidPICC[2], nuidPICC[3]); WriteUidUart(uartData); } // SS 핀에 값 쓰기 (0로 설정) write(ss_gpio_fd, "0", 1); // low // PICC 종료 // usleep(3000000); delay(3); if (piccType > 0) { break; } } close(spi_fd); close(uart_fd); // SS 핀 닫기 close(ss_gpio_fd); return 0; }
-
미해결AWS Certified Advanced Networking - Specialty 자격증 준비하기
수강기간 연장 요청드립니다!
강의를 결제하고 나서 업무가 바빠 이제야 학습중인데, 수강기간이 부족합니다 ㅠㅠ 연장 요청드립니다 :)
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
10.6 사용량 제한 질문
nodebird-api 미들웨어 index.js 타입이 any로 떠서 프리미엄이 체크가 안되고 계속 제가 작성한 게시글정보만 뜹니다 사용량제한 어떻게 하나요? ㅠㅠ const jwt = require("jsonwebtoken"); const rateLimit = require("express-rate-limit"); const User = require("../models/user"); exports.isLoggedIn = (req, res, next) => { if (req.isAuthenticated()) { next(); } else { res.status(403).send("로그인 필요"); } }; exports.isNotLoggedIn = (req, res, next) => { if (!req.isAuthenticated()) { next(); } else { const message = encodeURIComponent("로그인한 상태입니다."); res.redirect(`/?error=${message}`); } }; exports.verifyToken = (req, res, next) => { try { res.locals.decoded = jwt.verify( req.headers.authorization, process.env.JWT_SECRET ); return next(); } catch (error) { if (error.name === "TokenExpiredError") { return res.status(419).json({ code: 419, message: "토큰이 만료되었습니다.", }); } return res.status(401).json({ code: 401, message: "유효하지 않은 토큰입니다.", }); } }; exports.apiLimiter = rateLimit({ windowMs: 60 * 1000, // 1분 max: 1, handler(req, res) { res.status(this.statusCode).json({ code: this.statusCode, // 기본값 429 message: "1분에 한 번만 요청할 수 있습니다.", }); }, }); exports.apiLimiter = async (req, res, next) => { let user; if (res.locals.decoded) { user = await User.findOne({ where: { id: res.locals.decoded.id } }); } rateLimit({ widowMs: 60 * 1000, max: user?.type === "premium" ? 10 : 1, handler(req, res) { res.status(this.statusCode).json({ code: this.statusCode, message: "1분에 열 번만 요청 할 수 있습니다...", }); }, })(req, res, next); }; exports.deprecated = (req, res) => { res.status(410).json({ code: 410, message: "새로운 버전이 나왔습니다. 새로운 버전을 사용하세요", }); };
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8주차 개념 강의 중 질문입니다.
강사님 안녕하세요,8주차 개념강의 중 질문입니다.[알고리즘 강의] 8주차. 펜윅트리와 최단거리.. : 네이버블로그 (naver.com)강의 노트 웹페이지에 2번째 그림에서,"2~8 까지의 최소인덱스 3번째 4번째 6번째 인덱스만 비교해서 최소 인덱스를 반환" 이라는 말이 잘 이해가 안되어서요.그림상 파란 화살표 표시한 것이 3,4,6 인덱스를 의미 하는 것인지 그리고, 3,4,6째 인덱스를 비교한다는 것이 왜 필요한 것인지 궁금합니다.제가 이해한 것은 2~8 까지의 최소 인덱스는 Level 1 에 저장된 Index 3 만 확인하여 Index 3 에 위치한 "1" 이 최소값인 것으로 이해를 했거든요. 강의 노트 웹페이지에서 5번째 그림에서,파랑 노드를 만들면 된다고 갑자기 설명을 하시는데, (강의 3:03 구간)그림상 주황색 노드(3,4,10,11)의 의미, 파랑색 노드(1,2,3,4)의 의미에 대한 안내도 없고... 그림에 표시된 화살표도 어떤 연산이 수행되었고, 화살표로 연결된 두 노드의 관계에 대한 설명도 없어 이해가 되지 않습니다.관련 내용 상세 설명 좀 다시 부탁드리겠습니다.
-
해결됨OpenGL 쉐이더 (2) shader 3D 그래픽스 - 프로그래머블 파이프라인, 기하학 기초, 삼각형 출력
22-6 varing colors 예제 질문
안녕하세요.22-colored-tri.vert 코드를 보다가프리미티브 단계에 버텍스 좌표도 out으로 넘겨야 할 거 같은데gl_postion에 대입하기때문에 따로 안 넘기는건가요 ?버텍스 좌표를 넘길때pre-defined out을 사용할때랑 varying register out을 사용할때 차이와 용도가 궁금합니다 !
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
Splash intent-filter
splash activity 에 intent-filter 옮기는 부분에서 자꾸 오류가 나요.22년도 커뮤니티 글을 보고 수정해보려 했는데, 현재는 meta 부분도 없고 true 로 바꾸어도 실행되지 않습니다.사진은 옮기기 전 원래 상태입니다.
-
해결됨OpenGL 쉐이더 (2) shader 3D 그래픽스 - 프로그래머블 파이프라인, 기하학 기초, 삼각형 출력
파이프라인에 대해서
안녕하세요. 질문이 한개 더 있습니다 !fragment shader 역할이 헷갈리는데..이미 fixed hardware 단계에서 bi-linear interpolation을 통해서 색깔을 채워준다면frament shader는 픽셀+관련정보를 저장만 하는 역할인가요?이미 색에 관한 정보를 입력했으면 프래그먼트 셰이더는 생략해도 되는것인지 궁금합니다...
-
미해결[웹 개발 풀스택 코스] Node.js 프로젝트 투입 일주일 전 - 기초에서 실무까지
현재 mysql 연동하기 강의를 듣고 있는데, ..
안녕하세요.현재 mysql 연동하기 강의를 듣고 있는데, sql 워크벤치에서 어떻게 칼럼을 넣어야 하는지 알수있을까요?
-
미해결
슬라이드 이미지 범위가 이상합니다.
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>A타입</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="container"> <header> <div class="header-logo"></div> <div class="navi"> <ul class="menu"> <li> <a href="#none">sub-menu1</a> <div class="sub-menu"> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> </div> </li> <li> <a href="#none">sub-menu2</a> <div class="sub-menu"> <a href="#none">sub-menu2</a> <a href="#none">sub-menu2</a> <a href="#none">sub-menu2</a> <a href="#none">sub-menu2</a> </div> </li> <li> <a href="#none">sub-menu3</a> <div class="sub-menu"> <a href="#none">sub-menu3</a> <a href="#none">sub-menu3</a> <a href="#none">sub-menu3</a> <a href="#none">sub-menu3</a> </div> </li> <li> <a href="#none">sub-menu4</a> <div class="sub-menu"> <a href="#none">sub-menu4</a> <a href="#none">sub-menu4</a> <a href="#none">sub-menu4</a> <a href="#none">sub-menu4</a> </div> </li> </ul> </div> </header> <div class="slide"> <div> <a href="#none"><img src="images/slide-01.jpg" alt=""></a> <a href="#none"><img src="images/slide-02.jpg" alt=""></a> <a href="#none"><img src="images/slide-03.jpg" alt=""></a> </div> </div> <div class="items"> <div class="news"> <div class="tab-inner"> <div class="btn"> <a href="#none">공지사항</a> </div> <div class="tab1"> <a class="open-modal" href="#none"><em>공지사항공지사항공지사항공지사항공지사항</em> <b>2023.05.05</b></a> <a href="#none"><em>공지사항공지사항공지사항공지사항공지사항</em> <b>2023.05.05</b></a> <a href="#none"><em>공지사항공지사항공지사항공지사항공지사항</em> <b>2023.05.05</b></a> <a href="#none"><em>공지사항공지사항공지사항공지사항공지사항</em> <b>2023.05.05</b></a> </div> </div> </div> <div class="gallery"> <div class="btn"> 갤러리 </div> <div class="tab2"> <a href="#none"><img src="images/gallery-01.jpg" alt=""></a> <a href="#none"><img src="images/gallery-02.jpg" alt=""></a> <a href="#none"><img src="images/gallery-03.jpg" alt=""></a> </div> </div> <div class="shortcut"></div> </div> <footer> <div class="footer-logo"></div> <div class="copyright"></div> <div class="sns"></div> </footer> </div> <div class="modal"> <div class="modal-content"> <h2>스트리밍 서버 이전으로 서비스 장애</h2> <p>위 내용을 보시면 제법 큰 작업이었음을 알 수 있습니다. <br> 특히 문자셋의 변경에 따라 기존의 DB, data, 웹사이트 솔루션 등의 커스트마이징 등에 상당한 어려움이 있었고, <br> 이에 따른 일부 접속 오류가 있을 수 있었음에 양해를 구합니다.<br> 특히 인터넷익스플로러 11로 접속하셨을 경우 일부 문제은행 목차가 출력되지 않았을 수도 있습니다.<br><br> 서버 이전 작업으로 고객님들께 불편을 드려서 대단히 죄송합니다. 정상 운영되도록 최선을 다하겠습니다. 감사합니다.<br> </p> <a class="close-modal" href="#none">닫기</a> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script> </body> </html> @charset "utf-8"; body { color: #000; font-size:15px; background-color: #fff; margin:0; } a { text-decoration: none; color:inherit; } .container {width :1200px; border:1px solid #000; margin:auto;} header {height:100px; border:1px solid red; position:relative;} .slide {height:300px;} .items {height:250px;} footer {height:100px;} /* header */ header > div { height:100px; } .header-logo { border:1px solid #000; width:200px; float:left; } .navi { /* border:1px solid #000; */ width:600px; float:right; margin-right:20px; margin-top:55px; } .menu { } .menu li { list-style: none; float:left; width:25%; } .menu li > a { display: block; padding:5px; background-color: #fff; text-align: center; } .menu li:hover > a { background-color: #000; color: #fff; } .sub-menu { display: none; } .sub-menu a { display:block; padding:5px; background-color: #fff; text-align: center; } .sub-menu a:hover { background-color: #000; color:#fff; } /* slide */ .slide { position:relative; overflow:hidden; } .slide > div { font-size: 0; width:3600px; position:absolute; top:0; left:0; float: left; animation:slide 10s linear infinite; } @keyframes slide { 0% {left:0;} 30% {left:0;} 35% {left:-1200px;} 65% {left:-1200px;} 70% {left:-2400px;} 95% {left:-2400px;} 100% {left:0;} } /* items */ .items > div { height:250px; float:left; box-sizing: border-box; } .news { width:400px; border:1px solid #000; } .btn { display: inline-block; padding:5px; border: 1px solid #000; width:100px; text-align: center; } .tab1 {} .tab1 a {display:block; padding:5px;} .tab1 a em { width:70%; float:left; font-style:normal; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; } .tab1 a b { width:30%; float:right; } .gallery { width:400px; border:1px solid red; } .tab2 { text-align: center; } .tab2 a {} .tab2 img { width:120px; } .shortcut { width:400px; border:1px solid green; } /* footer */ footer > div { height:100px; float:left; box-sizing:border-box; } .footer-logo { width:200px; background-color: #000; } .copyright { width:800px; background-color: aqua; } .sns { width:200px; background-color: green; } /* modal */ .modal{ position:absolute; top:0; left:0; background-color: rgba(0, 0, 0, 0.5); width:100%; height:100%; display: none; } .modal-content { position:absolute; top:50%; left:50%; transform: translate(-50%,-50%); background-color: #fff; height:350px; } .modal-content a { display: block; padding:20px; float:right; border:1px solid #000; } 기능 연습중에 슬라이드 이미지가 정사각형으로 나오는 현상인데 어디가 문제인지 보이지가 않습니다^^;;
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
안녕하세요 강의자료 부탁드립니다
안녕하세요강의 자료가 없어서 자료 부탁드립니다.gng626@naver.com
-
해결됨mongoDB 기초부터 실무까지(feat. Node.js)
리팩토링 강의에서 라우터 리팩토링 전개연산자(...)
선생님 안녕하세요. 좋은강의 정말로 감사드립니다.리팩토링 강의에서 라우터들을 Index.js로 통합시켜줄 때 module.exports = { ...require("./userRouter"), ...require("./blogRouter"), ...require("./commentRouter"), }; 이렇게 전개연산자(...)를 작성해주셨는데요. 이유가 뭘까요? 이렇게 안하고 그냥 module.exports = { require("./userRouter"), require("./blogRouter"), require("./commentRouter"), }; 이렇게 해주려고 하니 에러가 발생하더라구요. 이유가 뭘까요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
다대일 단방향으로 save시
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요 질문 드리고 싶은건 팀과 멤버 엔티티를 DB에 저장하기 위한 상황입니다.한번의 save 코드로 두번의 INSERT 쿼리를 내보내겠습니다. 팀 save, 멤버 save (멤버 ManyToOne)팀.add멤버(멤버) 후 팀 save (팀 OneToMany, 멤버 ManyToOne)멤버.set팀(팀) 후 멤버 save (멤버 ManyToOne)이런 3가지 방법이 가능할 것 같습니다.3번의 경우에는 멤버에만 @ManyToOne으로 관계지정하고 cascade = CascadeType.ALL 옵션을 추가해서 팀에도 쿼리가 발생하게 되는데요이런 예시(Case. 3)가 웹에는 흔하지 않다는게 의문입니다.만약 cascade 옵션을 이렇게 사용해선 안되는 것인지. (자식엔티티로 부모 엔티티를 관여하는) 혹은 권장되는 방식인지.또 여러개의 테이블이 산재된 현업에서 어떤 방식이 권장되는지.이때 판단 기준은 어때야 하는지 궁금합니다.혹시 이런 내용을 책에서 다루고 있거나, 다른 강의에서 다루고 있다면 추천해주시면 구입해서 공부하고 싶습니다.항상 학생들을 위해 힘써주시고 좋은 강의 만들어주셔서 감사합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
could not instantiate id generator 에러가 발생합니다.
JpashopApplication 실행 시 다음과 같은 에러가 발생합니다.. Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.domain.OrderItem] 본 파일에서는 삭제했는데 이전에 MemberRepositoryTest 실행 시에도 같은 에러가 발생해서 @GeneratedValue에 옵션설정을 추가했더니 @GeneratedValue(strategy = GenerationType.IDENTITY) 작동이 되더라구요. 이번에도 다 넣어줘야 하는건지 아니면 다른 이유 때문인지 궁금하여 글 남깁니다. 압축파일 링크 입니다. https://drive.google.com/file/d/1Uj__VLj3glPm6Uor6-Gyr6dX2i8kOQcc/view?usp=share_link 감사합니다 ^^
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemoryMemberRepositoryTest 의 findByName 테스트케이스의 NPE 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요, 강의 잘 듣고 있습니다. 테스트케이스 강의가 중요하다고 하셔서, 주의 깊게 듣고 따라하고 있는데MemoryMemberRepositoryTest 의 findByName 테스트케이스만 NPE 에러가 발생하고 있습니다. 선생님이 사용하신 코드와 동일하게 작성하였음에도불구하고 자꾸 에러가 나고 있어, 원인을 알고 싶어 질문 올립니다. .프로젝트 파일 공유드립니다.https://drive.google.com/file/d/1s5OsZ8wBD6Pb-Rg2do2vJNzW8hYFZg35/view?usp=sharing감사합니다. '
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Controller, @GetMapping("hello")에 no usage가 뜨는데 해결할 수 있는방법이 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
40번 교집합 문제
#include <iostream> using namespace std; int main() { int i, j, tmp, a[30001],a1, b[30001],b2, c[30001], cnt=0; cin >> a1; for (i = 0; i < a1; i++) { cin >> a[i]; } cin >> b2; for (i = 0; i < b2; i++) { cin >> b[i]; } for (i = 1; i < a1; i++)//a { tmp = a[i]; for (j = i - 1; j>0 ; j--) { if (a[j] > tmp) { a[j + 1] = a[j]; } else { break; } //조건에 안맞으면 바로 밑으로 넘어가게 해야한다. } a[j + 1] = tmp; } for (i = 1; i < b2; i++)//b { tmp = b[i]; for (j = i - 1; j > 0; j--) { if (b[j] > tmp){ b[j + 1] = b[j]; } else { break; } } b[j + 1] = tmp; } for (i = 0; i < a1; i++) { for (j = 0; j < a1; j++) { if (a[i] == b[j]) { c[i] = a[i]; cnt++; } } } for (i = 0; i < cnt; i++) { cout << c[i]; } return 0; } 안녕하세요 선생님 제가 삽입정렬 방식으로 하고 코들르 구현하였는데 출력은 -로 나옵니다.어디서 잘못된거인지를 못찾겠어서 질문 드립니다.