Repository files navigation

✅ Commit Convention

태그 이름설명
[chore]코드 수정, 내부 파일 수정
[feat]새로운 기능 구현
[add]FEAT 이외의 부수적인 코드 추가, 라이브러리 추가, 새로운 파일 생성
[hotfix]issue나 QA에서 급한 버그 수정에 사용
[fix]버그, 오류 해결
[del]쓸모 없는 코드 삭제
[docs]README나 WIKI 등의 문서 개정
[correct]주로 문법의 오류나 타입의 변경, 이름 변경에 사용
[move]프로젝트 내 파일이나 코드의 이동
[rename]파일 이름 변경이 있을 때 사용
[improve]향상이 있을 때 사용
[refactor]전면 수정이 있을 때 사용
[test]테스트 코드 추가 시 사용
  • 커밋 규칙 -> FEAT. 해당 기능 설명
  • ex) FEAT. 로그인 기능 추가

🔸Git Working Process

  1. issue를 등록한다.
  2. 깃 컨벤션에 맞게 Branch를 생성한다.
  3. Add - Commit - Push - Pull Request 의 과정을 거친다.
  4. 작업이 완료되었다면, Remote Repository(Github)에 해당 브랜치를 올린다.
  5. Github에서 PR을 생성한다.
  6. CI 테스트를 잘 통과했다면, 해당 PR에 관한 리뷰를 요청한다.
  7. 리뷰에서 Approve를 받지 못했다면, 수정 사항을 처리해서 다시 올린다.
  8. Approve를 받았다면, Merge를 진행한다.
  9. merge된 Branch는 삭제한다.
  10. 종료된 Issue와 Pull Request의 Label과 Project를 관리한다.

🌴 브랜치

📌 브랜치 단위

  • 브랜치 단위 = 이슈 단위 = PR단위

📌 브랜치명

  • 브랜치는 뷰 단위로 생성합니다.
  • 브랜치 규칙 → feature/#이슈번호-기능간략설명
  • ex) feature/#1-login

About

[2024 멋사 중앙톤] 우승냥이 팀 백엔드 레파지토리

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

✅ Commit Convention

태그 이름설명
[chore]코드 수정, 내부 파일 수정
[feat]새로운 기능 구현
[add]FEAT 이외의 부수적인 코드 추가, 라이브러리 추가, 새로운 파일 생성
[hotfix]issue나 QA에서 급한 버그 수정에 사용
[fix]버그, 오류 해결
[del]쓸모 없는 코드 삭제
[docs]README나 WIKI 등의 문서 개정
[correct]주로 문법의 오류나 타입의 변경, 이름 변경에 사용
[move]프로젝트 내 파일이나 코드의 이동
[rename]파일 이름 변경이 있을 때 사용
[improve]향상이 있을 때 사용
[refactor]전면 수정이 있을 때 사용
[test]테스트 코드 추가 시 사용
  • 커밋 규칙 -> FEAT. 해당 기능 설명
  • ex) FEAT. 로그인 기능 추가

🔸Git Working Process

  1. issue를 등록한다.
  2. 깃 컨벤션에 맞게 Branch를 생성한다.
  3. Add - Commit - Push - Pull Request 의 과정을 거친다.
  4. 작업이 완료되었다면, Remote Repository(Github)에 해당 브랜치를 올린다.
  5. Github에서 PR을 생성한다.
  6. CI 테스트를 잘 통과했다면, 해당 PR에 관한 리뷰를 요청한다.
  7. 리뷰에서 Approve를 받지 못했다면, 수정 사항을 처리해서 다시 올린다.
  8. Approve를 받았다면, Merge를 진행한다.
  9. merge된 Branch는 삭제한다.
  10. 종료된 Issue와 Pull Request의 Label과 Project를 관리한다.

🌴 브랜치

📌 브랜치 단위

  • 브랜치 단위 = 이슈 단위 = PR단위

📌 브랜치명

  • 브랜치는 뷰 단위로 생성합니다.
  • 브랜치 규칙 → feature/#이슈번호-기능간략설명
  • ex) feature/#1-login

About

[2024 멋사 중앙톤] 우승냥이 팀 백엔드 레파지토리

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

