분류 전체보기 309

26. mylog 익명 ID

로그인하지 않은 사용자의 조회수 카운트를 위하여 고유의 익명 ID를 생성하여 구분을 합니다. 고유의 익명 ID를 생하기 위하여 uuidv4를 사용합니다. uuidv4는 Universally Unique Identifier version 4의 약자로, 고유한 식별자를 생성하는 표준 중 하나입니다.ChatGPT에게 물었습니다.uuidv4를 설명해줘 ChatGPTuuidv4는 Universally Unique Identifier version 4의 약자로, 고유한 식별자를 생성하는 표준 중 하나입니다. UUID는 네트워크 상에서 고유성을 보장해야 하는 다양한 경우에 사용됩니다. uuidv4는 무작위(random) 데이터를 기반으로 UUID를 생성하는 방식으로, 총 128비트(16바이트) 크기의 값을 가지고 있..

Vue로 PWA 개발 2024.10.24

25. mylog 날짜별 조회수

조회수에 대해 ‘/views/{postId}/users/{userId or anonymousId}’ 구조에 lastViewed 항목 즉 마지막 조회날짜 하나만 가진다면, 날짜별 조회수를 구할 수 없습니다. 사용자가 조회한 각 날짜 정보를 가져야 날짜별로 조회수를 구할 수 있습니다.ChatGPT에게 물었습니다.lastViewed를 배열로 해서 조회 시간을 계속 추가하고 싶어 ChatGPTlastViewed 필드를 배열로 만들어 사용자가 해당 글을 조회할 때마다 조회 시간을 배열에 추가할 수 있습니다. Firestore는 배열 데이터를 지원하며, 배열에 항목을 추가하거나 업데이트할 수 있는 기능을 제공합니다. 이를 사용하면 사용자가 글을 조회할 때마다 조회 시간을 배열에 계속 추가할 수 있습니다.Firest..

Vue로 PWA 개발 2024.10.24

24. mylog 조회수 컬렉션

조회수 컬렉션이 ‘/views/{postId}/users/{userId or anonymousId}’와 같은 구조를 가집니다.ChatGPT 에게 물었습니다.위 예제에서의 views 컬렉션 구조 설명해줘 ChatGPTviews 컬렉션은 각 글에 대한 조회 기록을 관리하기 위한 구조입니다. 특히, 회원과 비회원이 하루에 한 번만 조회수를 증가시키도록 조회 기록을 저장하는데 사용됩니다. 이 구조는 Firestore에 저장되며, 각 사용자의 조회 기록을 날짜와 함께 저장하여 중복 조회를 방지합니다.views 컬렉션 구조views 컬렉션은 특정 게시글(postId)에 대한 각 사용자의 조회 기록을 저장하는 방식으로 설계됩니다. 이를 통해 해당 사용자가 해당 게시글을 언제 마지막으로 조회했는지 확인할 수 있습니다...

Vue로 PWA 개발 2024.10.23

23. mylog 조회수

마이로그의 조회수는 사용자가 로그인을 하지 않아도 카운트되며, 한 사용자에 대해 하루에 여러번 조회를 해도 하루에 한번만 카운트합니다.ChatGPT에게 물었습니다.forestore를 사용하고 쓴글에 대해 회원이든 아니든 하루 몇번을 방문하든 조회수는 하나로 한 조회수를 알고 싶어. ChatGPTFirestore를 사용하여 작성된 글에 대해, 회원이든 비회원이든 하루에 여러 번 방문해도 조회수를 한 번만 증가시키는 방법을 구현할 수 있습니다. 이 작업은 Firestore에 사용자별로 조회 기록을 저장하고, 하루에 한 번만 조회수를 증가시키는 방식으로 해결할 수 있습니다.요구사항 분석회원: 회원일 경우 회원 ID를 기준으로 조회 여부를 판단하여 조회수를 하루에 한 번만 증가시킵니다.비회원: 비회원일 경우 쿠..

Vue로 PWA 개발 2024.10.23

22. mylog 쓰기

