View essaysir's full-sized avatar
🎯
Focusing
🎯
Focusing

    Block or report essaysir

    Block user

    Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

    You must be logged in to block users.

    Content in all repositories owned by your account will be closed.
    Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
    Report abuse

    Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

    Report abuse
    essaysir/README.md
    Typing SVG

    🔭 Intro.

    팀과 제품에 가치 있는 문제를 찾아 구조로 푸는 서버 엔지니어 손주선입니다.

    인젠트에서 금융·공공·대기업 EAI 솔루션 백엔드를 개발하고 있습니다. 대용량 채널이 유량 제한 없이 요청을 받아 피크 타임에 서버가 다운되던 문제를, Redis·Redisson 분산락 기반 채널별 유량 제어로 풀어 다운타임을 제거하고 이중화 환경의 가용성을 지킨 경험이 있습니다.

    장애를 한 번 겪으면 같은 구조에서 다시 터지지 않게 바꾸는 걸 좋아합니다. 요즘은 분산 환경의 정합성, 그리고 AI와 협업해 생산성을 높이는 방법에 관심이 많습니다.

    💼 Work Experience

    • 인젠트2023.10 ~ 재직 중 · FullStack Developer

    ⚡ Skills

    Server-side

    JavaSpring BootSpring BatchSpring WebFluxJPAQueryDSLRedisson

    Data / Infra

    OracleMySQLRedisGrafanak6Testcontainers

    Frontend

    ReactTypeScript

    😄 Contacts

    EmailTech BlogGitHub

    Popular repositories Loading

    1. ProjectWanted ProjectWantedPublic

      쌍북 강북교육센터 파이널 프로젝트( 원티드 )

      JavaScript 2 2

    2. FiveDak FiveDakPublic

      쌍용강북교육센터( 세미 프로젝트 )

      Java 2

    3. Travel_project Travel_projectPublic

      udmey online education 2nd project

      HTML 1

    4. Git_ignore_test Git_ignore_testPublic

      git ignore 연습

      Java 1

    5. SpringEdu SpringEduPublic

      쌍용 강북 교육센터 ( 스프링 교육 과정 내용 )

      JavaScript 1

    6. essaysir essaysirPublic

      나를 소개하지~

      1

    , '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
    View essaysir's full-sized avatar
    🎯
    Focusing
    🎯
    Focusing

      Block or report essaysir

      Block user

      Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

      You must be logged in to block users.

      Content in all repositories owned by your account will be closed.
      Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
      Report abuse

      Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

      Report abuse
      essaysir/README.md
      Typing SVG

      🔭 Intro.

      팀과 제품에 가치 있는 문제를 찾아 구조로 푸는 서버 엔지니어 손주선입니다.

      인젠트에서 금융·공공·대기업 EAI 솔루션 백엔드를 개발하고 있습니다. 대용량 채널이 유량 제한 없이 요청을 받아 피크 타임에 서버가 다운되던 문제를, Redis·Redisson 분산락 기반 채널별 유량 제어로 풀어 다운타임을 제거하고 이중화 환경의 가용성을 지킨 경험이 있습니다.

      장애를 한 번 겪으면 같은 구조에서 다시 터지지 않게 바꾸는 걸 좋아합니다. 요즘은 분산 환경의 정합성, 그리고 AI와 협업해 생산성을 높이는 방법에 관심이 많습니다.

      💼 Work Experience

      • 인젠트2023.10 ~ 재직 중 · FullStack Developer

      ⚡ Skills

      Server-side

      JavaSpring BootSpring BatchSpring WebFluxJPAQueryDSLRedisson

      Data / Infra

      OracleMySQLRedisGrafanak6Testcontainers

      Frontend

      ReactTypeScript

      😄 Contacts

      EmailTech BlogGitHub

      Popular repositories Loading

      1. ProjectWanted ProjectWantedPublic

        쌍북 강북교육센터 파이널 프로젝트( 원티드 )

        JavaScript 2 2

      2. FiveDak FiveDakPublic

        쌍용강북교육센터( 세미 프로젝트 )

        Java 2

      3. Travel_project Travel_projectPublic

        udmey online education 2nd project

        HTML 1

      4. Git_ignore_test Git_ignore_testPublic

        git ignore 연습

        Java 1

      5. SpringEdu SpringEduPublic

        쌍용 강북 교육센터 ( 스프링 교육 과정 내용 )

        JavaScript 1

      6. essaysir essaysirPublic

        나를 소개하지~

        1

      , '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
      View essaysir's full-sized avatar
      🎯
      Focusing
      🎯
      Focusing

        Block or report essaysir

        Block user

        Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

        You must be logged in to block users.

        Content in all repositories owned by your account will be closed.
        Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
        Report abuse

        Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

        Report abuse
        essaysir/README.md
        Typing SVG

        🔭 Intro.

        팀과 제품에 가치 있는 문제를 찾아 구조로 푸는 서버 엔지니어 손주선입니다.

        인젠트에서 금융·공공·대기업 EAI 솔루션 백엔드를 개발하고 있습니다. 대용량 채널이 유량 제한 없이 요청을 받아 피크 타임에 서버가 다운되던 문제를, Redis·Redisson 분산락 기반 채널별 유량 제어로 풀어 다운타임을 제거하고 이중화 환경의 가용성을 지킨 경험이 있습니다.

        장애를 한 번 겪으면 같은 구조에서 다시 터지지 않게 바꾸는 걸 좋아합니다. 요즘은 분산 환경의 정합성, 그리고 AI와 협업해 생산성을 높이는 방법에 관심이 많습니다.

        💼 Work Experience

        • 인젠트2023.10 ~ 재직 중 · FullStack Developer

        ⚡ Skills

        Server-side

        JavaSpring BootSpring BatchSpring WebFluxJPAQueryDSLRedisson

        Data / Infra

        OracleMySQLRedisGrafanak6Testcontainers

        Frontend

        ReactTypeScript

        😄 Contacts

        EmailTech BlogGitHub

        Popular repositories Loading

        1. ProjectWanted ProjectWantedPublic

          쌍북 강북교육센터 파이널 프로젝트( 원티드 )

          JavaScript 2 2

        2. FiveDak FiveDakPublic

          쌍용강북교육센터( 세미 프로젝트 )

          Java 2

        3. Travel_project Travel_projectPublic

          udmey online education 2nd project

          HTML 1

        4. Git_ignore_test Git_ignore_testPublic

          git ignore 연습

          Java 1

        5. SpringEdu SpringEduPublic

          쌍용 강북 교육센터 ( 스프링 교육 과정 내용 )

          JavaScript 1

        6. essaysir essaysirPublic

          나를 소개하지~

          1

        , '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
        View essaysir's full-sized avatar
        🎯
        Focusing
        🎯
        Focusing

          Block or report essaysir

          Block user

          Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

          You must be logged in to block users.

          Content in all repositories owned by your account will be closed.
          Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
          Report abuse

          Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

          Report abuse
          essaysir/README.md
          Typing SVG

          🔭 Intro.

          팀과 제품에 가치 있는 문제를 찾아 구조로 푸는 서버 엔지니어 손주선입니다.

          인젠트에서 금융·공공·대기업 EAI 솔루션 백엔드를 개발하고 있습니다. 대용량 채널이 유량 제한 없이 요청을 받아 피크 타임에 서버가 다운되던 문제를, Redis·Redisson 분산락 기반 채널별 유량 제어로 풀어 다운타임을 제거하고 이중화 환경의 가용성을 지킨 경험이 있습니다.

          장애를 한 번 겪으면 같은 구조에서 다시 터지지 않게 바꾸는 걸 좋아합니다. 요즘은 분산 환경의 정합성, 그리고 AI와 협업해 생산성을 높이는 방법에 관심이 많습니다.

          💼 Work Experience

          • 인젠트2023.10 ~ 재직 중 · FullStack Developer

          ⚡ Skills

          Server-side

          JavaSpring BootSpring BatchSpring WebFluxJPAQueryDSLRedisson

          Data / Infra

          OracleMySQLRedisGrafanak6Testcontainers

          Frontend

          ReactTypeScript

          😄 Contacts

          EmailTech BlogGitHub

          Popular repositories Loading

          1. ProjectWanted ProjectWantedPublic

            쌍북 강북교육센터 파이널 프로젝트( 원티드 )

            JavaScript 2 2

          2. FiveDak FiveDakPublic

            쌍용강북교육센터( 세미 프로젝트 )

            Java 2

          3. Travel_project Travel_projectPublic

            udmey online education 2nd project

            HTML 1

          4. Git_ignore_test Git_ignore_testPublic

            git ignore 연습

            Java 1

          5. SpringEdu SpringEduPublic

            쌍용 강북 교육센터 ( 스프링 교육 과정 내용 )

            JavaScript 1

          6. essaysir essaysirPublic

            나를 소개하지~

            1

          , '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
          View essaysir's full-sized avatar
          🎯
          Focusing
          🎯
          Focusing

            Block or report essaysir

            Block user

            Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

            You must be logged in to block users.

            Content in all repositories owned by your account will be closed.
            Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
            Report abuse

            Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

            Report abuse
            essaysir/README.md
            Typing SVG

            🔭 Intro.

            팀과 제품에 가치 있는 문제를 찾아 구조로 푸는 서버 엔지니어 손주선입니다.

            인젠트에서 금융·공공·대기업 EAI 솔루션 백엔드를 개발하고 있습니다. 대용량 채널이 유량 제한 없이 요청을 받아 피크 타임에 서버가 다운되던 문제를, Redis·Redisson 분산락 기반 채널별 유량 제어로 풀어 다운타임을 제거하고 이중화 환경의 가용성을 지킨 경험이 있습니다.

            장애를 한 번 겪으면 같은 구조에서 다시 터지지 않게 바꾸는 걸 좋아합니다. 요즘은 분산 환경의 정합성, 그리고 AI와 협업해 생산성을 높이는 방법에 관심이 많습니다.

            💼 Work Experience

            • 인젠트2023.10 ~ 재직 중 · FullStack Developer

            ⚡ Skills

            Server-side

            JavaSpring BootSpring BatchSpring WebFluxJPAQueryDSLRedisson

            Data / Infra

            OracleMySQLRedisGrafanak6Testcontainers

            Frontend

            ReactTypeScript

            😄 Contacts

            EmailTech BlogGitHub

            Popular repositories Loading

            1. ProjectWanted ProjectWantedPublic

              쌍북 강북교육센터 파이널 프로젝트( 원티드 )

              JavaScript 2 2

            2. FiveDak FiveDakPublic

              쌍용강북교육센터( 세미 프로젝트 )

              Java 2

            3. Travel_project Travel_projectPublic

              udmey online education 2nd project

              HTML 1

            4. Git_ignore_test Git_ignore_testPublic

              git ignore 연습

              Java 1

            5. SpringEdu SpringEduPublic

              쌍용 강북 교육센터 ( 스프링 교육 과정 내용 )

              JavaScript 1

            6. essaysir essaysirPublic

              나를 소개하지~

              1

            , '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
            View essaysir's full-sized avatar
            🎯
            Focusing
            🎯
            Focusing

              Block or report essaysir

              Block user

              Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

              You must be logged in to block users.

              Content in all repositories owned by your account will be closed.
              Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
              Report abuse

              Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

              Report abuse
              essaysir/README.md
              Typing SVG

              🔭 Intro.

              팀과 제품에 가치 있는 문제를 찾아 구조로 푸는 서버 엔지니어 손주선입니다.

              인젠트에서 금융·공공·대기업 EAI 솔루션 백엔드를 개발하고 있습니다. 대용량 채널이 유량 제한 없이 요청을 받아 피크 타임에 서버가 다운되던 문제를, Redis·Redisson 분산락 기반 채널별 유량 제어로 풀어 다운타임을 제거하고 이중화 환경의 가용성을 지킨 경험이 있습니다.

              장애를 한 번 겪으면 같은 구조에서 다시 터지지 않게 바꾸는 걸 좋아합니다. 요즘은 분산 환경의 정합성, 그리고 AI와 협업해 생산성을 높이는 방법에 관심이 많습니다.

              💼 Work Experience

              • 인젠트2023.10 ~ 재직 중 · FullStack Developer

              ⚡ Skills

              Server-side

              JavaSpring BootSpring BatchSpring WebFluxJPAQueryDSLRedisson

              Data / Infra

              OracleMySQLRedisGrafanak6Testcontainers

              Frontend

              ReactTypeScript

              😄 Contacts

              EmailTech BlogGitHub

              Popular repositories Loading

              1. ProjectWanted ProjectWantedPublic

                쌍북 강북교육센터 파이널 프로젝트( 원티드 )

                JavaScript 2 2

              2. FiveDak FiveDakPublic

                쌍용강북교육센터( 세미 프로젝트 )

                Java 2

              3. Travel_project Travel_projectPublic

                udmey online education 2nd project

                HTML 1

              4. Git_ignore_test Git_ignore_testPublic

                git ignore 연습

                Java 1

              5. SpringEdu SpringEduPublic

                쌍용 강북 교육센터 ( 스프링 교육 과정 내용 )

                JavaScript 1

              6. essaysir essaysirPublic

                나를 소개하지~

                1

              , '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
              View essaysir's full-sized avatar
              🎯
              Focusing
              🎯
              Focusing

                Block or report essaysir

                Block user

                Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

                You must be logged in to block users.

                Content in all repositories owned by your account will be closed.
                Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
                Report abuse

                Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

                Report abuse
                essaysir/README.md
                Typing SVG

                🔭 Intro.

                팀과 제품에 가치 있는 문제를 찾아 구조로 푸는 서버 엔지니어 손주선입니다.

                인젠트에서 금융·공공·대기업 EAI 솔루션 백엔드를 개발하고 있습니다. 대용량 채널이 유량 제한 없이 요청을 받아 피크 타임에 서버가 다운되던 문제를, Redis·Redisson 분산락 기반 채널별 유량 제어로 풀어 다운타임을 제거하고 이중화 환경의 가용성을 지킨 경험이 있습니다.

                장애를 한 번 겪으면 같은 구조에서 다시 터지지 않게 바꾸는 걸 좋아합니다. 요즘은 분산 환경의 정합성, 그리고 AI와 협업해 생산성을 높이는 방법에 관심이 많습니다.

                💼 Work Experience

                • 인젠트2023.10 ~ 재직 중 · FullStack Developer

                ⚡ Skills

                Server-side

                JavaSpring BootSpring BatchSpring WebFluxJPAQueryDSLRedisson

                Data / Infra

                OracleMySQLRedisGrafanak6Testcontainers

                Frontend

                ReactTypeScript

                😄 Contacts

                EmailTech BlogGitHub

                Popular repositories Loading

                1. ProjectWanted ProjectWantedPublic

                  쌍북 강북교육센터 파이널 프로젝트( 원티드 )

                  JavaScript 2 2

                2. FiveDak FiveDakPublic

                  쌍용강북교육센터( 세미 프로젝트 )

                  Java 2

                3. Travel_project Travel_projectPublic

                  udmey online education 2nd project

                  HTML 1

                4. Git_ignore_test Git_ignore_testPublic

                  git ignore 연습

                  Java 1

                5. SpringEdu SpringEduPublic

                  쌍용 강북 교육센터 ( 스프링 교육 과정 내용 )

                  JavaScript 1

                6. essaysir essaysirPublic

                  나를 소개하지~

                  1

                , '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
                View essaysir's full-sized avatar
                🎯
                Focusing
                🎯
                Focusing

                  Block or report essaysir

                  Block user

                  Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

                  You must be logged in to block users.

                  Content in all repositories owned by your account will be closed.
                  Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
                  Report abuse

                  Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

                  Report abuse
                  essaysir/README.md
                  Typing SVG

                  🔭 Intro.

                  팀과 제품에 가치 있는 문제를 찾아 구조로 푸는 서버 엔지니어 손주선입니다.

                  인젠트에서 금융·공공·대기업 EAI 솔루션 백엔드를 개발하고 있습니다. 대용량 채널이 유량 제한 없이 요청을 받아 피크 타임에 서버가 다운되던 문제를, Redis·Redisson 분산락 기반 채널별 유량 제어로 풀어 다운타임을 제거하고 이중화 환경의 가용성을 지킨 경험이 있습니다.

                  장애를 한 번 겪으면 같은 구조에서 다시 터지지 않게 바꾸는 걸 좋아합니다. 요즘은 분산 환경의 정합성, 그리고 AI와 협업해 생산성을 높이는 방법에 관심이 많습니다.

                  💼 Work Experience

                  • 인젠트2023.10 ~ 재직 중 · FullStack Developer

                  ⚡ Skills

                  Server-side

                  JavaSpring BootSpring BatchSpring WebFluxJPAQueryDSLRedisson

                  Data / Infra

                  OracleMySQLRedisGrafanak6Testcontainers

                  Frontend

                  ReactTypeScript

                  😄 Contacts

                  EmailTech BlogGitHub

                  Popular repositories Loading

                  1. ProjectWanted ProjectWantedPublic

                    쌍북 강북교육센터 파이널 프로젝트( 원티드 )

                    JavaScript 2 2

                  2. FiveDak FiveDakPublic

                    쌍용강북교육센터( 세미 프로젝트 )

                    Java 2

                  3. Travel_project Travel_projectPublic

                    udmey online education 2nd project

                    HTML 1

                  4. Git_ignore_test Git_ignore_testPublic

                    git ignore 연습

                    Java 1

                  5. SpringEdu SpringEduPublic

                    쌍용 강북 교육센터 ( 스프링 교육 과정 내용 )

                    JavaScript 1

                  6. essaysir essaysirPublic

                    나를 소개하지~

                    1