출력값 str1==str2: true str1==str2: false 이부분 str2==str3: false 이게 맞죠? int형과 integer의 동일한 값은 ==나 equals 모두 true이지만 int와 int / integer와 integer끼리의 -128~127 외의 값은 ==로 비교 했을 때 false double은 == 비교 값은 모두 false new로 새로만든 생성자의 데이터 값은 값은 동일하여도 메모리 주소의 값이 달라서 ==와 equals(메서드 지정x)은 모두 false이며 같게 하려면 본 동영상 8분30초 부분 메서드와 같아야 equals가 true가 나오는 거죠? 처음 equals가 값만 같으면 ture라고 생각했는데, new생성자는 값이 같아도 메모리 값이 달라서 메서드가 없으면 equals도 결과 값이 false가 나오네요 처음 str="hello"가 같은 메모리 주소를 가르켜 equals메서드가 따로 없어도 ture가 나온다는 점을 잘 알아야 겠네요
33강에 27-30분대를 보면 SecurityConfig 클래스에서 .formLogin을 .oauth2Login으로 바꾸고, TodoController 에서 CustomUserDetails로 받았던 사용자 정보를 CustomOAuth2User 로 바꾼 것으로 보이는데,, 일반 로그인 시에 사용할 로직과 소셜 로그인 시에 사용할 로직을 둘 다 두지 않고, 소셜 로그인 하나만 사용하는 것으로 진행하려고 바꾸는건가요??
function selectTodo(id) { const targetTodo = arr.find(todo => todo.id === id); if (targetTodo) { setCurrent(targetTodo); } else { setCurrent(null); } } 또는 selectTodo 함수의 파라미터를 선택한 todo 객체 자체를 넘기는 것으로 처리했을 때 차이가 있을 까요? function selectTodo(todo) { setCurrent(todo) }
안녕하세요. 영상 10:00쯤(정확히는 10:39)에 printf(*(*ptr_b+1)); 부분 설명해 주실 때 *ptr_b+1은 ptr_b주소에서 char크기만큼 증가시키는거라고 설명해 주셨습니다. 그런데 이전 영상에서는 출력할때 포인터변수명 앞에 *(별표)를 붙이면 주소가 아닌 값을 가져오는거라고 설명해 주셨는데, 여기서는 왜 값이 아닌 주소를 불러오는건지 문의드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] join 문제와 풀이2에서 문제 1번에 대한 질문입니다. 풀이는 아래 쿼리 중 1번의 형태로 해주셨는데 저는 풀이 보기 전 혼자 풀었을 때 2번의 형태로 작성을 했는데... 일단 동작은 둘 다 같은데 유지보수적인 면이라던지 의미적인 면이라던지 더 좋은 형태가 있는 지, 둘의 차이가 있는 지 궁금하여 질문 드립니다. 1번 쿼리 SELECT m.employee_id, m name , m.manager_id, e name FROM employees e JOIN employees m ON e.employee_id = m.manager_id WHERE m.manager_id = 4 2번 쿼리 SELECT e.employee_id, e name , e.manager_id, m name FROM employees e JOIN employees m ON e.manager_id = m.employee_id WHERE e.manager_id = 4
제가 아래의 사이트를 자체 서버를 만들어 구동을 해보았습니다. 물론 테스트 및 학습용으로.... http://112.166.186.238/ 사용한 것들 App서버: FastAPI로 백엔드 api와 간단한 프론트 엔드 DB 서버: MySQL Redis 서버 Nginx 서버 Portainer.io를 이용해, Dockerfile로 이미지 생성하고 4개의 컨테이너를 만들어, 구동시켰습니다. 서버는 제가 쓰던 오래된 개인 PC(아마도 족히 15년가까이된 구닥다리 컴퓨터)에 우분투 22.04.5 LTS를 설치해서 서버 구동을 시켰습니다. 제가 전공자는 아니고, 완전히 다른 직업군에 있는 사람이라... 몇년전에 장고, 플라스크로 웹어플리케이션 공부를 한적이 있는데 그때 웹프레임워크만 제외하고 똑같은 방식으로 서버구동을 시켜본 적이 있는데... 이번에 FastAPI로 한번 더 공부하면서 구축해보았습니다. 아직, docker-compose.yml로 docker swarm 구축을 해보지는 못했구요... 그런데 여기까지 오면서 궁금해진것이 바로 직전에 질문하신 분처럼 nginx서버 설정을 하다보면, FastAPI코드에서 굳이 없어도 될 부분의 설정부분이 있을 것 같은데.... 그게 어떤것인지 궁금해지더라구요... 예를 들면, 정적파일 처리를 nginx에서 처리하는 경우 app.mount()가 필요없을 것 같은데... 답변이 그렇게 되어 있어, 예상했던 데로 였습니다. app.mount()가 설정이 있어도 무방한 것인지 궁금합니다. 또한 저는 정적파일 css. js 파일들은 nginx에서 처리하지 않도록 했는데... 바뀔수가 있을 것 같아서... 여기서 궁금한것: 이렇게 해도 무방한 것인지 궁금합니다. (참고로, 저는 static/media폴더 안에 user_images, user_videos폴더를 만들어 user가 업로드하는 파일들을 그 폴더안에 저장하게 로직을 작성했습니다. nginx에서 이 디렉토리를 찾아갈 수 있게 해 놓았고, volume mount를 해서 컨테이너가 삭제되더라도 사용자가 올린 실제 이미지들이 삭제되지 않게 했놨습니다. ) MySQL서버와 Redis 서버를 찾아가는 FastAPI코드가 있고, yml파일로 컨테이너를 만드는 코드를 작성할 때, network로 서로를 연결하게 될텐데.... 이때 MySQL서버와 Redis 서버를 찾아가는 FastAPI코드가 없어야만 되는지, 아니면, 있더라도 상관이 없는 것인지... 그것도 궁금합니다. 이 두가지 말고도 yml작성시에 들어가는 내용때문에 FastAPI코드에서 굳이 없어도 부분이 있는지 궁금합니다. 감사합니다.
안녕하세요, 프론트엔드(구), 백엔드 강의 모두 구매한 1인입니다 ㅠㅠ 다름이 아니라, [코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스 관련해서 -> 할인 쿠폰을 받을 수 있을 지 문의드립니다. 추가로, 완벽한 백엔드 코스는 11월 중에는 출시가 될까요? 이것도 기존 구매자들에게 할인이 있을지 문의드립니다. 마지막으로, 제가 앱 개발(플러터)일만 하다가 -> 리액트+리액트 네이티브로 전환하는 과정에서, 현재 회사에서 외주를 주는 상황에서 -> 지그재그 같이 화면 width를 600px로 고정을 할 계획인데, 이 과정에서 디자인을 figma로 만들때, 어떤 식으로 전달을 해야되는지도 문의드립니다! 강의 내용중에 expo와 react native로 커버가 가능한 부분일지도 문의드립니다 ㅠㅠ https://inf.run/8p6wg 코드캠프
실무에서도 복수 항목에 대해서 원자성을 고려해 테이블을 분리하는지 궁금합니다. 예를 들어, 카드 정보라는 테이블이 있을 때, 혜택이라는 컬럼에는 '캐시백', '쿠폰 할인' 이런 식으로 복수의 데이터가 들어가게 되는데, 그럼 따로 카드 혜택이라는 하위 테이블을 만들어서 관리하나요? 이런 복수 항목이 늘어날 때마다 테이블을 하나씩 만들어야 하는지... 테이블 구조가 복잡해지는 느낌이 들어 질문드립니다.
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분 어느 부분에서 막히셨나요? 코드의 어떤 로직이 이해가 안 되시나요? 어떤 개념이 헷갈리시나요? 3. 시도해보신 내용 문제 해결을 위해 어떤 시도를 해보셨나요? 에러가 발생했다면 어떤 에러인가요? 현재 작성하신 코드를 공유해주세요 안녕하세요 강의 잘 보고 있습니다. 저는 강의를 보고 아래와 같이 이해를 했습니다. 1.API 별 실행 쿼리 모니터링 구현 2.그러면, 모든 api 엔드포인트에 대한 쿼리 min , max값을 알 수 있음. 질문1 근데, 그렇게 되면 실제로 서비스에 필요한 코드와 모니터링 코드가 불필요하게 섞이는 거 아닌가요? 왜냐하면, 실제 모니터링이라고 하면 서버를 유지보수할 때, 필요한 데이터를 실시간으로 받아와서 시각화한다는 것으로 이해를 했습니다. 그런데 "API 별 실행 쿼리 모니터링 구현"은 서버의 유지보수에 필요한 모니터링 기능이 아니라, 1번만 딱 실행되면 되는데 이 부분이 왜 모니터링 구현으로 분류가 되는지 잘 모르겠습니다! 질문2 API 별 실행 쿼리 모니터링 구현 부분에서, 실무에서도 "API 별 실행 쿼리 모니터링을 구현"해서 사용하는게 맞나요? 잘은 모르겠지만, 쿼리 분석이나 다른 방법이 있을 것 같은데 왜 이 부분이 서비스 코드 내에 포함을 시키면서까지 모니터링의 영역으로 분류가 되는지 잘 모르겠습니다 ! 질문3 만약에 실무에서는 해당 방법을 잘 사용하지 않는다면 API 별 실행 쿼리 횟수를 보통 어떤 식으로 측정을 하는건가요??? 감사합니다 ! 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다!
역할 및 발생 시점에 따른 엔티티 분류를 설명하는 파트에서 궁금한 점이 있습니다. 지난 강의까지 주문 엔티티는 사건 발생의 결과물(즉, 주문 이력)이 기록되는 엔티티라고 이해했었는데요. "엔티티 분류1" 강의에서는 기본, 중심, 행위 엔티티 로 나눠서 생각해볼 수 있다고 했습니다. 그때 중심 엔티티 에서도 예시가 주문 으로 나와있고, 행위 엔티티 에서도 주문 이력 으로 나와 있는데, 이 두 개가 다른 경우인가요? 중심 엔티티의 주문 과 행위 엔티티의 차이 가 무엇인가요? 감사합니다.
안녕하세요, nullable 프라퍼티가 없다면 null를 방어하는 방식에 대해 궁금한 점이 있어 질문남깁니다. 14. Member 도메인 로직 개발 - 생성자에 requireNonNull() 사용 15. 스프링을 이용한 널(null) 안정성 확보 - SpitBugs 플러그인 - package-info 에서 @NonNullApi 이렇게 세가지 방법을 배웠는데요, SpitBugs 플러그인이 "빌드과정에서 정적 분석을 하여 애노테이션 의미와 부합하지 않으면 에러를 내준다" 라는 말씀에 " 그럼 도메인에 Nullable 프라퍼티가 없으면 requireNonNull() 사용 없이 단순히 @NonNullApi + SpotBug만 사용해도 되지 않을까..? " 의문이 들었습니다. 3가지 모두 사용하는게 Null 방어에 괜찮을까요? 아니면 제가 이해한 대로 SpotBug 플러그인 + @NonNullApi 로만 사용해도 충분할까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. select coalesce ( to_char ( b . order_date , 'yyyy' ), '총매출' ) as year , coalesce ( to_char ( b . order_date , 'mm' ), '연매출' ) as month , coalesce ( to_char ( b . order_date , 'dd' ), '월매출' ) as day , sum ( a . amount ) as sum_amount from nw . order_items a join nw . orders b on a . order_id = b . order_id group by rollup ( to_char ( b . order_date , 'yyyy' ), to_char ( b . order_date , 'mm' ), to_char ( b . order_date , 'dd' )) order by 1 , 2 , 3 ; case when 안쓰고 coalesce 해도 괜찮을것 같아요!
npm run start 이후 이런 오류가 계속해서 나오는데 어떤 이유일까요 prisma/seed/seed.ts:1:30 - error TS2307: Cannot find module '../generated/prisma/client' or its corresponding type declarations. 1 import { PrismaClient } from '../generated/prisma/client';
김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
강의에서 stock_quantity 칼럼의 제약 조건으로 다음과 같은 구문을 작성하였는데, stock_quantity INT NOT NULL DEFAULT 0 해당 구문에서 NOT NULL 제약조건을 두지 않더라도 DEFAULT 0만 작성하여도 충분히 해당 칼럼이 NULL값이 되는 걸 방지할 수 있으리라 생각이 되어서요. NOT NULL 제약조건을 반드시 작성해야하는 걸까요? 아니면 개발자의 코드 작성 의도를 더 명확히 하고자 작성하는 걸까요?