✅ Commit Convention

태그 이름설명
[chore]코드 수정, 내부 파일 수정
[feat]새로운 기능 구현
[add]FEAT 이외의 부수적인 코드 추가, 라이브러리 추가, 새로운 파일 생성
[hotfix]issue나 QA에서 급한 버그 수정에 사용
[fix]버그, 오류 해결
[del]쓸모 없는 코드 삭제
[docs]README나 WIKI 등의 문서 개정
[correct]주로 문법의 오류나 타입의 변경, 이름 변경에 사용
[move]프로젝트 내 파일이나 코드의 이동
[rename]파일 이름 변경이 있을 때 사용
[improve]향상이 있을 때 사용
[refactor]전면 수정이 있을 때 사용
[test]테스트 코드 추가 시 사용
  • 커밋 규칙 -> FEAT. 해당 기능 설명
  • ex) FEAT. 로그인 기능 추가

🔸Git Working Process

  1. issue를 등록한다.
  2. 깃 컨벤션에 맞게 Branch를 생성한다.
  3. Add - Commit - Push - Pull Request 의 과정을 거친다.
  4. 작업이 완료되었다면, Remote Repository(Github)에 해당 브랜치를 올린다.
  5. Github에서 PR을 생성한다.
  6. CI 테스트를 잘 통과했다면, 해당 PR에 관한 리뷰를 요청한다.
  7. 리뷰에서 Approve를 받지 못했다면, 수정 사항을 처리해서 다시 올린다.
  8. Approve를 받았다면, Merge를 진행한다.
  9. merge된 Branch는 삭제한다.
  10. 종료된 Issue와 Pull Request의 Label과 Project를 관리한다.

🌴 브랜치

📌 브랜치 단위

  • 브랜치 단위 = 이슈 단위 = PR단위

📌 브랜치명

  • 브랜치는 뷰 단위로 생성합니다.
  • 브랜치 규칙 → feature/#이슈번호-기능간략설명
  • ex) feature/#1-login

About

[2024 멋사 중앙톤] 우승냥이 팀 백엔드 레파지토리

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

✅ Commit Convention

태그 이름설명
[chore]코드 수정, 내부 파일 수정
[feat]새로운 기능 구현
[add]FEAT 이외의 부수적인 코드 추가, 라이브러리 추가, 새로운 파일 생성
[hotfix]issue나 QA에서 급한 버그 수정에 사용
[fix]버그, 오류 해결
[del]쓸모 없는 코드 삭제
[docs]README나 WIKI 등의 문서 개정
[correct]주로 문법의 오류나 타입의 변경, 이름 변경에 사용
[move]프로젝트 내 파일이나 코드의 이동
[rename]파일 이름 변경이 있을 때 사용
[improve]향상이 있을 때 사용
[refactor]전면 수정이 있을 때 사용
[test]테스트 코드 추가 시 사용
  • 커밋 규칙 -> FEAT. 해당 기능 설명
  • ex) FEAT. 로그인 기능 추가

🔸Git Working Process

  1. issue를 등록한다.
  2. 깃 컨벤션에 맞게 Branch를 생성한다.
  3. Add - Commit - Push - Pull Request 의 과정을 거친다.
  4. 작업이 완료되었다면, Remote Repository(Github)에 해당 브랜치를 올린다.
  5. Github에서 PR을 생성한다.
  6. CI 테스트를 잘 통과했다면, 해당 PR에 관한 리뷰를 요청한다.
  7. 리뷰에서 Approve를 받지 못했다면, 수정 사항을 처리해서 다시 올린다.
  8. Approve를 받았다면, Merge를 진행한다.
  9. merge된 Branch는 삭제한다.
  10. 종료된 Issue와 Pull Request의 Label과 Project를 관리한다.

🌴 브랜치

📌 브랜치 단위

  • 브랜치 단위 = 이슈 단위 = PR단위

📌 브랜치명

  • 브랜치는 뷰 단위로 생성합니다.
  • 브랜치 규칙 → feature/#이슈번호-기능간략설명
  • ex) feature/#1-login

About

[2024 멋사 중앙톤] 우승냥이 팀 백엔드 레파지토리

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

