inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

회원 관리 예제 - 웹 MVC 개발 / 회원 웹기능 - 조회를 듣고있는데

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

강사님 께서는 회원목록 버튼을 클릭하면 이러한 창이 뜨지만 제가 누를때는 이렇게 오류 창이 뜹니다 딱히 오류로 잡히는것도 없어서 단순히 제 코드 실수인가 싶어서 강의를 여러번 돌려가며 최대한 강사님의 코드를 그대로 타이핑 했는데도 오류가 계속 납니다. 다른분들 보니 H2관련해서 오류가 뜨는데 저는 아직 H2파트를 들어가기도 전이고 강사님도 아직 강의내에서 H2를 건드리지 않고 초기 제가 올렸던 사진 처럼 창이 떴는데 도대체 왜 오류가 나는지 궁금합니다 https://drive.google.com/file/d/187dnQjeFv08hwhpoNglqi6TrnZpRXZYI/view?usp=sharing

  • java
  • spring-boot
  • MVC
  • spring
댓글 1 좋아요 0 조회수 291

프록시 초기화 시 만들어지는 실제 엔티티

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

프록시 객체가 초기화 할 때 영속성 컨텍스트를 통해서 실제 엔티티를 생성하고 생성된 실제 엔티티를 프록시 객체의 target 변수에 참조해준다고 하셨는데 이 때 만들어진 실제 엔티티는 영속성 컨텍스트에 존재하고 있는 건가요? 그렇기 때문에 getReference() -> 초기화 -> find()의 과정을 했 을 때 find() 시점에 select 쿼리문이 안나오는 게 맞나요?

  • JPA
  • java
나 좀 도와줘요 댓글 1 좋아요 0 조회수 248

api 응답객체 네이밍 및 new에 대해

해결됨

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

안녕하세요. 강의 너무 잘 보고 있습니다. 좋은 컨텐츠를 제공해주시는 인프런과 영한님, 서포터분들께 감사드립니다. api응답 객체 네이밍에 대해 질문이 있습니다. 등록,수정의 경우 응답객체 네이밍이 ~~Response 조회의 경우 MemberDTO 를 Result로 래핑해서 보내는데 DTO와 Response로 네이밍하는 기준이 있는지 궁금합니다. 또 하나는, 좀 엉뚱한 질문일 수도 있는데 응답시마다 new를 통해 응답객체를 생성하는데 대규모 시스템에 성능에 크게 문제가 없는지와 응답 객체를 싱글톤으로 만드는 패턴같은것도 있는지 궁금합니다. 감사합니다.

  • spring-boot
  • spring
  • java
  • JPA
cw k 댓글 1 좋아요 0 조회수 655

Connection is closed 에러발생(해결)

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요 강사님! 덕분에 수업 잘 듣고있습니다. 스프링 통합 테스트 강의에서, 테스트 코드의 join함수를 실행시켰더니 java.lang.IllegalStateException: java.sql.SQLException: Connection is closed 에러가 발생했습니다. 원인파악을 위해 join함수 처음부터 천천히 디버깅을 시도했는데, JdbcMemberRepository 클래스의 save함수에서 try 구문의 conn을 할당받는 첫번째 pstmt변수에서 IllegalStateException을 발생시켰습니다. 어떤 원인으로 에러가 발생했으며, 해결방법이 궁금합니다. 아래에 제가 작성한 오류와 연관된 코드들과 에러메시지 첨부합니다. *close함수에서 conn.close()를 close(conn)으로 수정했더니 해결됐습니다. [테스트코드] [JdbcMemberRepository 클래스] [MemberService 클래스] [에러메시지]

  • spring-boot
  • spring
  • MVC
  • java
한종승 댓글 4 좋아요 2 조회수 6699

