디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)
안녕하세요. 강의 잘 듣고 있습니다. autopsy를 통해 시험을 준비하려고 하는데, 강의에서 알려주신 분석항목을 설정해서 이미지 분석을 돌렸을 때 시간이 얼마나 걸렸다는 내용을 들으신게 있으실까요? 아무래도 실제 문제는 예제 이미지보다 시간이 더 걸릴 것으로 예상되는데, 그 부분이 가장 불안하네요...ㅠㅠ
안녕하세요? 주문별 연관 상품 추출 SQL에서 SELECT a.order_id, a.product_id, b.product_id from ga.order_items a join ga.order_tems b on a.order_id = b.order_id where a.product_id <> b.product_id 위 코드와 같이 where 절 안에서 같은 product_id가 조인 되는 경우를 filtering 하였습니다. 혹시 join 조건절에서(아래 sql과 같이) filtering 하지 않고 where 절에서 하는 이유가 있을까요? SELECT a.order_id, a.product_id, b.product_id from ga.order_items a join ga.order_tems b on a.order_id = b.order_id and a.product_id <> b.product_id
while문 사용하는 이유가 if(sum==m) answer++; 같은 코드 반복 하지 않기 위함이겠죠??? 아니면 또 다른 이유가 있을까요~? 감사합니다. import java.util.Scanner; public class Main { public int solution(int n, int m, int[] arr) { int answer = 0, lt=0, sum=0; for(int rt=0; rt<n; rt++) { sum += arr[rt]; if(sum==m) answer++; else if(sum>=m) { sum -= arr[lt++]; if(sum==m) answer++; } else { sum+=arr[rt]; if(sum==m) answer++; } } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int[] arr = new int[n]; for(int i=0; i<n; i++) { arr[i] = sc.nextInt(); } System.out.println(T.solution(n,m,arr)); } }
🚨질문 작성법 및 안내사항 질문 작성법 - 몇 섹션의 어떠한 강의에 대한 질문인지 작성해주세요. (ex. 섹션2 조건문에 대한 질문) - 질문은 최대한 구체적으로 작성해주세요. - 비슷한 질문이 올라와있는지 확인해주세요. - 코드가 포함된 질문은 아래와 같이 코드블록을 사용해주세요. console.log("hello world"); 안내사항 - 질문에 대한 답변은 보통 주말, 공휴일을 제외한 평일 오전 시간 에 답변해드립니다. 강의에서 종료 라는 문장을 정말 이 코드가 종료됐을 때 출력하고싶다면, 우리는 콜백함수를 이용해 해당 코드를 인수로 넘겨주어야합니다. 이 부분이 이해가 되지 않습니다. 콜백함수로 왜 넘겨줘야하는지 헷갈립니다. <이렇게는 안되나요> const work = () => { 2 setTimeout(() => { 3 console.log("3초만 기다리세요"); 4 console.log("종료"); 5 }, 3000); 6}; 7 const work = (callback) => { 2 setTimeout(() => { 3 console.log("3초만 기다리세요"); 4 callback(); 5 }, 3000); 6}; 7 8 work(() => { 9 console.log("종료"); 10}); setTimeout(() => { 2 console.log("3초만 기다리세요"); 3}, 3000); 4 5console.log("종료");
제가spring webflux를 공부하다가 궁금한게 있어서 이렇게 질문 남깁니다. webflux는 비동기 프로그래밍을 지원하기 때문에 적은 쓰레드 수로도 대량의 트래픽을 처리할 수 있다고 알고 있는데요. [ 실제로 사용자 요청을 받는 main 쓰레드는 한 개만 생성되는지 궁금합니다. ] webflux는 블로그를 보다가 default값으로 core 당 한개의 쓰레드가 생성한다고 본거 같은데.. 이게 main 쓰레드는 한개 인데 sub 쓰레드(block 상태 풀린 쓰레드 요청 처리 용, event loop 처리 용 등)들이 core 갯수까지 추가적으로 생성된다는건지(main + sub == core수), 아니면 main 쓰레드가 실제로 코어 수만큼 생성이 된다는 의미인지 잘 모르겠네요.. 마지막으로, 후자가 맞다면 webflux는 소수의 main 쓰레드로 멀티 쓰레딩 지원과 비동기 프로그래밍을 지원한다고 보면되는걸까요?
게시판을 보면 한 질문에 몇명이 추천했는지 볼수있다. 인프런을 예로들면 따봉수를 말할수 있겠죠 이런건 한사람이 여려 질문에 추천가능하고, 질문 하나에 여러 사람이 추천할 수 있으니 다대다 관계로 풀 수 있다고 생각합니다. 코드로 풀어보면 아래와 같이 쓸수 있다고 생각합니다. @Getter @Setter @Entity public class Question { @ManyToMany Set<SiteUser> voter; } 한사람당 하나의 질문에는 딱한번 추천이 가능하니 Set로 사용자ID를 두고 다대다관계로 풀었습니다. 추천수는 필드를 추가할 일도 없으니 굳이 연결엔티티를 만들어야 하는지 궁금합니다. 실무에서는 이런경우에도 연결 엔티티를 만들어서 다대다관계를 일대다, 다대일 관계로 푸나요??
consumers.py from django.contrib.auth.models import User from django.shortcuts import get_object_or_404 from channels.db import database_sync_to_async from channels.generic.websocket import AsyncJsonWebsocketConsumer from chat.models import Chat, Room class ChatConsumer(AsyncJsonWebsocketConsumer): def __init__(self): super().__init__() self.group_name = "" self.room = None # .. 생략 .. async def chat_room_delete(self, message_dict): print(message_dict, "chat_room_delete") custom_code = 4000 await self.close(code=custom_code) # .. 생략 .. 채팅방 삭제 요청 시, 실제 데이터를 삭제하는 것이 아니라 채팅방의 상태를 비활성화하도록 is_active=False로 변경처리하게 로직을 작성해놨습니다. 그래서 아래와 같이 signal을 작성하였는데요. @receiver(post_save, sender=Room) def room_on_post_save(sender, instance, **kwargs): if instance.is_active: return print("동작여부 확인") channel_layer = get_channel_layer() print(channel_layer.__dict__) channel_layer.group_send( instance.chat_group_name, { "type": "chat.room.deleted", }, ) 삭제 시, 해당 함수가 실행되긴 하지만 group_send 가 되지 않는지 다른 유저의 브라우저 콘솔창을 보면 방 삭제 관련 메세지가 뜨지를 않습니다. 어디가 잘못되었는지, 어느 부분을 수정해야 하는지 알고 싶습니다.
안녕하세요 Phaser3 강의를 듣고 있는 학생입니다. // camera가 가는 곳으로 background가 따라 움직이도록 해줍니다. this.m_background.setX(this.m_player.x - Config.width / 2); this.m_background.setY(this.m_player.y - Config.height / 2); // tilePosition을 player가 움직이는 만큼 이동시켜 마치 무한 배경인 것처럼 나타내 줍니다. this.m_background.tilePositionX = this.m_player.x - Config.width / 2; this.m_background.tilePositionY = this.m_player.y - Config.height / 2; 이렇게 하면 카메라도 고정이고, 무한배경도 구현할 수 있는걸 알게되었습니다. 그런데 어느 게임처럼.. 배경의 크기가 좀 크지만 정해져있고, 플레이어가 배경 끝에 다다르기 전까지는 시점이 중앙 고정이었다가, 배경의 끝에 다다르게 되면 카메라 시점 고정이 풀리게 되는 방식을 만들기 위해서는 어떻게 해야될지 모르겠어서 질문 남겨드립니다!
7.9 조건 연산자 6:10 질문입니다 위에서 사실이면 true가 is_even에 대입되고, 거짓이면 false가 대입되는거잖아요 그런데 아래 if(is_even)에서 (is_even==true) 이렇게 안들어가고 is_even만 들어가는 이유가 뭔가요? is_even만 쓰면 true일때인지 false일때인지 알 수 없는거 아닌가 생각이들어서요..!