본문 바로가기

Study60

Discourse 커뮤니티 사용에 대해 Discourse 플랫폼을 회사 사내 메신저로 도입하기 Discourse는 주로 포럼 소프트웨어로 알려져 있지만, 이를 회사 내부 메신저로 활용할 경우 여러 장점과 단점이 존재합니다. 또한, 오픈 소스 소프트웨어로서의 장점과 커스터마이징 가능성도 중요한 포인트입니다. 장점 오픈 소스 소프트웨어의 장점 비용 절감: Discourse는 오픈 소스 소프트웨어로 무료로 사용할 수 있습니다. 이는 초기 도입 비용을 절감할 수 있고, 라이센스 비용 부담이 없습니다. 자유로운 커스터마이징: 소스 코드가 공개되어 있어 회사의 필요에 맞게 자유롭게 커스터마이징할 수 있습니다. 기능 추가, 인터페이스 변.. 2024. 6. 14.
Firebase Auth 정보 이관 방법! ( Firebase CLI ) 최근 웹프로젝트의 이관 작업을 하면서 Firebase Auth 로 관리하던 User 정보를 export 해 타사에 전달하는 작업을 진행했습니다. 그 과정에서 처음으로 Firebase CLI 를 이용해봤는데요, CLI 라고 하면 대부분 거부감을 느낄 수 있지만, 생각보다 아주 간단한 작업이었습니다. 그 방법을 공유해보려고 합니다!   Firebase 프로젝트의 Authentication 데이터 내보내기 이 튜토리얼에서는 Firebase CLI를 사용하여 특정 Firebase 프로젝트의 Authentication 데이터를 내보내고, 해당 데이터를 처리하는 방법을 배웁니다. 1. Firebase 프로젝트 설정 확인 먼저, Firebase .. 2024. 6. 13.
개발자가 추천하는 Chat-GPT 이용 방법 제가 처음 chat-gpt 이야기를 들은건 2년전쯤인데요. 그때 개발자로서 이미 일하고 있었음에도 불구하고, 챗지피티 능력을 무시하고 1년 가까이 그저 구글에 검색하거나 공식 개발문서 등을 찾아가며 개발을 계속 했었습니다.그런데 1년전쯤부터해서 지금은 챗지피티 없는 개발은 상상하기도 싫네요...1년동안 챗지피티를 이용하면서 챗지피티에게 조금 더 나은 응답을 받을 수 있는 조건들을 몇 가지 알게되서 공유하려고 합니다!첫번째 ! Chat-GPT 에게 역할을 부여하기말 그대로, 질문 전에 chat-gpt 에게 '너는 xx 직업을 가지고 있는 전문가야. 지금부터 전문가의 입장으로 대답해줘!' 라며 chat-gpt 에게 역할을 부여하면 됩니다!비교 이미지를 보여드릴게요!첫번째 이미지가 단순히 자바언어에 대해 설명.. 2024. 6. 1.
국가 도메인 (.AI) 가비아에서 후이즈로 도메인 소유권 이전하기 최근에 도메인 소유권 이전 작업을 하면서 생각치도 못한 곳에서 꽤나 애를 먹었습니다. 가비아에서 구매한.ai 도메인을 AWS Route53 과 연동해 사용하고 있었고후이즈로 기관이전과 소유권이전을 동시에 진행해야 했습니다.해당 도메인을 소유권 이전하려고 가비아 도메인 관리 페이지에서 소유권 이전 버튼을 누르니 해당 도메인은 소유권 이전이 불가능하다는 팝업이 나타났습니다... 그래서 조금 검색을 해보니, .ai 도메인은 단순한 도메인이 아닌, "엥귈라" 라는 나라의 국가도메인이었습니다...?가비아에 직접 문의도 했었으나, 해당 도메인은 국가에서 관리하고 있는 최상위 도메인이기 때문에,시행중인 정책 상 소유권 이전이 불가능하다는 답변을 받았습니다. 그래서 해결 방법을 찾아 여기저기 문의하던 중 찾아낸 방법이.. 2024. 6. 1.
Linux ) 쉘 스크립트 작성해보기 실행파일 생성 vi 또는 vim 명령어를 이용해 [filename].sh 파일을 생성한다. 첫 줄에 #!/bin/bash 를 먼저 입력해줘야한다. #! 의 의미는 스크립트를 실행할 쉘을 지정하는 선언문이다. /bin/bash 의 의미는 bash 명령의 절대경로이다. ⇒ /bin/bash 의 쉘로 스크립트를 작성하겠다는 선언을 한 것이다. 실행권한 부여 [filename].sh 를 실행파일로 만들어주려면 chmod 명령어를 이용해 실행 권한을 부여해줘야한다. chmod 755 [filename].sh 실행하기 쉘스크립트 파일이 있는 경로로 가서 ./[filename].sh 를 입력 2023. 1. 22.
Firebase ) emailVerified 상태를 변경하기 위해 sendEmailVerification VS sendSignInLinkToEmail sendEmailVerification 사용자의 이메일 주소가 유효한지 확인하는 일회성 이벤트, user 객체에 emailVerified 값을 설정 이메일이 확인되면 다시 호출하지 않으며 회원가입 과정에서 사용됨 sendSignInLinkToEmail 사용자가 이메일/패스워드를 입력하거나 통합 계정을 통해 로그인하는 대신 이메일로 전송된 링크를 클릭해 로그인하도록 하는 인증 방법 사용자가 로그인 할 때마다 호출 credential.user 의 emailVerified 속성이 true 로 변경되기 위해서는 sendEmailVerification 을 사용해야한다! 회원가입 후 최초로그인 시에는 sendEmailVerifica.. 2022. 7. 21.
Next.js + TypeScript ) 스크롤 내릴 시에 특정 컴포넌트 숨기기 스크롤시 상단 메뉴바 숨기기 작동화면 Code NavBar.tsx import { useScrollDirection } from "./useScrollDirection"; import styled from "styled-components"; const Header = styled.div` position: sticky; height: 3rem; transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 500ms; `; const HeaderDown = styled.div` top: -3rem; `; const NavBar = () => { const scrollDirecti.. 2022. 7. 15.
Next.js ) Input 입력값 태그로 변환하기 (TypeScript) 태그 등록 Input 만들기 작동화면 Code export default function TagInput() { const [input, setInput] = useState(""); const [tags, setTags] = useState([]); const [isKeyReleased, setIsKeyReleased] = useState(false); // input 입력값 'input' state 에 등록 const onChange = (e: React.ChangeEvent) => { const { value } = e.target; setInput(value); }; // 태그 해제하기 const deleteTag = (index: number) => { setTags((prevSt.. 2022. 7. 15.
Next.js + TypeScript ) event 의 Type은 어떻게 지정해야할까? Next.js (React) + TypeScript : Event Type 지정하기 Input Event Input 태그에는 onChange, onKeyUp, onKeyDown 등의 이벤트가 있습니다. 이 이벤트를 통해 함수를 실행할 때에는 onChange const onChange = (e: React.ChangeEvent) => { const { value } = e.target; setInput(value); }; onKeyDown, onKeyUp const onKeyDown = (e: React.KeyboardEvent) => { // ... } const onKeyUp = (e: React.KeyboardEvent) => { // ... } 위와 같이 이벤트의 타입을 지정해주면 됩니다. Sele.. 2022. 7. 14.
반응형