✅ Commit Convention

태그 이름설명
[chore]코드 수정, 내부 파일 수정
[feat]새로운 기능 구현
[add]FEAT 이외의 부수적인 코드 추가, 라이브러리 추가, 새로운 파일 생성
[hotfix]issue나 QA에서 급한 버그 수정에 사용
[fix]버그, 오류 해결
[del]쓸모 없는 코드 삭제
[docs]README나 WIKI 등의 문서 개정
[correct]주로 문법의 오류나 타입의 변경, 이름 변경에 사용
[move]프로젝트 내 파일이나 코드의 이동
[rename]파일 이름 변경이 있을 때 사용
[improve]향상이 있을 때 사용
[refactor]전면 수정이 있을 때 사용
[test]테스트 코드 추가 시 사용
  • 커밋 규칙 -> FEAT. 해당 기능 설명
  • ex) FEAT. 로그인 기능 추가

🔸Git Working Process

  1. issue를 등록한다.
  2. 깃 컨벤션에 맞게 Branch를 생성한다.
  3. Add - Commit - Push - Pull Request 의 과정을 거친다.
  4. 작업이 완료되었다면, Remote Repository(Github)에 해당 브랜치를 올린다.
  5. Github에서 PR을 생성한다.
  6. CI 테스트를 잘 통과했다면, 해당 PR에 관한 리뷰를 요청한다.
  7. 리뷰에서 Approve를 받지 못했다면, 수정 사항을 처리해서 다시 올린다.
  8. Approve를 받았다면, Merge를 진행한다.
  9. merge된 Branch는 삭제한다.
  10. 종료된 Issue와 Pull Request의 Label과 Project를 관리한다.

🌴 브랜치

📌 브랜치 단위

  • 브랜치 단위 = 이슈 단위 = PR단위

📌 브랜치명

  • 브랜치는 뷰 단위로 생성합니다.
  • 브랜치 규칙 → feature/#이슈번호-기능간략설명
  • ex) feature/#1-login

About

[2024 멋사 중앙톤] 우승냥이 팀 백엔드 레파지토리

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

✅ Commit Convention

태그 이름설명
[chore]코드 수정, 내부 파일 수정
[feat]새로운 기능 구현
[add]FEAT 이외의 부수적인 코드 추가, 라이브러리 추가, 새로운 파일 생성
[hotfix]issue나 QA에서 급한 버그 수정에 사용
[fix]버그, 오류 해결
[del]쓸모 없는 코드 삭제
[docs]README나 WIKI 등의 문서 개정
[correct]주로 문법의 오류나 타입의 변경, 이름 변경에 사용
[move]프로젝트 내 파일이나 코드의 이동
[rename]파일 이름 변경이 있을 때 사용
[improve]향상이 있을 때 사용
[refactor]전면 수정이 있을 때 사용
[test]테스트 코드 추가 시 사용
  • 커밋 규칙 -> FEAT. 해당 기능 설명
  • ex) FEAT. 로그인 기능 추가

🔸Git Working Process

  1. issue를 등록한다.
  2. 깃 컨벤션에 맞게 Branch를 생성한다.
  3. Add - Commit - Push - Pull Request 의 과정을 거친다.
  4. 작업이 완료되었다면, Remote Repository(Github)에 해당 브랜치를 올린다.
  5. Github에서 PR을 생성한다.
  6. CI 테스트를 잘 통과했다면, 해당 PR에 관한 리뷰를 요청한다.
  7. 리뷰에서 Approve를 받지 못했다면, 수정 사항을 처리해서 다시 올린다.
  8. Approve를 받았다면, Merge를 진행한다.
  9. merge된 Branch는 삭제한다.
  10. 종료된 Issue와 Pull Request의 Label과 Project를 관리한다.

🌴 브랜치

📌 브랜치 단위

  • 브랜치 단위 = 이슈 단위 = PR단위

📌 브랜치명

  • 브랜치는 뷰 단위로 생성합니다.
  • 브랜치 규칙 → feature/#이슈번호-기능간략설명
  • ex) feature/#1-login

About

[2024 멋사 중앙톤] 우승냥이 팀 백엔드 레파지토리

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