Repository와 Service의 이해

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요! 강의를 다시 보다보니 제대로 이해한건지 확실히 하고 넘어가고 싶어서 글을 쓰게 되었습니다. Repository에서 interface로 선언한 것은 각 기능별로 저장할 때 어떤 타입? 으로 저장할지(list 등) 이며 이를 가지고 class에서 implements를 하여 실제 구현체를 만드는데 각 기능별로 저장한 값을 어떻게 반환할지 단순히 데이터의 저장을 위한 기능 Service에서는 앞서 Repository와 Domain에서 정한 것을 가지고 실제로 동작하는 기능(조건이 있다면 조건 로직, 검증을 해야한다면 검증 로직 포함)을 작성하는 것으로 이해했습니다. 실제 구현 할 때 Service 부분을이 아무래도 비즈니스 로직이다보니 해당 부분에서 오류가 발생한다면 전반적인 작동에도 문제가 생기겠죠?

  • spring-boot
  • spring
  • MVC
  • java
SeatSTAR 댓글 1 좋아요 1 조회수 860

DatabaseSessionHandler 클래스의 gc($maxlifetime) 메소드에 대해 질문드립니다.

해결됨

PHP 7+ 프로그래밍: 객체지향

Session을 다루다 추가로 궁금한 것이 있어 여기에 남겨봅니다. 프로젝트에서 SessionHandlerInterface 구현체로 DatabaseSessionHandler 클래스를 사용하는 모습을 볼 수 있고, 이 클래스의 public functoin gc($maxlifetime) 메소드는 만료된 세션을 제거하는 용도로 사용하는 것을 알 수 있었습니다. 시스템 안에서 자동으로 gc($maxlifetime) 메소드가 호출 될 것으로 보이는데요. 이 경우 gc($maxlifetime) 메소드가 호출 될 때 파라미터로 전달되는 $maxlifetime 값(아규먼트)의 경우 php.init에 설정된 session_maxlifetime가 대입되는 것이 맞는지 궁금합니다. (물론 php.ini 설정을 PHP 코드로 하여금 변경할 수 있겠지만요.)

  • PHP7
  • php
  • oop
  • framework
Henu 댓글 1 좋아요 2 조회수 276

8080포트 사용

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

.

  • mvc
  • java
  • spring-boot
  • spring
댓글 2 좋아요 0 조회수 397

SetterInjection 사용 지양에 대한 문의입니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요 영한님. 강의 늘 잘 듣고 있습니다. 이번 강의를 듣던 중 Setter Injection 사용 지양에 대한 이유를 제가 제대로 이해하지 못해 질문 올립니다. Repository의 경우 런타임에 한 번 주입시켜놓으면 수정할 일이 없는데 굳이 그것을 Setter 메소드로 열어놓아 유지보수시 추적을 힘들게 할 필요 없다... 이런 느낌으로 이해했는데 맞는지 알고 싶습니다.

  • jpa
  • JPA
  • spring-boot
  • java
  • spring
  • 웹앱
kim.min.seok 댓글 1 좋아요 0 조회수 231

컨트롤러 단에서 프록시 객체 초기화

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

안녕하세요. 강의를 듣다 궁금하게 있어서 질문드립니다. 강의 중 for문을 돌려서 강제로 프록시를 초기화하는 부분이 있는데요. 제가 프록시 강의를 듣기로는 영속성 컨텍스트의 도움을 받을 수 없는 준영속 상태일 때는 프록시를 초기화하면 문제가 발생하는 것으로 알고 있습니다. 그리고 트랜잭션이 걸려있는 서비스단에 트랜잭션이 끝나면 영속성 컨텍스트가 끝나는 것으로 알고 있는데요. 현재 코드는 서비스가 아닌 Repository에서 바로 값을 가져오고 있고 해당 클래스는 트랜잭션이 걸려있지 않기 때문에 아직 영속성 컨텍스트가 끝나지 않아 컨트롤러에서 프록시 초기화가 가능한 것인가요?

  • java
  • spring-boot
  • spring
  • JPA
노성규 댓글 1 좋아요 3 조회수 380

DTO 사용 범위에 대한 질문

미해결

실전! Querydsl

