묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
magic_quotes_gpc
서버의 magic_quotes_gpc 가 On이면 sql injection 공격은 아예 못하는 건가요
-
미해결3. 웹개발 코스 [스프링 프레임워크+전자정부 표준프레임워크]
오류낫는데요 멘붕이네요 파하~~~~~~~~~~~~~~~~~>...................
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. HTTP Status 500 - Request processing failed; nested exception is org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors type Exception report message Request processing failed; nested exception is org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors description The server encountered an internal error that prevented it from fulfilling this request. exception org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors Field error in object 'pageVo' on field 'pageNo': rejected value []; codes [typeMismatch.pageVo.pageNo,typeMismatch.pageNo,typeMismatch.int,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [pageVo.pageNo,pageNo]; arguments []; default message [pageNo]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'pageNo'; nested exception is java.lang.NumberFormatException: For input string: ""] org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors Field error in object 'pageVo' on field 'pageNo': rejected value []; codes [typeMismatch.pageVo.pageNo,typeMismatch.pageNo,typeMismatch.int,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [pageVo.pageNo,pageNo]; arguments []; default message [pageNo]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'pageNo'; nested exception is java.lang.NumberFormatException: For input string: ""] org.springframework.web.method.annotation.ModelAttributeMethodProcessor.resolveArgument(ModelAttributeMethodProcessor.java:111) org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:75) org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:156) org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:117) org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578) org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) note The full stack trace of the root cause is available in the Apache Tomcat/8.0.32 logs. Apache Tomcat/8.0.32
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
질문이욤
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. import requests from bs4 import BeautifulSoup import openpyxl fpath = r'C:\Users\Lenovo\Desktop\content\참가자_data.xlsx' wb = openpyxl.load_workbook(fpath) ws=wb.active #현재 활성화된 시트 선택 codes = ["000660","035720","005930"] row=2 for code in codes: url=f"https://finance.naver.com/item/sise.naver?code={code}" response = requests.get(url) html=response.text soup=BeautifulSoup(html,'html.parser') price=soup.select_one("#_nowVal").text price=price.replace(',','') print(price) ws=[f'B{row}']=int(price) row=row+1 wb.save(fpath) cannot assign to f-string expression이런 에러가 뜨면서 작동이 안됩니다 ㅜㅜ
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
질문이요 ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의 잘 듣고있습니다 다름이 아니라 엑셀부분을 코드 짜고 실행하면 엑셀 파일은 만들어지는데 안에 데이터셀이 텅 비어있습니다...ㅠㅠ
-
해결됨만들면서 배우는 리액트 : 기초
한글을 입력할때는 return안해주나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결Axure RP 9,10 - 서비스 기획자를 위한 최적의 프로토타이핑 툴
버튼을 눌렀을 때 숨겨뒀던 버튼이 생성되고 하단의 필드들은 자연스럽게 밀려 내려가는...?
안녕하세요 열심히 수강중인 학생입니다! :) 회원가입 폼을 만들고 있는데, [인증번호 전송] 버튼을 누르면 -> 하단의 [인증번호 입력필드], [재전송필드], [인증하기] 버튼이 나타나게 하고 싶습니다. [인증번호 입력필드], [재전송필드], [인증하기] 를 숨김처리후 [인증번호 전송] 를 누르면 나타나게 설정했는데, [인증번호 전송] 버튼을 누르기 전에는 오른쪽 사진처럼 이메일과 휴대전화 사이에 공백이 생기더라구요 [인증번호 전송] 을 누르고 숨겼던 필드들이 나오면 자연스럽게 [휴대전화] 가 아래로 내려가는 것을 어떻게 구현할 수 있을까요?? ㅠㅠ
-
미해결실전! Querydsl
applyPagination 메소드 관련 질문입니다.
JPAQuery를 raw 타입으로 쓰지 말고 <T>를 붙여서 쓰면 더 좋지 않나요? protected <T> Page<T> applyPagination(Pageable pageable, Function<JPAQueryFactory, JPAQuery<T>> contentQuery) { JPAQuery<T> jpaQuery = contentQuery.apply(getQueryFactory()); List<T> content = getQuerydsl().applyPagination(pageable, jpaQuery).fetch(); return PageableExecutionUtils.getPage(content, pageable, jpaQuery::fetchCount);}
-
해결됨처음 배우는 리액트 네이티브
Object.values requires that input parameter not be null or undefined.
IconButton 만들기에서 Object.values requires that input parameter not be null or undefined. 라는 오류가 나타나는데 왜 그런걸까요 ? 도움 부탁드립니다. IconButton.propTypes = { icon: PropTypes.oneOf(Object.values(icons)).isRequired, onPress: PropTypes.func, }; 위 코드를 빼니까 정상적으로 동작하네요 .. icons를 undefined으로 인식하는데 무엇이 잘못된걸까요? * 파일구조 theme.js export const theme = { background: '#111111', itemBackground : '#333333', main: '#778bdd', text: '#eeeeee', done: '#666666' }; Input.js import React from 'react'; import styled from 'styled-components/native'; import {Dimensions, useWindowDimensions} from 'react-native'; import PropTypes from 'prop-types'; const StyledInput = styled.TextInput.attrs(({theme}) => ({ placeholderTextColor: theme.main, }))` width: ${({width}) => width - 40}px; height: 60px; margin: 3px 0; padding: 15px 20px; border-radius: 10px; font-size: 25px; background-color: ${({theme}) => theme.itemBackground} color: ${({theme}) => theme.text}; `; const Input = ({placeholder, value, onChangeText, onSubmitEditing}) => { // const width = Dimensions.get('window').width; const width = useWindowDimensions().width; return <StyledInput width={width} placeholder={placeholder} maxLength={500} autoCorrect={false} autoCapitalize="none" returnKeyType="done" keyboardAppearance="dark" onChangeText={onChangeText} onSubmitEditing={onSubmitEditing} value={value}></StyledInput> } Input.propTypes = { placeholder: PropTypes.string, value: PropTypes.string.isRequired, onChangeText: PropTypes.func.isRequired, onSubmitEditing: PropTypes.func.isRequired } export default Input; App.js import { StatusBar } from 'react-native' import React, {useState} from 'react'; import styled, {ThemeProvider} from 'styled-components/native'; import {theme} from './theme'; import Input from './components/Input' import IconButton from './components/IconButton' import { icons } from './icons'; /** Styled Component */ const Container = styled.SafeAreaView` flex: 1; background-color: ${({theme}) => theme.background}; align-items: center; justify-content: flex-start; `; const Title = styled.Text` font-size: 40px; font-weight: 600; color: ${({theme})=> theme.main}; width: 100%; align-items: flex-end; padding: 0 20px; `; export default function App() { const addTask = () => { alert(newTask); setNewTask(''); } const [newTask, setNewTask] = useState(''); return ( <ThemeProvider theme={theme}> <Container> <Title>TODO List</Title> <Input placeholder="+ Add a Task" value={newTask} onChangeText = {text => setNewTask(text)} onSubmitEditing={addTask}></Input> <StatusBar barStyle= "light-content" backgroundColor={theme.background} /> <IconButton icon={icons.check} onPress={()=>alert('check')}></IconButton> {/* <iconButton icon={icons.uncheck} onPress={()=>alert('uncheck')}></iconButton> <iconButton icon={icons.edit} onPress={()=>alert('edit')}></iconButton> <iconButton icon={icons.delete} onPress={()=>alert('delete')}></iconButton> */} </Container> </ThemeProvider> ); } icon.js import Check from '../assets/icons/check.png'; import Delete from '../assets/icons/delete.png'; import Uncheck from '../assets/icons/uncheck.png'; import Edit from '../assets/icons/edit.png'; export const icons = { check: Check, uncheck: Uncheck, edit: Edit, delete: Delete, }; iconButton.js import React from 'react'; import {TouchableOpacity, View} from 'react-native'; import styled from 'styled-components/native'; import PropTypes from 'prop-types'; import icons from '../icons' const Icon = styled.Image` width: 30px; height: 30px; margin: 10px; tint-color: ${({theme})=> theme.text}; `; const IconButton = ({icon, onPress}) => { return ( <TouchableOpacity onPress={onPress}> <View> <Icon source={icon}></Icon> </View> </TouchableOpacity> ); }; IconButton.propTypes = { icon: PropTypes.oneOf(Object.values(icons)).isRequired, onPress: PropTypes.func, }; export default IconButton;
-
미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
아두이노 mqtt에서 값을 읽을수 없습니다.
포트 연결확인, 와이파이 id확인, 비밀번호 확인, ip 주소 확인했습니다. 구글링을 열심히 하였으나 답이 안나오네요 ㅜㅜ 혹시 pubsub 버전이 달라서 에러가 나는가 해서 2.8.0 최신버전에서 2.7.0 강사님 버전으로 다운그래이드 했으나 여전히 null값만 전송되고 있습니다. 도와주세요 ㅜㅜ...
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
import kotlin.random.Random 오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 주사위앱 완성 - 조건문(if else), random 함수 강의 듣는 중 제 안드로이드 스튜디오에서 import kotlin.random.Random 오류가 발생했습니다. 강의 5:15 부분에서 Random.nextInt 를 사용하는 부분에서 nextInt 함수가 계속 빨간글씨로 사용하지 못하게 돼있고 따로 import kotlin.random.Random 로 import해보려 했으나 실패했습니다. 제 코틀린 환경에 문제가 있는 것 같은데 어떻게 수정해야할까요ㅠㅠ 아래에 사진 첨부했습니다. 감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
점프 관련 질문 드립니다.
안녕하세요 Rookiss 강사님 점프 관련하여 질문드립니다. AddForce이용하여 JumpPower을 적용하고 있는데 Velocity의 y는 변화하고 있으나, 플레이어의 y포지션이 크게 변하지 않습니다. JumpPower를 굉장히 큰 값으로 변경하여도 y포지션 값의 변화가 없습니다. y Positon Freeze 설정되어 있지 않은 것도 확인하였습니다. 구글링을 해보아도 관련된 글은 없는 것 같아 질문드립니다. 이러한 현상이 일어나는 이유가 있을까요?
-
미해결실전! 스프링 데이터 JPA
안녕하세요 개인 프로젝트중 궁금한게 생겨서 질문드립니다.
안녕하세요 선생님 스프링부트를 이용한 프로젝트를 진행중에 궁금한 것이 생겨서 꼭 알고 싶은 마음에 질문하게 되었습니다. 프로젝트 구성은 이렇습니다. Entity는 User, Board, Comment를 만들었고, Spring Data Jpa를 활용하여 각각의 repository인 UserRepository, BoardRepository, CommentRepository도 만들었고, service부분인 CommentServiceImpl을 구성하는 중에 문제가 발생하였습니다. @Service public class CommentServiceImpl implements CommentService{ ... @Override public Long create(User user, Long board_id, String content) { Board board = boardRepository.findById(board_id).get(); //user.getClass() = class com.graduation.parrot.domain.User //proxy가 아님을 확인 System.out.println("user.getClass() = " + user.getClass()); //user.getBoards() = [Board(id=2, title=title1, content=at), ... //정상실행 System.out.println("user.getBoards() = " + user.getBoards()); //LazyInitializationException 발생 System.out.println("user.getComments() = " + user.getComments()); return commentRepository.save(new Comment(content, user, board)).getId(); } 에러메시지 : org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.graduation.parrot.domain.User.comments, could not initialize proxy - no Session 원래는 System.out.print...이 부분이 없었지만 이해를 돕기위하여 추가하였습니다. (return 부분의 new Comment를 생성할때 생성자에서 user.getComments()가 실행됩니다.) 테이블의 연관관계 매핑은 [user : board - 1대다], [user : comment - 1대다], [board : comment - 1대다] 이렇게 구성하였습니다. 제가 생각할때 user.getBoards()와 user.getComments()가 구조상 차이가 없어보이는데 스프링은 그렇게 생각하지 않는지 user.getComments()를 실행할 때만 에러를 발생시킵니다.. 문제상황 자체를 해결하는 방법은 찾았으나(user를 바로 사용하지 않고 userRepository.findById() 이용) 왜 user.getComments()만 문제가 발생하는지 꼭 알고 싶습니다. +@Transactional를 달아도 에러가 발생합니다 아래는 Entity들의 자바코드입니다. User @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @ToString(of = {"id", "name", "login_id", "password"}) public class User extends BaseTimeEntity{ @Id @GeneratedValue @Column(name = "user_id") private Long id; @Column(nullable = false, length = 100, unique = true) private String login_id; @JsonIgnore @Column(nullable = false, length = 100) private String password; @Column(length = 15, unique = true) private String name; @Column(length = 100) private String email; @Enumerated(EnumType.STRING) private Role role = Role.ROLE_USER; @OneToMany(mappedBy = "user", cascade = CascadeType.ALL) private List<Board> boards = new ArrayList<>(); @OneToMany(mappedBy = "user", cascade = CascadeType.ALL) private List<Comment> comments = new ArrayList<>(); @Builder public User(String login_id, String password, String name, String email) { this.login_id = login_id; this.password = password; this.name = name; this.email = email; } } Board @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @ToString(of = {"id", "title", "content"}) public class Board extends BaseTimeEntity{ @Id @GeneratedValue @Column(name = "board_id") private Long id; @Column(nullable = false, length = 30) private String title; @Column(length = 1000) private String content; private String author; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id", updatable = false) private User user; @OneToMany(mappedBy = "board", cascade = CascadeType.ALL) private List<Comment> comments = new ArrayList<>(); @Builder public Board(String title, String content, User user) { this.title = title; this.content = content; this.author = user.getName(); setUser(user); } public void setUser(User user) { this.user = user; user.getBoards().add(this); } Comment @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @ToString(of = {"id", "content"}) public class Comment extends BaseTimeEntity{ @Id @GeneratedValue @Column(name = "comment_id") private Long id; @Column(nullable = false) private String content; private String author; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") private User user; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "board_id") private Board board; @Builder public Comment(String content, User user, Board board) { this.content = content; this.author = user.getName(); setUser(user); setBoard(board); this.board = board; } public void setUser(User user) { this.user = user; user.getComments().add(this); //System.out.print를 지우고 정상실행시 이 부분에서 지연로딩 에러가 발생합니다. } private void setBoard(Board board) { this.board = board; board.getComments().add(this); } }
-
미해결Vue.js - Django 연동 웹 프로그래밍 (실전편)
질문이 있습니다..
안녕하세요. 강의를 듣다가 궁금한 사항이 있어 질문 드립니다. axios 요청으로 Django 데이터를 가져와 post:[]에 담아 놓은건 이해가 되었는데, 담긴 post의 데이터를 split, replace등의 문자열 변환 작업을 한뒤에 html 코드에 출력 하고 싶은데 보통 이럴 경우에는 axios에서 성공 응답으로 받은 then에서 처리를 해주는 건가요?
-
미해결
매개변수 문자열 없는 url 링크 구별 방법
안녕하세요 현재 개인 프로젝트 웹 사이트를 제작하다가 일주일동안 정말 해결 안 되는 난제가 있어서 질문 드립니다.. 도와주세요 ㅠㅠ a 태그를 이용해서 해당 링크로 이동하는 부분을 작업하고 있는데 그 url이 매개변수 변화가 없어서 어떻게 작업을 해야 될 지 모르겠습니다. 해당 url은 https://www.g2b.go.kr:8092/sm/ma/mn/SMMAMnF.do 나라장터 종합쇼핑몰 링크인데요, 검색해보시면 확인하실 수 있겠지만 검색결과에 따라 url이 변화되지 않고 쭉 저 url 그대로입니다.. 저는 (예를들어) 간판이 검색 결과로 뜨는 url로 바로 이동할 수 있게 하고 싶은데 매개변수 변화가 없다보니 저 url 그대로 a 태그에 넣게 되니까 페이지 이동하면 간판 검색 결과 페이지가 아닌 나라장터 종합쇼핑몰 메인 화면이 나오더라고요.. 어떻게 해야 제가 원하는 값을 검색하여 결과가 나온 페이지로 나올 수 있게 url을 작업할 수 있을까요 url에 어떤 파라미터, 매개변수 코딩을 해야 되는지 알려주세요 ㅠㅠ + location.search해도 빈 문자열이 나옵니다.
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
17분쯤에 if(c.getName().equals("memberId"))
17:10 쯤에 if(c.getName().equals("memberid")) 여기부분에서 equals 안에 파라미터를 왜 memberid 라고 둔건가요 사용자가 입력한 mID고 적어야 되는거아닌가요 ??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
lazy전략을 사용해야하는이유
그냥 다 fetch join쓰면 되는거 아닌가? 싶었거든요근데 fetch join은 페이징처리가 안돼요 그래서 그런처리를해줘야할수도있으니까 일단은 다 lazy전략으로 맞춰두고 fetch join대신 그냥 join을써요n+1문제가 생기더라도 @batchsize를 사용하면 문제를 해결할수있어요그래서 기본적으로~one으로끝나는 어노테이션 에다가는 lazy전략을 추가시켜줘야한다.. 가 맞는 설명인가요.?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
메모리에서 페이징한다는게 무슨말이죠?
하이버네이트는 경고 로그를 남기고 메모리에서 페이징한다는데 1. 원래는 어디서 페이징을하는데요..? 2. 왜 메모리에서 페이징을하는게 위험한가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
ReverseStr 함수 질문
저는 선생님과 다르게 포인터를 끝까지 이동시킨 뒤에 하나씩 출력해서 앞으로 오게 하고싶었는데 동작 자체를 안해서 뭐가 잘못된건지 모르겠습니다...
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
fetch join시 왜 별칭을 줄 수 없는건가요?
기본편 패치조인 한계편 초반에 보면 fetch join 시 별칭을 줄 수 없다고 되어 있습니다 1. 별칭을 주면 .을(경로탐색) 사용하는 조건문을 통해 일부만 나오도록 조건을 걸수있게 돼요. 근데 일부만 나오게되는점이 왜 문제가 될 수 있는거죠?객체그래프라는건 기본적으로 데이터를 거르면서 조회하는게 아니기 때문인건가요?이문제만이 이유인건 좀 부족한 것 같아서요 2. 만약 일부만 나오게돼서 cascade가 설정되어있으면 일부가 삭제될수있다는데 이상황자체가 예상이 안갑니다. 어떤상황인거죠?3. 그리고 별칭으로 일부만 나오게하는거말고 애초에 별도의 쿼리를 이용해서 멤버를 5명만 뽑으라는데 그건 어떻게하는건가요? fetch join말고 그냥 join을 사용하라는얘기인건가요? 4. teama.getmembers를 해요 근데 member가 두명들어있어요 그러면 쿼리는 member테이블에 대해 한번나가는건가요? 한번으로 두명이 조회가되는건가요??
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
StrCmp 함수 질문
1. 비교 함수를 선생님과 다르게 포인터로 짜보고 싶었는데 왜 Hella와 Hello가 계속 같다고 나오는지 이해가 안됩니다.