✅ Commit Convention

태그 이름설명
[chore]코드 수정, 내부 파일 수정
[feat]새로운 기능 구현
[add]FEAT 이외의 부수적인 코드 추가, 라이브러리 추가, 새로운 파일 생성
[hotfix]issue나 QA에서 급한 버그 수정에 사용
[fix]버그, 오류 해결
[del]쓸모 없는 코드 삭제
[docs]README나 WIKI 등의 문서 개정
[correct]주로 문법의 오류나 타입의 변경, 이름 변경에 사용
[move]프로젝트 내 파일이나 코드의 이동
[rename]파일 이름 변경이 있을 때 사용
[improve]향상이 있을 때 사용
[refactor]전면 수정이 있을 때 사용
[test]테스트 코드 추가 시 사용
  • 커밋 규칙 -> FEAT. 해당 기능 설명
  • ex) FEAT. 로그인 기능 추가

🔸Git Working Process

  1. issue를 등록한다.
  2. 깃 컨벤션에 맞게 Branch를 생성한다.
  3. Add - Commit - Push - Pull Request 의 과정을 거친다.
  4. 작업이 완료되었다면, Remote Repository(Github)에 해당 브랜치를 올린다.
  5. Github에서 PR을 생성한다.
  6. CI 테스트를 잘 통과했다면, 해당 PR에 관한 리뷰를 요청한다.
  7. 리뷰에서 Approve를 받지 못했다면, 수정 사항을 처리해서 다시 올린다.
  8. Approve를 받았다면, Merge를 진행한다.
  9. merge된 Branch는 삭제한다.
  10. 종료된 Issue와 Pull Request의 Label과 Project를 관리한다.

🌴 브랜치

📌 브랜치 단위

  • 브랜치 단위 = 이슈 단위 = PR단위

📌 브랜치명

  • 브랜치는 뷰 단위로 생성합니다.
  • 브랜치 규칙 → feature/#이슈번호-기능간략설명
  • ex) feature/#1-login

About

[2024 멋사 중앙톤] 우승냥이 팀 백엔드 레파지토리

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

✅ Commit Convention

태그 이름설명
[chore]코드 수정, 내부 파일 수정
[feat]새로운 기능 구현
[add]FEAT 이외의 부수적인 코드 추가, 라이브러리 추가, 새로운 파일 생성
[hotfix]issue나 QA에서 급한 버그 수정에 사용
[fix]버그, 오류 해결
[del]쓸모 없는 코드 삭제
[docs]README나 WIKI 등의 문서 개정
[correct]주로 문법의 오류나 타입의 변경, 이름 변경에 사용
[move]프로젝트 내 파일이나 코드의 이동
[rename]파일 이름 변경이 있을 때 사용
[improve]향상이 있을 때 사용
[refactor]전면 수정이 있을 때 사용
[test]테스트 코드 추가 시 사용
  • 커밋 규칙 -> FEAT. 해당 기능 설명
  • ex) FEAT. 로그인 기능 추가

🔸Git Working Process

  1. issue를 등록한다.
  2. 깃 컨벤션에 맞게 Branch를 생성한다.
  3. Add - Commit - Push - Pull Request 의 과정을 거친다.
  4. 작업이 완료되었다면, Remote Repository(Github)에 해당 브랜치를 올린다.
  5. Github에서 PR을 생성한다.
  6. CI 테스트를 잘 통과했다면, 해당 PR에 관한 리뷰를 요청한다.
  7. 리뷰에서 Approve를 받지 못했다면, 수정 사항을 처리해서 다시 올린다.
  8. Approve를 받았다면, Merge를 진행한다.
  9. merge된 Branch는 삭제한다.
  10. 종료된 Issue와 Pull Request의 Label과 Project를 관리한다.

🌴 브랜치

📌 브랜치 단위

  • 브랜치 단위 = 이슈 단위 = PR단위

📌 브랜치명

  • 브랜치는 뷰 단위로 생성합니다.
  • 브랜치 규칙 → feature/#이슈번호-기능간략설명
  • ex) feature/#1-login

About

[2024 멋사 중앙톤] 우승냥이 팀 백엔드 레파지토리

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages