소개
게시글
질문&답변
2022.03.22
series nonlocal 안해도 되는 이유
메소드마다 로컬네임스페이스가 존재 해서 변수명이 같아도 다른걸로 본다고 압니다. (다른걸로 안보려면 nonlocal을 붙이고요) 그걸 증명하는 소스 입니다. def funcIn(): x = 10 print('외부x_id:{}'.format(id(x))) def funcOut(): x=20 print('내부x_id:{}'.format(id(x))) print('내부x:{}'.format(x)) funcOut() print('밖x:{}'.format(x))x = funcIn() 외부 x와 내부 x의 id 값이 틀립니다. (사진) 근데 아래 소스로 돌려보면 메소드 안 의 sereis 변수의 id 값이 같습니다. def testOut(): series = [] print('1.외부series:{}'.format(id(series))) def testIn(): series.append(1) print('--->내부series:{}'.format(id(series))) print('--->내부series 의 값 {}'.format(series)) print('2.외부series:{}'.format(series)) return testInx = testOut()print('========1========')x()print('========2========')x()print('========3========')x() (사진) 왜 1번 소스와 2번 소스가 동작이 서로 틀린거죠? 1번 소스의 변수는 숫자형 primitive 이고 2번 소스는 list 형 객체라서 그런건가요? 답변 부탁 드립니다. 감사합니다.
- 1
- 3
- 209
질문&답변
2020.08.30
YML 파일에 등록되는 항목들은 어디서 찾나요?
빠른 답변 감사합니다.
- 0
- 2
- 257
질문&답변
2020.08.26
영속성 컨텍스트에 의해 관리되는 entity 확인 시 오작동 문의
답변 감사합니다. 빠른 습득을 위해 부분 부분 학습을 하다보니 transaction 의 이해가 없었습니다. Spring boot를 학습해야 할지요? Spring을 학습 해야 할지요?
- 0
- 3
- 329
질문&답변
2020.08.26
insert -> select 와 update-> select 의 동작 차이가 이해가 안됩니다.
답변 감사합니다.
- 0
- 2
- 277
질문&답변
2020.08.25
커스텀 리파지토리 만들기 질문 입니다.
제가 여전히 어떻게 위 질문의 캡처에 노란색 동그라마 객체가 SimpleJpaRepository 객체로 만들어 진건지 이해는 안되지만 Interface 관련 자료를 google 하고 조금이나마 깨달음을 얻었네요. ctr+c,v 만 하다 보니 Interface에 대한 지식이 없었습니다. 제가 Interface 관련 자료 구글링 하고 깨달은걸로 짜놓은 샘플 Source를 첨부 했습니다.(파일첨부가 안되 소스를 붙였습니다.) 제가 코딩한 소스와 같은 컨셉으로 아마도 Spring 내에서 구현 되어 있어서, custom으로 추가된 findMyPost()가 사용 가능 한 거겠죠. package com; public interface JpaRepository { public void findAll(); public void select(); public void delete(); } ================================================= package com; public class SimpleJpaRepository implements JpaRepository { @Override public void findAll() { System.out.println("findAll........."); } @Override public void select() { System.out.println("select........"); } @Override public void delete() { System.out.println("delete........"); } } ================================================= package com; public interface MyInterface { public void myMethod(); } ================================================= package com; public class MyInterfaceImpl implements MyInterface { @Override public void myMethod() { System.out.println(" myMethod() 구현 함" ); } } ================================================= package com; public interface PostRepository extends JpaRepository, MyInterface { } ================================================= package com; public class PostRepositoryImpl implements PostRepository{ @Override public void findAll() { JpaRepository obj = new SimpleJpaRepository(); obj.findAll(); } @Override public void select() { JpaRepository obj = new SimpleJpaRepository(); obj.select(); } @Override public void delete() { JpaRepository obj = new SimpleJpaRepository(); obj.delete(); } @Override public void myMethod() { MyInterface obj = new MyInterfaceImpl(); obj.myMethod(); } } ================================================= package com; public class TestMain { public static void main(String[] args) { TestMain t = new TestMain(); t.go(); } private void go() { PostRepositoryImpl posRepositoryImpl = new PostRepositoryImpl(); PostRepository p = posRepositoryImpl; System.out.println("================"); p.findAll(); p.select(); p.delete(); p.myMethod(); } }
- 0
- 2
- 190