순번 5번, 8번의 8번째 칸의 모습처럼, 줄나누기후 같은 숫자(12)와 O를 넣는 자동화를 하고 싶습니다. 즉, 1. 일정한 순번을 리스트를 통해 나열하면 EX) [5, 8, 10-2, 12 ....] 2. 그 값이 있는 셀을 찾은 후 오른쪽으로 이동, 줄나누기, 셀에 값입력 이런 작업을 자동화 하고 싶은 것입니다. 2번 작업은 일상의 코딩님 강의와 블로그를 통해 해결할 수 있을 거 같긴한데, 1번 작업을 어떻게 처리할지 도저히 감히 잡히지 않습니다. (블로그를 보면 찾기 명령어는 자동화에 사용하지 않는 것 같고, hwp.find()를 이용하는 것도 감이 잡히지 않습니다.) 저런식으로 단순히 1,2,3으로 진행되는 것이 아니고, 중간 중간 규칙성 없이 가지번호(10-1,10-2)가 등장합니다 ㅠ 또한 숫자가 여러 열에 존재하고 있어서 1열(즉 순번열)에 있는 숫자만을 찾아야 한다는 문제도 있습니다. 자동화가 필요한 이유가 저런 식의 순번이 5천개가 넘어서 반드시 필요합니다. 도와주세요!!!
안녕하세요 강사님. 강사님의 강의를 들으면서 혼자 프로젝트를 진행 중인데 혹시 이런 에러상황도 있을 수 있는지 여쭤보고 싶어서 질문남깁니다. 웹 사이트에서 특정 데이터 값을 삭제를 진행했고, 서버에서도 삭제가 잘 되었다는 로그와 함께 에러없이 삭제 완료되었는데, DB에서 그 값을 검색하면 그대로 남아있는 경우엔 어떻게 해결해야할까요? 삭제를 할때, 테이블의 PK값으로 해당 데이터를 삭제하는 것이 아니고 레코드의 PK말고 다른 값들을 찾아서 그 값이 있으면 데이터를 삭제하라고 로직을 짰거든요. 그리고 처음에 기능을 완료했을땐, 잘 삭제가 되었는데 나중에 다시 테스트 진행하니 갑자기 DB에서 삭제가 되지않고 있습니다. // 권한 거부 확인 버튼 클릭 이벤트 핸들러 $(document).on('click', '#confirmRevokePermissionButton', function() { const selectedPermission = $('#permissionSelect').val(); const selectedUsers = $('.user-checkbox:checked').map(function() { return $(this).val(); }).get(); const projPK = $('#projectSettingForm').data('proj-pk'); if (selectedPermission && selectedUsers.length > 0) { $.ajax({ url: `/projMgmt/setting/${projPK}/revokePermission`, type: 'DELETE', data: JSON.stringify({ userPKs: selectedUsers, perPK: selectedPermission }), contentType: 'application/json', success: function(response) { Swal.fire({ icon: 'success', title: '권한 삭제 완료', text: '권한이 성공적으로 삭제되었습니다.', confirmButtonText: '확인' }).then((result) => { if (result.isConfirmed) { loadSetting(projPK); $('#permissionModal').modal('hide'); } }); }, error: function(xhr, status, error) { let errorMessage = '권한 삭제 중 오류가 발생했습니다.<br>'; if (xhr.responseText) { errorMessage += xhr.responseText; } Swal.fire({ icon: 'error', title: '권한 삭제 실패', html: errorMessage, confirmButtonText: '확인' }); } }); } else { Swal.fire({ icon: 'warning', title: '선택 없음', text: '권한을 선택해주세요.', confirmButtonText: '확인' }); } }); 이렇게 서버로 코드를 보내고 있고, @DeleteMapping("/setting/{projPK}/revokePermission") @ResponseBody public ResponseEntity<String> revokePermissions(@PathVariable Long projPK, @RequestBody Map<String, Object> requestBody) { try { List<Long> userPKs = ((List<?>) requestBody.get("userPKs")).stream() .map(Object::toString) .map(Long::valueOf) .toList(); Long perPK = Long.valueOf(requestBody.get("perPK").toString()); for (Long userPK : userPKs) { log.info("revokePermission projPK: {}, userPK: {}, perPK: {}", projPK, userPK, perPK); userPermissionService.revokePermission(projPK, userPK, perPK); } return ResponseEntity.ok("권한 거부 완료"); } catch (IllegalStateException e) { return ResponseEntity.status(HttpStatus.CONFLICT).body(e.getMessage()); } catch (Exception e) { return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("권한 거부 중 오류가 발생했습니다: " + e.getMessage()); } } 서버에서 값을 받으면 @Override @Transactional public void revokePermission(Long userPK, Long projPK, Long perPK) { List<UserPermission> userPermissions = userPermissionRepository.findByUser_UserPKAndProject_ProjPKAndPermission_PerPK(userPK, projPK, perPK); if (userPermissions.isEmpty()) { throw new IllegalStateException("해당 사용자는 부여된 권한이 없습니다."); } userPermissionRepository.deleteAll(userPermissions); log.info("Deleted permissions for userPK: {}, projPK: {}, perPK: {}", userPK, projPK, perPK); } 보내진 값을 확인하고 값이 있으면 그 값을 삭제하고 값이 없으면 에러 메시지를 발송되게 해놨습니다. 추가로 작성하자면, 체크된 사용자를 권한삭제 버튼을 클릭했을 때 권한선택창이 뜨고 수정 권한 삭제를 클릭하면, 완료되었다는 알림창이 뜨고 서버쪽에서는 이렇게 로그가 발송되지만, DB에 찾아보면 여전히 값이 남아있는 것이 확인이 됩니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 초반에 HellospringApplication의 main 을 실행했을떄 다른거는 다 잘나오는데, stop을 했을경우 위와같이 에러가 나옵니다ㅠㅜ 혹시 그냥 중지해서 나오는걸까요? 아니면 어떤 부분이 잘못된건가요?
동영상은 17분 30초쯤 해당됩니다. 여기서 class X에 method2()를 하면 본인 classX가 아니라 classY의 method2()로 간다고 하셨는데 그럼 만약 classX에 metho2()가 this.method2()로 바뀌면 classX의 method2()로 가는 건가요? 감사합니다
코드 시작할때 부모의 car을 먼저 부르고 그다음 자식것을 호출하는것은 잘 알겠습니다. 만약에 스타트 엔진이라는 메서드가 자식에게도 있었다면 오버라이딩이 우선, 재정의된 자식것이 출력 -> 다음코드진행 위의 car처럼 부모것을 부르고, 자식것을 출력 -> 출력 (이게 성립되려면 스테틱이 붙어서 하이딩이 되어야 하는지..?) 답변 요청드립니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] @PostMappping("/members/new") public String create() 여기에 Memberform form 을 파라미터로 넣었는데, Memberform 클래스를 사용하지 않고 이런식으로 그냥 Member 만 사용해서 바로 join이 가능한가요? 가능하지만 MemberForm 클래스를 활용하는 데 장점이 존재하기 때문에 MemeberForm 클래스를 사용하는건가요? 아니면 아예 아래 코드처럼은 불가능한건가요? @PostMapping("/members/new") public String create(Member member) { memberService.join(member); return "redirect:/"; }
SQL table을 생성하면 Field, Type, Null, Key, Default, Ext 순으로 있는데 Field, Type, Null, Key, Ext은 테이블 만들때 다 다뤘던거라 알겠는데 Dafult는 항상 NULL이라고 되어있는데 어떤건지 잘 모르겠더라구요. 그리고 NOT NULL이라고 데이터 형식을 적으면 NULL 에 Yes라고 뜨는데 Default에는 NULL이라고 되어있어서 가끔 헷갈리기도 하는 것 같아요. Default가 의미하는게 무엇이고, 왜 항상 NULL이라고 되어있는지 궁금합니다
강의 내용과 무관한 질문인데요. C언어 문제들을 여러 개 풀다보니까 직관적으로 눈에 보이는 게 많아지긴 했습니다. 예를들어 반복문 안에서 배수를 구한다던지, null을 만나면 빠져나간다던지.. 배열 공부 중에 래그드 배열이라는 걸 알게됐는데 계단식으로 쪼개지는(?) 규칙성이 있더라고요. 그래서 말인데 혹시 래그드배열 관련 강의나 자료 올려주실 계획이 따로 있으실까요..? ㅎㅎ
if 문에 i%2 !=0 (i를 2로 나눴을때 0이 아니면 참) i가 0 일때 i++ 하면 1%2 !=0(참 이므로 continue) 그다음 21:05 i가 1일때 i++돼서 i가 2가 된 후 if문을 실행하잖아요 그러면 나머지가 0이므로 거짓이니까 printf문에서 2가 출력돼야 하는거 아닌가요?