이중 반복문 파헤치기 for (int i = 0; i < 5; i++) { for (int j = 0; j <= i; j++) printf("*"); printf("\n"); } 편리상 1번 for, 2번for이라고 했을 때 1번의 1씩에 할 때 2번의 for은 0부터 증감을 시작합니다. 즉, 1번 for이 1이라 하면, 2번 for은 0,1의 조건의 수행합니다. 여기서 문제는 대체 for1,2번의 조건이 부합되어 printf("*")까지는 수행하고 printf("\n")은 수행하지 않는지의 대한 설명은 없습니다. 이것 때문에 한참 생각했네요. for1번과 for2번의 조건이 부합되지 않았을 때 printf("\n")이 수행되는지의 설명이 있어야 될 듯합니다. 저 같은 완전 쌩초보는 기본적인 개념까지 단단히 익혀야되서요
function solution(b){ let answer; b=b.toLowerCase().replace(/[^a-z]/g,"" ) console.log(b); for(let i=0; i<Math.floor(b.length/2);i++){ if(b[i]===b[b.length-i-1]){ answer ="YES"; }else{ answer="No"; } } return answer; } let str="found7, time: study; Yduts; emit, 7Dnuof"; console.log(solution(str)); 위와 같은 코드에서 answer값 을 처음에 빈값으로 선언하고 if문에서 조건의 참인경우에 answer값 을 지정해주면 함수 인수의 값으로 사용한 문자열 알파벳 철자를 수정 하였을 경우 "YES"로만 화면에 출력이 되는데 이유를 혹시 알수 있을 까요?
안녕하세요~ 강의 잘 보고 있습니다! 다름이 아니라 AccountDetailView에서 context_object_name 이라는 변수? 에서 context 라는게 장고에서는 어떤 의미인지 궁금합니다... 아 그리고 이건 약간 다른 질문인데요, 클래스 구조나 콜 순서가 궁금해서 내부 코드를 따라가다보니까 class SingleObjectMixin ( ContextMixin ): ... def get_context_object_name ( self , obj ): """Get the name to use for the object.""" if self . context_object_name : return self . context_object_name elif isinstance ( obj , models . Model ): return obj . _meta . model_name else : return None 이런 부분을 발견하긴 했는데..여기서 더 어떻게 파고 들어가야 할지 모르겠습니다... 함수나 클래스의 호출 과정을 보시는 방법이나 노하우? 같은게 있을까요?ㅎㅎ
안녕하세요 항상 높은 퀄리티의 강의 감사드립니다! example 2에서 λ 가 -2일 때 x = x2 v2 + x3 v3 라는 값이 나왔는데, ( v2 = [-1 1 0], v3 = [-1 0 1]) 이 때 v2 와 v3 가 eigenvector라고 설명해주셨습니다. 그래서 일단 v2 와 v3 를 각각 A x = λ x 의 x 에 대입했을 때 식이 성립하는 것을 보고 두 벡터가 eigenvector라고 이해했습니다. 그런데 "A x = λ x 를 만족하는 nonzero vector x " 라는 eigenvector의 정의대로라면 λ 가 -2일 때 eigenvector는 v2 , v3 가 아닌 x = x2 v2 + x3 v3 이고 v2와 v3는 λ 가 -2일 때의 eigenspace의 basis를 구성하는 linearly independent한 벡터아닌가요? 앞서 배운 eigenvector의 정의 자체와 헷갈리는 부분이 있어 질문드렸습니다. 항상 친절한 답변 감사드립니다!!
안녕하세요. 격자판 최대합 알고리즘을 구현해 보았는데요. 열,행,대각선 합을 구하는 리스트를 따로 만들고, max함수를 사용하여 구현을 하였습니다. 제가 아직 메모리와 시간복잡도에 대해 잘 몰라서 질문드립니다. 아래와 같이 구현하게 되면 메모리와 시간 측면에서 비효율적일까요?.. 확인 부탁드리겠습니다. 감사합니다. n = int(input()) numlist = [list(map(int, input().split())) for _ in range(n)] sumlist = [0]*(2*n+2) for i in range(n): for j in range(n): num = numlist[i][j] sumlist[i]+=num sumlist[j+n]+=num if i==j: sumlist[-2]+=num elif i+j == n-1: sumlist[-1]+=num maxSum = max(sumlist) print(maxSum)
안녕하세요! 이전 질문에서 영한님 답변을 받고 원인을 해결하여 다른 경우 또한 테스트해보고 있는데 SQL Error: 23503 에러가 발생했고, 구글링 결과 참조 키 제약조건 위배될 때 발생하는 에러라 하는데 아래 상황에서 왜 이 에러가 뜨는지 모르겠어서 질문을 남깁니다. Parent, child 끼리 연관관계 매핑 후, cascadetype.ALL, orphanRemoval=false로 설정한 후, parent를 삭제할 때 발생한 에러입니다. 먼저 Parent, Child, Main 클래스 코드를 보여드리겠습니다! @Entity public class Parent { @Id @GeneratedValue private Long id; private String name; @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL) private List<Child> children=new ArrayList<>(); public void addChild(Child child){ children.add(child); child.setParent(this); } // getter, setter 생략했습니다 } @Entity public class Child { @Id @GeneratedValue private Long id; private String name; @ManyToOne(fetch = FetchType.LAZY) private Parent parent; // getter, setter 메소드 생략했습니다 } Parent 클래스, Child 클래스는 위와 같이 작성했으며, cascadetype.ALL로 설정해놓았고, 고아 객체 제거는 설정하지 않았습니다. 메인 코드는 아래와 같습니다. public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em=emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try{ Parent parent=new Parent(); parent.setName("kth990303"); Child child1=new Child(); child1.setName("kthbaby1"); Child child2=new Child(); child2.setName("kthbaby2"); parent.addChild(child1); parent.addChild(child2); em.persist(parent); em.flush(); em.clear(); Parent findParent = em.find(Parent.class, parent.getId()); System.out.println("===================1"); findParent.getChildren().remove(0); em.remove(findParent); System.out.println("===================3"); tx.commit(); } catch(Exception e){ e.printStackTrace(); tx.rollback(); } finally{ em.close(); } emf.close(); } } 역시 orphanRemoval=true가 아니었기 때문에 findParent.getChildren().remove( 0 ) ; 코드에서, 아무 일이 일어나지 않고 지연로딩으로 인한 child select 쿼리만 날라가는건 예상대로였는데, 문제는 그 아래 em.remove(findParent); 였습니다. 이미 em.find로 영속성 컨텍스트에 정보가 있어 parent를 지울 때 에러가 발생하지 않은 상태로 parent와 children 모두 지워질 줄 알았는데 아래 사진과 같은 에러가 발생했습니다. 사실 parent를 지울 때 그냥 findParent.getChildren().remove(0); 을 작성하지 않고 em.remove(findParent);만 하면 parent가 지워짐과 동시에 children도 모두 잘 지워지는 성공적인 결과가 보이긴 합니다만,,, 위와 같이 코드를 짠 후 실행했더니 SQL ERROR 23503이 뜨는 이유가 궁금하여 질문드립니다. 금쪽같은 주말에 질문을 좀 많이 하는 듯하네요 ㅠㅠ 죄송합니다. 그리고 감사합니다 :) ===================1 Hibernate: select children0_.parent_id as parent_i3_2_0_, children0_.id as id1_2_0_, children0_.id as id1_2_1_, children0_.name as name2_2_1_, children0_.parent_id as parent_i3_2_1_ from Child children0_ where children0_.parent_id=? ===================3 Hibernate: /* delete hellojpa.Child */ delete from Child where id=? Hibernate: /* delete hellojpa.Parent */ delete from Parent where id=? 5월 15, 2021 8:20:45 오후 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions WARN: SQL Error: 23503, SQLState: 23503 5월 15, 2021 8:20:45 오후 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions ERROR: Referential integrity constraint violation: "FKLH67J1N7X7GT59U0PBKWQH6O6: PUBLIC.CHILD FOREIGN KEY(PARENT_ID) REFERENCES PUBLIC.PARENT(ID) (1)"; SQL statement: /* delete hellojpa.Parent */ delete from Parent where id=? [23503-199] 5월 15, 2021 8:20:45 오후 org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl release INFO: HHH000010: On release of batch it still contained JDBC statements javax.persistence.RollbackException: Error while committing the transaction at org.hibernate.internal.ExceptionConverterImpl.convertCommitException(ExceptionConverterImpl.java:81) at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:104) at hellojpa.JpaMain.main(JpaMain.java:43) Caused by: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) at org.hibernate.internal.ExceptionConverterImpl.convertCommitException(ExceptionConverterImpl.java:65) ... 2 more Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:59) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:200) at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:45) at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3551) at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3810) at org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java:124) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604) at org.hibernate.engine.spi.ActionQueue.lambda$executeActions$1(ActionQueue.java:478) at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:475) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:348) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:40) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:102) at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1352) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:443) at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3202) at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2370) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:447) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:183) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:40) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:281) at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101) ... 1 more Caused by: org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Referential integrity constraint violation: "FKLH67J1N7X7GT59U0PBKWQH6O6: PUBLIC.CHILD FOREIGN KEY(PARENT_ID) REFERENCES PUBLIC.PARENT(ID) (1)"; SQL statement: /* delete hellojpa.Parent */ delete from Parent where id=? [23503-200] at org.h2.message.DbException.getJdbcSQLException(DbException.java:459) at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) at org.h2.message.DbException.get(DbException.java:205) at org.h2.message.DbException.get(DbException.java:181) at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:373) at org.h2.constraint.ConstraintReferential.checkRowRefTable(ConstraintReferential.java:390) at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:265) at org.h2.table.Table.fireConstraints(Table.java:1057) at org.h2.table.Table.fireAfterRow(Table.java:1075) at org.h2.command.dml.Delete.update(Delete.java:153) at org.h2.command.CommandContainer.update(CommandContainer.java:198) at org.h2.command.Command.executeUpdate(Command.java:251) at org.h2.server.TcpServerThread.process(TcpServerThread.java:406) at org.h2.server.TcpServerThread.run(TcpServerThread.java:183) at java.lang.Thread.run(Unknown Source) at org.h2.message.DbException.getJdbcSQLException(DbException.java:457) at org.h2.engine.SessionRemote.done(SessionRemote.java:607) at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:237) at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:200) at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:154) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197) ... 21 more 5월 15, 2021 8:20:45 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PoolState stop INFO: HHH10001008: Cleaning up connection pool [jdbc:h2:tcp://localhost/~/test] Process finished with exit code 0
현재 porduct가 console에 지속적으로 업데이트가 되어서 알림창 갯수가 100단위를 넘어가고 있습니다. 본래 useState로 한번만 받아와야 하지 않나요? 두번째 오류는 ToucahbleOpacity인데 단순히 터치가 안되고 있습니다. import가 gesture-handler로 되어 있어서 그런가 해서 react-native로 옮겨서 시도해봤는데도 터치가 안되는것 같습니다.