zustand에 저장과 cookie 저장에 대해 보안적으로는 cookie가 더 안전하다고 들었습니다. xss 공격에는 HttpOnly를 통해 해결할 수 있지만 반환된 accessToken을 js로 접근하지 못하다 보니 저장을 할 수 없는 문제가 있지만 secure을 통해 https에서만 요청가게 할 수 있으며, sameSite를 통해 csrf의 공격에 방어할 수 있다 해서 secure, sameSite를 사용해 accessToken을 쿠키에 저장하는게 더 좋은 방법이라 생각 했는데 어떤 방식을 주로 사용하나요?
1.커뮤니티 라는 버튼이 없음 2. 영상 (조건문 5:30초 ~ ) 3. 수업자료를 출력해서 보고있는데 개판으로 입력되어있네요...? 8만원짜리 강의 퀄리티면 조금 더 신경써주시면 좋겠네요... 아주 기본적인 조건문 예시 class NumberCount { public static void main(String[] args){ int number =3 ; if (number >5){ System.out.println("5보다 크네요"); }else{ System.out.println("5보다 크지않아요"); } } } 출력값 : 5보다 크네요 로 표기되어있는등 아주 기본적인 예시 임에도 불구하고 수업자료가 개판으로 작성되어있네요 초반에 출력해서 사용하시던가 , 다운받아보면된다고 하셨는데 종이만 날린꼴입니다. 종이 낭비는 둘째치고 너무 기본적인 코드에서 이런 상식적이지않은 실수를 해놓으시니 조금 당황스럽네요.
안녕하세요. 한글 파일 20개가 있는데, 여기저기 짜집기해서 스타일이 엉망진창입니다. 표와 글상자, 미주, 각주 스타일도 있고요. 이걸 싹 다 바탕글 스타일로 바꾸고, 스타일 리스트도 다 지워서 바탕글 스타일 1개만 남기도록 하는 방법을 ..... 낑낑대고 있씁니다. ꈍ◡ꈍ 즉 이렇게 바탕글만 남기고 싶습니다. 이렇게 전부 디폴트로 만든 후에 다시 바탕글 스타일을 11pt, kopub돋움L로 설정된 스타일로 바꿔야 합니다. 방법이 있을까요?
아무리 grafana접속해봐도 안뜨네요 ㅠㅠ grafana삭제하고 재성성해봐도 똑같아요. 아래는 pod로그입니다. info 레벨만 제외하고 로그 추출해봤어요 로컬로 실행해도 아래처럼 나와요 강의대로 하다보면 kubernetes-dashboard는 30000 노드포트가 열려있고, grafana는 30001 저는 30010으로 했는데 여튼, 로컬에서 telnet 으로 해보면 30000포트는 열리는데 30010 은 안열립니다. 겉에서 봤을때는 서비스가 떠있지만 제대로 외부에서 날려보면 응답이 없는상태입니다. 그런데 마스터서버 들어가서 curl날려보면 302가 나옵니다. 검색해보고 찾다찾다 안되서 다시 글남겨봅니다 ㅠㅠ
안녕하세요. 새로 올려주신 강의를 흥미롭게 듣고 있습니다. 저는 아이폰을 이용해서 테스트 중인데, 안드로이드와는 좀 다른 움직임이 있어서 질의드립니다. 권한 설정화면 Link되면 저희가 구성한 하이브리드 앱이 웹뷰로 더 이상 연결되지 않는것처럼 보입니다. 이 부분 어떻게 해결할수 있을까요? 그리고 권한 설정화면으로 이동하여 권한을 수정한 후 제거하고 ( 해당 화면은 권한을 설정한다고 해서 사라지거나 하지 않습니다 ) expo로 돌아오면 active가 들어와야 하는데 그렇지 않습니다. 코드에 setInterval을 줬으니 뭔가 주기적으로 수행하지 않을까 싶어서 로그를 줘봤으나 전혀 구동하지 않았습니다. 여러가지 테스트를 해보았는데, 앱권한 설정페이지로 이동하는 쿼리인 openDeviceSystemForSettingSet을 호출하면 앱의 권한 화면이 Link되고, 그러면서 기존의 하이브리드 앱이 웹뷰로 연결되지 않는것 같습니다. 제 코드가 잘못되었나 싶어서 setInterval을 없애고 fetch의 순서를 바꿔봤습니다. openDeviceSystemForSettingSet을 맨뒤에 배치해봤을때는 모든 결과가 잘 들어왔습니다. 그러나 6-2와 같이 openDeviceSystemForSettingSet를 먼저 호출하고 이후에 fetchDeviceLocationforPermissionSet이나 fetchDeviceSystemForAppStateSet의 fetch를 수행하려 하면 작동하지 않습니다. 인공지능에게 문의하니 상태 구독을 하라고 하여 아래와 같이 구독을 mobile의 index.tsx에 추가하였습니다. React.useEffect(() => { const subscription = AppState.addEventListener("change", (nextAppState) => { if (nextAppState === "active") { console.log("✅ 앱이 다시 활성화됨. WebView에 메시지 전송!"); webviewRef.current?.postMessage("APP_ACTIVE"); } }); 그리고 page.tsx에는 app이 active가 되면 이를 받아올수 있도록 함수를 구성하고 그 안에서 fetchDeviceLocationforPermissionSet이나 fetchDeviceSystemForAppStateSet를 받아오도록 변경했습니다. useEffect(() => { const handleMessage = (event) => { if (event.data === "APP_ACTIVE") { console.log( "🔄 WebView에서 APP_ACTIVE 메시지 수신! fetchApp 다시 실행" ); checkPermissions(); } }; window.addEventListener("message", handleMessage); return () => { window.removeEventListener("message", handleMessage); }; }, []); const checkPermissions = async () => { try { console.log("📡 위치 권한 상태 확인 요청"); const result = await fetchApp({ query: "fetchDeviceLocationforPermissionSet", }); const status = result.data.fetchDeviceLocationforPermissionSet.status; webviewlog(` 위치 권한 상태: ${status}`); const appStateResult = await fetchApp({ query: "fetchDeviceSystemForAppStateSet", }); const isForeground = appStateResult.data.fetchDeviceSystemForAppStateSet.isForeground; webviewlog(` 앱 활성화 상태: ${isForeground}`); } catch (error) { console.error(" fetch 요청 실패:", error); } }; 이렇게 하니 앱이 활성화되면 이벤트 리스너를 통해 결과가 전달되어져 오기는 합니다. 강의에서 해주셨던 setInterval설정이 훨씬 간편하지라 아이폰에서 구성하려면 어떻게 해야할지 어떤 이유로 이렇게 되는지 궁금하여 질의드립니다. 2. 그리고, 원두님이 안드로이드를 통해 보여주신 것과 같이 허용함을 다시 묻지 않는데 이런 설정을 별도로 추가해야 하는걸까요? 제가 뭔가 누락한 건지 모르겠습니다. 원두님은 관련코드를 구성하지 않으셔도 사용에 대한 질의가 나타나는데, 저의 경우는 권한 설정기능이 바로 띄워집니다. 일반적인 앱들을 사용하다보면 권한 허용 질의 이후(모달창??)에 허용을 누르고 , 권한설정을 한 후 지도로 들어가고 그렇게 구성되는데 그런 구성이 누락되어 , 웹뷰 연동이 안되는것일까
안녕하세요 일프로님. 수업을 듣다 궁금한 점이 생겨 질문드립니다. 1.preStop sleep time을 5초로 잡은 기준이 무엇인지 궁금합니다. 구체적으로는 1)경험적으로 얻은 것인지 여부 2)하드웨어나 클라우드 서비스의 경우 EKS 같은 매니지드 서비스 마다 적절한 sleep time이 크게 달라질 수도 있을지 궁금합니다. 2. 기존 서비스의 sleep time을 40초에서 5초로 단축해도 괜찮을지 제가 인수인계 받은 사이드 프로젝트가 있는데 AWS EKS에 Spring 서버가 구현되어 있습니다. 현재 sleep time이 40초로 되어있는데 단축해도 큰 문제는 없을까요? *장애가 나도 괜찮은 서비스라 학습 목적으로 편하게 테스트 할 예정입니다.
안녕하세요! 우선 좋은 강의를 제공해주셔서 정말 감사합니다! 하지만 불편한 점이 있습니다. 강의 자료를 일일이 다운받으니 번거롭고 파일 병합하기도 힘드네요.. 타 강의와 비교하는 것은 죄송하지만, 다른 강의들은 모두 zip파일로 강의자료를 병합하여 업로드해주십니다. 본 강의도 강의자료를 병합하여 한번에 올려주시면 감사하겠습니다!
개발 20년차, 원론적으로 제대로 구조를 배워보고 싶어 영상강의를 듣는데, 정말 오랜만에 제대로 된 강의를 듣는것 같군요. 정말 강의 퀄리티 좋습니다. 잡설이 길었는데~~ 다름이 아니라, 현재 강이 백엔드API 서버를 NEST.JS 프레임웍을 이용해서 개발하신것 같은데, 다음번 강의는 NEST.JS 어떤 지요? 기다리겠습니다. ㅎ
30:11 해당 부분에 나온 구조체 문제 관련 의견드립니다. 표로 설명하기보다는 아래와 같이 설명하는 것이 직관적이지 않을까 싶습니다. head = &a 이므로 head = {10, null} 이 됩니다 다음으로 a.n2 = &b라 하였으므로, a의 n2 자리에 b 값을 넣으면 됩니다. 따라서, head = {10, {20, null}} 이 됩니다. 또 다음으로 b.n2 = &c라 하였으므로, b의 n2 자리에 c 값을 넣으면 됩니다. 따라서, head = {10, {20, {30, null}}} 이 되게 됩니다. 이때 head -> n2를 보라고 하였으므로, {20, {30, null}}을 보면 되고, 다시 n2->n1으로 n1을 보라고 하였으므로, 위의 구조체에서 n1에 해당하는 20이 답이 됩니다
4분쯤에 "볼륨을 제대로 잘 쓰려면 호스트의 디렉토리 경로를 빈 디렉토리로 만들던, 아니면 존재하지 않는 디렉토리로 만들어 놔야 이 컨테이너에 저장돼 있던 파일들을 이리로 붙여넣기를 해버립니다. 이렇게. 호스트에 파일이 이미 있으면 이렇게 컨테이너 기존에 있던 폴더 다 지워버리고 복사가 됩니다." 라고 하셨습니다. 근데 볼륨을 쓰는 이유가 호스트에 파일을 저장하여 mysql 컨테이너를 변경해도 저장된 값을 쓰게 하려는 것인데 호스트에 있는 파일을 매번 지워야한다면 볼륨을 쓰는 이유가 없는 거 아닌가요?
섹션 3에 있는 Snowflake 환경 익히기 실습에서 nps.csv 파일은 어디에 있나요? 환경 익히기 실습에서 진행하는 google colab 파일과 깃헙에 있는 country_capital_to snowflake.py 파일의 차이를 알고 싶습니다. 최종적으로 우리가 airflow를 사용하기 위해 스노우플레이크 내에 만들어져 있어야하는 스키마, 테이블 및 적재되어야하는 csv파일 정리해서 알려주시면 감사드리겠습니다.