강의에서 일반적으로 repository에서 만든 dto를 service와 controller에서 사용한다고 하셨습니다. 그런데 이전 강의에서 tuple은 repository계층에서만 사용하고 service나 controller에서 사용하는건 비추한다고 하셨습니다. tuple의 경우엔 하부 구현기술에 class이니 앞단에서 알면 좋지 않다.(jpa를 바꾸게 되는 경우 수정할 로직이 많아진다) 라고 이해했는데요. dto도 비슷하지 않을까 생각이 들었습니다. repository에서 만든 dto를 바꾸게 될 경우 앞단에서 수정할 로직이 많으니까요. dto와 tuple(resultset 등)은 다르게 보아야 하는걸까요? repository에서 만든 dto는 repository나 service에서까지만 사용하고 controller에서는 새로운 dto로 매핑하는게 맞을까요? 아니면 repository는 뒷단(안쪽) 영역이니 앞쪽에서 의존성을 가져가도 된다고 생각하는게 맞을까요?

  • java
  • JPA
edu5 댓글 2 좋아요 3 조회수 738

(String)getServletContext().getAttribute 여기에 담고 바로 Servlet.Get 서버 실행에서 null값 나오는분들 ServletEx 서버 들렸다가 다시 오면 값 나와요

미해결

실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프(String)getServletContext().getAttribute 여기에 담고 바로 Servlet.Get 서버 실행에서 null값 나오는분들 ServletEx 서버 들렸다가 다시 오면 값 나와요런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • java
  • jsp
김성일 댓글 2 좋아요 3 조회수 494

TimeTraceAop를 SpringConfig에 Bean으로 등록시 에러

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[SpringConfig] [TimeTraceAop] [ERROR] 어떤문제인지 잘모르겠습니다

  • MVC
  • spring
  • java
  • spring-boot
yamyam_Y 댓글 1 좋아요 1 조회수 432

커맨드와 쿼리 분리

미해결

실전! 스프링 데이터 JPA

안녕하세요 영한님 강의 후반부에 커맨드와 쿼리 분리 라고 말씀하셨는데 여기서 뜻하는 커맨드는 어떤 것을 의미하는 것일까요?

  • spring-boot
  • spring
  • java
  • JPA
highjune 댓글 1 좋아요 1 조회수 504

gradle build 관련 오류 질문 드립니다(TestSuiteExecutionException)

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

질문용 파일 링크: https://drive.google.com/file/d/1H7Jk68AinSPuCjEWiavLgFMpQtEuHdhT/view?usp=sharing gradle build를 실행할 때 계속 오류가 납니다. 우측의 Gradle Tab > (프로젝트명) > Tasks > build > build 실행 jar 파일만 생성시킬 땐 무사히 만들어지는데 build 명령을 내릴 때는 test code 단계에서 계속 오류가 납니다. test code가 분명 있는데도 찾지를 못하네요. ClassNotFoundException 자주 하는 질문에 적어주신 방법은 다 시도해봤습니다. 1. IntelliJ IDEA로 test code 실행주체 바꾸기, 2. 설정이 java 11로 제대로 되어있는지 확인하고 바꾸기(자주 하는 질문 매뉴얼(https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.f9xqb7l8nuph)에 적으신 대로 선택했습니다). 3. project close 한 다음에 build.gradle 파일을 open as project로 열어서 재실행하기 4. 혹시나 버전 호환성 문제일까 싶어서 원래는 2.6.4 버전이었는데 강의에서 나온 2.3.1 버전으로 다운그레이드해서 재실험해봤거든요. 그런데도 똑같은 오류가 계속 뜨네요. 위의 파일 링크 안에도 포함되어있긴 하지만, 더 빨리 찾으시라고 아래에 error log 따로 적어봅니다. org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'KYH.Elementary.ElementaryApplicationTests'. at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:53) at java.base@11.0.14/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@11.0.14/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base@11.0.14/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base@11.0.14/java.lang.reflect.Method.invoke(Method.java:566) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) at com.sun.proxy.$Proxy2.processTestClass(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:176) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:133) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) Caused by: org.gradle.internal.UncheckedException: java.lang.ClassNotFoundException: KYH.Elementary.ElementaryApplicationTests at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:68) at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:41) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.loadClass(JUnitPlatformTestClassProcessor.java:112) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.access$100(JUnitPlatformTestClassProcessor.java:54) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:89) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:79) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51) ... 18 more Caused by: java.lang.ClassNotFoundException: KYH.Elementary.ElementaryApplicationTests at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:398) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.loadClass(JUnitPlatformTestClassProcessor.java:110)

  • TestSuiteExecution
  • MVC
  • spring-boot
  • spring
  • java