마이로그 로그 쓰기로 마이로그를 쓰면, 앱은 마이로그를 forestore에 저장한 후 홈페이지로 이동합니다. 사용자가 입력하는 것은 제목과 내용이지만, 홈페이지 마이로그 리스트에는 글쓴시간, 글쓴이 이름 등의 정보들이 보입니다. 이들 정보는 마이로그를 저장할 때 웹앱이 자동으로 추가합니다. 앞으로 조회수 등의 정보도 추가될 것입니다.src/views/WriteMyLogView.vue 마이로그 - 내 일상의 기록 저장 saveMylo..

Vue로 PWA 개발 2024.10.23

21. mylog 홈페이지

사용자가 마이로그에 접속을 하면 홈페이지가 열리고 홈페이지는 등록된 마이로그 리스트를 나타냅니다. 홈페이지는 등록된 모든 마이로그를 리스트로 보여주고, 이 리스트 중에서 마이로그를 선택하면 마이로그 보기 화면으로 이동한 후 마이로그의 내용을 보여줍니다.1. 마이로그 홈src/views/HomeView.vue {{ error.message }} {{ mylog.title }} {{ mylog.userName }} {{ mylog.createdAt.toDate().toLocaleString() }} {{ mylog.content }} ..

Vue로 PWA 개발 2024.10.22

20. mylog 접속

사용자가 웹앱에 접속하면 마이로그는 홈페이지를 보여줍니다. 마이로그가 사용자에게 홈페이지를 보여주기까지 등록된 전체 마이로그를 로드하고, 등록된 전체 회원 정보도 로드하고, 자동 로그인을 통해 로그인 한 사용자의 계정 정보로 로드합니다. 물론 이전에 로그아웃을 하였거나, 이전에 로그인한 경우가 없는 사용자라면 현재 접속한 사용자 정보는 없습니다. 웹앱이 홈페이지를 사용자에 보여주기까지의 과정을 살펴봅시다.src/main.js// src/main.jsimport Vue from 'vue'import App from './App.vue'import './registerServiceWorker'import router from './router'import store from './store'import vu..

Vue로 PWA 개발 2024.10.22

19. mylog 자동 로그인

사용자가 웹앱의 홈페이지에 접속하면 자동으로 로그인을 합니다.ChatGPT에게 물었습니다.onAuthStateChanged 설명해줘 ChatGPT onAuthStateChanged는 Firebase Authentication에서 사용자의 로그인 상태 변화를 실시간으로 감지하는 메서드입니다. 이 메서드를 사용하면 사용자가 로그인하거나 로그아웃할 때마다 즉시 반응하여 앱의 상태를 업데이트할 수 있습니다.1. 사용 예시onAuthStateChanged 메서드는 Firebase에서 제공하는 auth 객체를 사용하여 구현됩니다. 이 메서드는 로그인 상태의 변화를 감지하고, 그에 따라 콜백 함수를 실행합니다.2. 주요 기능:사용자가 로그인하면 onAuthStateChanged는 로그인한 사용자의 정보를 반환합니다...

Vue로 PWA 개발 2024.10.22

18. mylog 줄바꿈

게시물 세부정보 보기에서 줄 바꿈을 활성화하려면 게시물 콘텐츠를 HTML로 렌더링하는 메서드를 사용해야 합니다. Vue는 v-html 지시문을 사용하여 HTML을 렌더링하는 방법을 제공하지만 XSS(Cross-Site Scripting) 공격을 피하기 위해 HTML 콘텐츠를 사용을 제한합니다.ChatGPT에게 물었습니다.What is sanitize-html?sanitize-html가 뭐야?ChatGPT sanitize-html is a popular npm package used in Node.js applications to clean and sanitize HTML content. It is designed to remove any potentially harmful or malicious code..

Vue로 PWA 개발 2024.10.19

17. mylog 보기

mylog 보기를 구현합니다. 보기 화면에 조회수, 구독, 댓글, 답글 등의 기능이 추가될 것입니다.Create a detailed view screen for the article you wrote.쓴 글의 상세보기 화면을 만들어 줘.ChatGPT To create a detailed view screen for an article using Vuetify, you can follow these steps:Vuetify를 사용하여 기사에 대한 상세 보기 화면을 만들려면 다음 단계를 따르세요.Set Up Firebase Firestore: Ensure Firebase Firestore is correctly set up in your Vue project.Firebase Firestore 설정: Vue ..

Vue로 PWA 개발 2024.10.19