성해인 댓글 5 좋아요 2 조회수 9821

CentOS 7.* 서버쪽으로 배포를 해보던 중에 질문드립니다.

해결됨

PHP 7+ 프로그래밍: 객체지향

안녕하세요. 프로젝트 강의를 통해 만든 결과물을 실제 리눅스 서버쪽으로 배포를 해보려고 합니다. 서버환경은 아래와 같습니다. ----------------[서버 Spec] ---------------- OS: CentOS 7.9 PHP: PHP 7.3 DB: MariaDB 10.4.17 Web Server: Apache 2.4 ---------------- ---------------- ------------ 서버의 일반 계정을 생성 한 후 아파치 가상호스트(VirtualHost) 설정 파일을 통해 아래와 같이 설정해 보았는데, 500 ERROR 페이지로 전환되고 있어 아파치 에러 로그를 보며 해답을 찾아보아도 해결을 못하고 있습니다. 옛 레거시 PHP 같은 경우 위의 가상호스트 설정만으로도 정상적으로 홈페이지가 열렸는데요. 이 프로젝트가 잘 열리기 위한 추가 설정이 필요한지 궁금합니다.

  • php
  • PHP7
  • oop
  • framework
Henu 댓글 1 좋아요 1 조회수 402

EventValidator 질문이 있습니다.

미해결

스프링 기반 REST API 개발

안녕하세요. 다름이 아니라 EventValidator 에서 implement Validator 를 쓰는것과 안쓰는것 차이를 잘 모르겠습니다. 감합니다.

  • spring
  • java
  • rest-api
조재연 댓글 1 좋아요 0 조회수 263

설계와 관련해서 질문있습니다.

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요:) 영한님의 강의을 듣다가 궁금한 점이 생겨 질문 남기게 되었습니다. 영한님의 이번 강의에서 설계 단계가 다음과 같이 진행됐습니다. 1. 요구사항을 분석하기. 요구사항을 분석해, 도메인을 나누고 도메인간의 관계를 설정함 그리고 도메인 설계도를 작성. 2. 도메인 설계도를 기반으로 엔티티 설계도 만들기 3. 테이블 설계도 만들기. 여기서 궁금한 점이 생겼습니다. 도메인 설계도를 이용해 테이블 설계도를 먼저 만들고, 엔티티 설계도를 만들어도 되는건가요? 제가 생각하기에는 도메인 설계도를 이용해 테이블 설계도를 만들고, 그 후 테이블에 매핑되는 엔티티들을 만든 뒤 연관관계가 필요하면 연관관계를 만들어주는 식으로 테이블 설계도와 엔티티 설계도를 매핑을 하는게 더 자연스럽다고 생각했습니다. 혹시 엔티티 설계도를 먼저 만든 이유가 있을까요? ---------------------------------------------------------- 제가 생각해본 이유로는 아무래도 엔티티 설계를 먼저하는게 더 객체지향적인 설계가 가능하기 때문인 것 같은데, 혹시 제가 생각한 이유가 맞는건가요?

  • spring-boot
  • spring
  • 웹앱
  • java
  • JPA
방은혁 댓글 1 좋아요 0 조회수 297

User 클래스에 대한 질문입니다.

해결됨

PHP 7+ 프로그래밍: 객체지향

안녕하세요, 강의를 보며 프로젝트 예제 코드를 따라 타이핑 하면서 궁금한 것이 있어 질문드립니다. 아마 '36-메인(Index)' 강의에서 Post 클래스를 사용함에 있어 생겼었떤 궁금증과 동일할 거 같습니다. '회원가입' 처리를 위해 UserController::store 정적 메소드에서 'POST' 방식으로 넘어온 'email', 'password' 데이터를 User 객체의 프로퍼티(멤버변수)로 설정하는 코드를 볼 수 있었습니다. 하지만 실제 User 클래스에서는 가령 public $email, public $password와 같이 프로퍼티(멤버변수)가 선언되어 있지 않았는데요. 이게 어떻게 가능하게 된건지 원리가 궁금합니다. P.S 저는 Java(SpringFramework)도 함께 공부를 진행중에 있습니다.(실무에서 Java, PHP 둘 다 쓰기에...) Java에서 클래스의 성질과 비슷하다라고 생각하니 이번 강의에서 보여주셨던 코드가 동작하는게 이해가 가지 않더라구요. 미리 답변 감사드립니다.

  • php
  • PHP7
  • oop
  • framework
Henu 댓글 1 좋아요 1 조회수 208

password_verify(string, hash) 함수가 매번 false가 나오는 것에 대한 해결 방법이 궁금합니다.

해결됨

PHP 7+ 프로그래밍: 객체지향

안녕하세요, 프로젝트 '인증' 파트에서 로그인 시 입력하게 되는 이메일과 비밀번호를 AuthController, AuthService를 통해 처리하는 것을 확인 할 수 있었습니다. 저는 현재 PHP 8.0.0 버전으로 코딩을 진행하고 있습니다. 다만, AuthService::login 로직에서 password_verify(string, hash)가 항상 false로 결과 값이 반환되는 것을 확인했습니다. 처음에는 예제 코드를 타이핑하는데 오탈자가 있었나 확인해 보았지만 그런 경우는 없었습니다. 이와 동일한 이슈에 대해 찾아보았으나 여러 개 있었고, 그 중 PHP 8 환경에서의 이슈를 다룬 블로그를 발견했습니다. ( https://blog.naver.com/PostView.nhn?blogId=gwi01304&logNo=222269515571 ) PHP 버전 업데이트가 되면서 해당 함수의 동작 방식이 달라진 것인지 알 수 있을까요? 혹시 몰라서 저의 깃헙 레포지토리 URL을 여기에 공유해 드리겠습니다. GitHub URL: https://github.com/painkill2r/php-oop-project ============================================= 추가적으로 password_verify(string, hash) 함수의 동작 원리에 대해 궁금합니다. PHP Manual에서도 내부 동작 원리가 어떻게 되는지는 기재되어 있지 않더라구요. 첫 번째 인자로 주어진 string 값을 내부적으로 password_hash() 함로 암호화(?)하고, 이를 두 번째 인자와 비교하는게 맞을까요?

  • php
  • PHP7
  • oop
  • framework
Henu 댓글 1 좋아요 1 조회수 371

AuthService::logout 메소드에서 Session 데이터를 비우는 방법에 대한 질문입니다.

해결됨

PHP 7+ 프로그래밍: 객체지향

안녕하세요, '로그아웃' 구현 부분에서 세션을 비우는 처리에 대해 질문드립니다. 만약, 운영중인 사이트를 이용한다고 가정했을 때 아래와 같이 대부분이 로그인 및 로그아웃 절차가 진행된다고 생각합니다. 1. 홈페이지 로그인: 세션에 유저 데이터 생성 2. 홈페이지 이용 3. 브라우저를 닫거나 로그아웃 버튼 클릭: 세션이 완전이 사라지거나, 세션은 있되 세션에서 유저 정보가 비워짐 3번 항목에서 보통 PHP에서 세션을 비울 때(삭제할 때) 아래 두 함수를 쓰는 모습을 볼 수 있었는데요. 1. session_destory() => 전체 세션을 삭제(예로 세션 저장소(파일시스템의 세션 파일 또는 DB의 세션 관리 Table의 세션 데이터)) 2. session_unset() => 세션에서 변수만 삭제(CODE E) $_SESSION = array();) 이 외 세션에서 '유저' 정보만 비우는 경우(CODE EX) $_SESSION['user'] = array();)에는 어떤 경우가 있는지 알 수 있을까요?

  • PHP7
  • php
  • oop
  • framework
Henu 댓글 1 좋아요 1 조회수 393

인기 태그

인프런 TOP Writers

주간 인기글