PageSourceSearch

https://groupby.kr/_next/static/chunks/pages/crm-landing/match-4e20889eaac1e57d.js

js groupby.kr collected 2026-10-07 17:53:40 UTC 16,277 bytes, 2 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="492cfc73-808e-44f4-9284-2cf0a331ce79",e._sentryDebugIdIdentifier="sentry-dbid-492cfc73-808e-44f4-9284-2cf0a331ce79")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9704],{12072:(e,n,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/crm-landing/match",function(){return t(56543)}])},56543:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>Y});var i=t(37876),r=t(14232),o=t(89099),a=t(25194),c=t(84748),l=t(35762),s=t(57302),d=t(52728),h=t(79705);let u=[{label:"희망 지역",tier:"required",text:"서울 성수\xb7강남"},{label:"희망 연봉",tier:"required",text:"7,000만원 이상"},{label:"관심 서비스 분야",tier:"required",text:"핀테크\xb7결제"},{label:"경력",tier:"preferred",text:"4~8년"},{label:"직무",tier:"preferred",text:"백엔드 개발"}],m={positionId:0,title:"[경력] 백엔드 엔지니어 (결제 플랫폼)",company:{id:0,name:"예시컴퍼니",logo:null,meta:"Series A \xb7 재택 병행 \xb7 38명"},matchedCount:5,conditionCount:5,requiredCheck:{matched:3,total:3,items:[{name:"희망 지역",matched:!0},{name:"희망 연봉",matched:!0},{name:"관심 서비스 분야",matched:!0}]},preferredCheck:{matched:2,total:2,items:[{name:"경력",matched:!0},{name:"직무",matched:!0}]},badges:[],averageReplyDays:3,summary:"결제\xb7정산처럼 한 번의 실수가 곧 사고가 되는 도메인을 다뤄오신 경험이, 결제 플랫폼을 처음부터 새로 만드는 이 팀에 특히 잘 맞아요.",evidences:[{description:"대용량 트래픽을 견디는 API 설계\xb7운영 경험",score:2,maxScore:2,reason:"하루 수백만 건이 오가는 주문 API를 직접 설계하고 운영해오신 경험이 있어, 이 팀이 지금 풀고 있는 문제와 그대로 겹쳐요."},{description:"결제\xb7정산 도메인을 직접 다뤄본 경험",score:2,maxScore:2,reason:"PG 연동부터 정산 배치까지 직접 만들어보셔서, 도메인을 익히는 시간 없이 첫 주부터 코드에 손대실 수 있어요."},{description:"장애 대응과 모니터링 체계를 세워본 경험",score:2,maxScore:2,reason:"온콜 기준과 알림 체계를 처음부터 만들어보신 경험은, 이제 막 트래픽이 붙기 시작한 이 팀이 가장 아쉬워하는 부분이에요."},{description:"Kubernetes 클러스터 직접 운영 경험",score:1,maxScore:2,reason:"컨테이너로 배포해오신 이력은 확인했지만, 클러스터를 직접 운영해보신 경험까지는 프로필에 나타나 있지 않아요."}]};var p=t(43078),x=t(65396);let g=p.Ay.div.withConfig({componentId:"sc-80ecb9ee-0"})(["max-width:1080px;margin:0 auto;padding:0 24px;"]),f=p.Ay.div.withConfig({componentId:"sc-80ecb9ee-1"})(["display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:32px;align-items:start;text-align:left;@media (max-width:900px){grid-template-columns:1fr;gap:0;max-width:640px;margin:0 auto;","}"],e=>e.$railFirst&&(0,p.AH)(["> *:first-child{order:2;}"])),b=p.Ay.div.withConfig({componentId:"sc-80ecb9ee-2"})(["position:sticky;top:24px;@media (max-width:900px){position:static;","}"],e=>e.$bare?(0,p.AH)(["margin-top:32px;"]):(0,p.AH)(["margin:0 -24px 40px;padding:0 24px 40px;border-bottom:1px solid ",";"],l.pj)),j=p.Ay.div.withConfig({componentId:"sc-80ecb9ee-3"})(["@media (max-width:900px){display:none;}"]),y=p.Ay.div.withConfig({componentId:"sc-80ecb9ee-4"})(["text-align:left;"]),w=(0,p.Ay)(x.nD).withConfig({componentId:"sc-80ecb9ee-5"})(["display:block;letter-spacing:-0.035em;"]),_=(0,p.Ay)(x.zb).withConfig({componentId:"sc-80ecb9ee-6"})(["display:block;margin-top:8px;font-size:",";color:",";"],e=>e.theme.fontSize.small,l.rB),C=(0,p.Ay)(x.zb).attrs({as:"p"}).withConfig({componentId:"sc-80ecb9ee-7"})(["margin-top:20px;text-align:left;font-size:14px;line-height:1.65;color:",";b{color:",";font-weight:",";}"],l.kZ,l.Pg,e=>e.theme.fontWeight.extraBold),k=(0,p.Ay)(l.tB).withConfig({componentId:"sc-80ecb9ee-8"})(["display:flex;width:100%;margin-top:14px;padding:15px;",""],e=>e.$hero&&(0,p.AH)(["background:",";
1@media (max-width:900px){margin-top:0;}&:hover:not(:disabled){background:linear-gradient( ","1a,","1a ),",";}&:active:not(:disabled){background:linear-gradient( ","38,","38 ),",";}"],e.theme.color.linear,e.theme.color.white1,e.theme.color.white1,e.theme.color.linear,e.theme.color.white1,e.theme.color.white1,e.theme.color.linear));function I(e){let{name:n}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(y,{children:[(0,i.jsx)(w,{children:"[ 맞춤 공고 예시 ]"}),(0,i.jsx)(_,{children:"이력서를 올리면 이런 카드를 받아요 \xb7 실제 기업이나 인재의 정보가 아니에요"})]}),(0,i.jsx)(s.S,{name:n,title:"구직 조건",chips:u,background:"white"}),(0,i.jsx)(d.ZD,{job:m,rank:1}),(0,i.jsxs)(C,{children:[(0,i.jsx)("b",{children:"조건만 맞는 공고가 아니에요."}),(0,i.jsx)("br",{}),"경력\xb7프로젝트를 읽고 자격요건 하나하나에 점수를 매겨,",(0,i.jsx)("br",{}),n,"님이 ",(0,i.jsx)("b",{children:"합격할 만한 순서로 골라드려요."})]})]})}function A(e){let{name:n}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(y,{children:[(0,i.jsxs)(w,{children:[n,"님을 위한 맞춤 공고"]}),(0,i.jsx)(_,{children:"경력과 프로젝트를 읽고 합격 가능성이 높은 순서로 고르고 있어요"})]}),(0,i.jsxs)(l.yg,{children:[(0,i.jsx)(l.bu,{}),(0,i.jsx)(l.bu,{}),(0,i.jsx)(l.bu,{})]})]})}function v(e){let{data:n,onEditConditions:t,onJobOpen:r}=e,o=n.user.name;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(y,{children:(0,i.jsxs)(w,{children:[o,"님을 위한 맞춤 공고"]})}),n.conditionChips.length>0&&(0,i.jsx)(s.S,{name:o,chips:n.conditionChips,background:"white",onEdit:t}),(0,i.jsx)(l.yg,{children:n.recommendedJobs.map((e,n)=>(0,i.jsx)(d.ZD,{job:e,rank:n+1,defaultAllOpen:!0,onJobOpen:r},e.positionId))})]})}function E(e){let{controller:n,stage:t,recovery:r,name:o,error:a,onManualEntry:c,onConditions:l,onProfile:s,onPositions:d,onRetry:u}=e,{state:m,uploading:p,retry:x}=n,g="working"===m||"loading"===m;return"generating"===t?(0,i.jsx)(h.C$,{flush:!0,busy:!0,children:(0,i.jsx)(h.pc,{title:(0,i.jsxs)(i.Fragment,{children:[o,"님께 맞는 공고를",(0,i.jsx)("br",{}),"고르고 있어요."]}),description:(0,i.jsxs)(i.Fragment,{children:["커리어를 읽고 합격 가능성까지 따져보느라 조금 걸려요.",(0,i.jsx)("br",{}),"잠시만 기다려주세요."]})})}):"ready"===t?(0,i.jsx)(j,{children:(0,i.jsx)(h.C$,{flush:!0,busy:!1,children:(0,i.jsx)(h.tP,{title:"".concat(o,"님께 맞는 공고를 찾았어요!"),description:"왼쪽 카드에서 추천 이유를 확인하고,\n마음에 드는 공고에 바로 지원해 보세요."})})}):"failed"===t?(0,i.jsx)(h.C$,{flush:!0,busy:!1,children:(0,i.jsx)(h.tP,{title:"conditions"===r?"조건에 맞는 공고를 찾지 못했어요.":"맞춤 공고를 만들지 못했어요.",description:null!=a?a:"잠시 후 다시 시도해 주세요.",action:"wait"===r?{label:"공고 직접 찾아보기",onClick:d}:"conditions"===r?{ready:!0,label:"구직 조건 수정하기",onClick:l}:{label:"다시 시도하기",onClick:u},secondary:"retry"===r?{label:"내 프로필 확인하기",onClick:s}:void 0})}):(0,i.jsx)(h.C$,{flush:!0,busy:g||p,children:"input"===m?(0,i.jsx)(h.XD,{controller:n,onManualEntry:c}):g?(0,i.jsx)(h.pc,{...(0,h.el)(m)}):(0,i.jsx)(h.tP,{title:"conditions"===m?"앗, 프로필 정보는 완성되었는데\n구직 조건이 없어요!":"incomplete"===m?"채우지 못한 프로필 정보가 있어요.":"limited"===m?"오늘 정보 가져오기를 모두 이용했어요.":"failed"===m?"프로필 정보를 가져오지 못했어요.":"프로필 상태를 확인하지 못했어요.",description:"conditions"===m?"".concat(o,"님께 맞는 공고를 찾으려면 구직 조건이 필요해요."):"incomplete"===m?"내 프로필 상태를 직접 확인해 보시겠어요?":"limited"===m?"내 프로필에서 직접 정보를 채우거나 내일 다시 요청해 주세요.":"failed"===m?"내 프로필 페이지에서 자세한 상태를 확인해 주세요.":"잠시 후 다시 시도해 주세요.",action:{ready:"conditions"===m,label:"conditions"===m?"1분만에 구직 조건 선택하기":"error"===m?"다시 확인하기":"내 프로필 확인하기",onClick:"conditions"===m?l:"error"===m?x:s},secondary:"error"===m?{label:"내 프로필 확인하기",onClick:s}:void 0})})}var S=t(58149),N=t(26838),D=t(67308),R=t(98654),P=t(18831);let O="맞춤 공고 추천을 요청하지 못했어요. 잠시 후 다시 시도해 주세요.",F=(e,n)=>"NONE"===e||n&&"READY"===e;var T=t(45660),$=t(83469),z=t(98051),M=t(33125);
1let Y=(0,a.Xx)(e=>{let{user:n}=e,t=(0,o.useRouter)(),a=(0,T.s)(),s=function(e){var n,t,i;let{enabled:o,profileJustFilled:a}=e,{mutate:c}=(0,S.iX)(),[l,s]=(0,r.useState)(!1),[d,h]=(0,r.useState)(0),[u,m]=(0,r.useState)(!1),p=(0,r.useRef)(!1),x=(0,r.useRef)(!1),[g,f]=(0,r.useState)(!1),b=(0,R.Lg)(o,{refreshInterval:l&&d<3?1e4:0,onSuccess:e=>{if(!p.current)if(e.ok){var n;m(!1),h(0),s((null==(n=e.data)?void 0:n.status)==="PENDING")}else h(e=>e+1)}}),j=null==(n=b.data)?void 0:n.status,y=null!=(i=null==(t=b.data)?void 0:t.data)?i:null,[w,_]=(0,r.useState)(!1),[C,k]=(0,r.useState)(null),[I,A]=(0,r.useState)(!1),[v,E]=(0,r.useState)(!1),T=(0,r.useRef)(!1),$=(0,r.useCallback)(async()=>{if(!p.current){T.current=!0,p.current=!0,_(!0),k(null),m(!1),A(!1);try{var e;if((null==(e=(await (0,P.WVM)()).data)?void 0:e.status)!=="PENDING")throw Error(O);s(!0),h(0),await c("/accounts/match-recommendations",(0,N.Wk)({status:"PENDING",data:null,calculatedAt:null}),{revalidate:!1})}catch(n){let e=n instanceof D.h?n:null;A((null==e?void 0:e.status)===429),k((null==e?void 0:e.message)||O)}finally{p.current=!1,_(!1)}}},[c]);(0,r.useEffect)(()=>
1{o&&!T.current&&!x.current&&b.ok&&j&&!b.isValidating&&(s("PENDING"===j),T.current=!0,E(!0),F(j,a)&&$())},[o,b.ok,b.isValidating,j,a,$]);let z=o&&!b.ok&&!!b.error&&(!l||d>=3),M=async()=>{if(!p.current&&!x.current&&!b.isValidating){if(b.ok&&!C&&!u)return void await $();x.current=!0,f(!0),k(null),m(!1),A(!1),h(0);try{let e=await c("/accounts/match-recommendations");if(!(null==e?void 0:e.ok)||!e.data){h(3),m(!0);return}let n=!T.current&&a;T.current=!0,E(!0),s("PENDING"===e.data.status),F(e.data.status,n)&&await $()}catch(e){h(3),m(!0)}finally{x.current=!1,f(!1)}}},Y="READY"===j&&(!y||0===y.recommendedJobs.length),G=v&&"NONE"===j&&!l,H=o?w||g?"generating":C||"FAILED"===j||z||u||G||v&&Y?"failed":v&&!l&&"READY"===j?"ready":"generating":"idle";return{stage:H,data:"ready"===H?y:null,error:null!=C?C:G?O:z||u?"추천 상태를 확인하지 못했어요. 잠시 후 다시 시도해 주세요.":Y?"조건에 맞는 공고를 찾지 못했어요. 구직 조건을 넓히면 더 많은 공고를 볼 수 있어요.":"FAILED"===j?"추천을 만들다 문제가 생겼어요. 다시 시도해 주세요.":null,recovery:I?"wait":Y?"conditions":"retry",retry:M}}({enabled:"complete"===a.state||"publish"===a.state,profileJustFilled:a.justCompleted});(0,r.useEffect)(()=>{$.z.track("view_crm_match_landing")},[]);let d=(0,r.useRef)(!1);(0,r.useEffect)(()=>{"ready"===s.stage&&s.data&&!d.current&&(d.current=!0,$.z.track("crm_match_landing_recommended",{jobCount:s.data.recommendedJobs.length}))},[s.stage,s.data]);let h=(e,n,i)=>{$.z.track(n,i),t.push(e)},u=()=>h(z.AY.POSITIONS,"click_positions_from_crm_match_landing"),m=()=>{$.z.track("click_conditions_from_crm_match_landing"),t.push((0,M.LK)({query:{[z.rc.IS_UPDATING_CONDITION]:"true",[z.rc.FROM_SITE]:z.AY.CRM_LANDING_MATCH}}))},p="ready"===s.stage&&!!s.data,x="failed"===s.stage&&"wait"===s.recovery;return(0,i.jsxs)(l.YW,{children:[(0,i.jsx)(l.wn,{$hug:!0,children:(0,i.jsx)(l.fv,{children:p?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(l.H1,{children:[n.name,"님의 커리어를 읽고",(0,i.jsx)("br",{}),(0,i.jsx)("em",{children:"맞춤 공고를 골랐어요"})]}),(0,i.jsxs)(l.hj,{children:["구직 조건만 맞는 공고가 아니에요.",(0,i.jsx)("br",{}),(0,i.jsx)("b",{children:"합격 가능성"}),"이 높은 순서로 정리했어요."]})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(l.H1,{children:["이력서 하나만 올리고",(0,i.jsx)("br",{}),n.name,"님을 위한",(0,i.jsx)("br",{}),"맞춤 공고 추천 ",(0,i.jsx)("em",{children:"받아보세요"})]}),(0,i.jsxs)(l.hj,{children:["지금은 구직 조건만 보고 공고를 추천하고 있어요.",(0,i.jsx)("br",{}),"이력서를 올리면 ",(0,i.jsx)("b",{children:"커리어까지 읽고"})," ",(0,i.jsx)("b",{children:"합격 가능성"}),"도 반영해서 골라드릴게요."]})]})})}),(0,i.jsx)(l.wn,{$snug:!0,children:(0,i.jsx)(g,{children:(0,i.jsxs)(f,{$railFirst:!p,children:[(0,i.jsx)("div",{children:p&&s.data?(0,i.jsx)(v,{data:s.data,onEditConditions:m,onJobOpen:(e,n)=>h("".concat(z.AY.POSITIONS,"/").concat(e.positionId),"click_position_from_crm_match_landing",{positionId:e.positionId,rank:n,matchedCount:e.matchedCount,conditionCount:e.conditionCount})}):"generating"===s.stage?(0,i.jsx)(A,{name:n.name}):(0,i.jsx)(I,{name:n.name})}),(0,i.jsxs)(b,{$bare:p,children:[(0,i.jsx)(E,{controller:a,stage:s.stage,recovery:s.recovery,name:n.name,error:s.error,onManualEntry:()=>{$.z.track("click_manual_entry_from_crm_match_landing"),t.push((0,M.LK)({pathname:a.isCompletedCondition?z.AY.REQUEST_FORM_EDUCATION:z.AY.REQUEST_FORM_START,query:{[z.rc.FROM_SITE]:z.AY.CRM_LANDING_MATCH,...a.isCompletedCondition?{[z.rc.IS_DIRECT_FROM_CRM_MATCH]:"true"}:{}}}))},onConditions:m,onProfile:()=>h(z.AY.MY_PROFILE,"click_edit_profile_from_crm_match_landing"),onPositions:u,onRetry:s.retry}),!x&&(0,i.jsx)(k,{$ghost:!p,$hero:p,onClick:u,children:p?"모든 채용 공고 보러가기":(0,i.jsxs)(i.Fragment,{children:[c.mJ.openPositions.toLocaleString(),"개 채용 공고 직접 찾아보기"]})})]})]})})})]})},{title:"이력서 하나로 맞춤 공고 추천받기"})},57302:(e,n,t)=>{"use strict";t.d(n,{S:()=>a});var i=t(37876),r=t(43078),o=t(73140);function a(e){let{name:n,chips:t,onEdit:r,title:o,background:a="soft"}=e,p=t.filter(e=>"required"===e.tier),x=t.filter(e=>"required"!==e.tier);return(0,i.jsxs)(c,{$background:a,children:[(0,i.jsx)(u,{children:null!=o?o:"".concat(n,"님이 등록하신 조건으로 골랐어요")}),p.length>0?(0,i.jsxs)(l,{children:[(0,i.jsx)(s,{children:"필수"}),p.map(e=>(0,i.jsxs)(d,{children:[e.label,": ",e.text]},e.label))]}):(0,i.jsx)(h,{children:"필수 조건을 정하시면 추천이 더 정확해져요"}),x.length>0&&(0,i.jsxs)(l,{children:[(0,i.jsx)(s,{children:"선호"}),x.map(e=>(0,i.jsxs)(d,{children:[e.label,": ",e.text]},e.label))]}),r&&(0,i.jsx)(m,{type:"button",onClick:r,children:"조건 수정하기 →"})]})}let c=r.Ay.div.withConfig({componentId:"sc-f896749b-0"})(["background:",";"," color:",";text-align:left;border-radius:16px;padding:18px 20px;margin-top:20px;"],e=>"white"===e.$background?o.w.color.white1:o.w.color.background,e=>"white"===e.$background&&"border: 1px solid ".concat(o.w.color.line,";
1"),o.w.color.black1),l=r.Ay.div.withConfig({componentId:"sc-f896749b-1"})(["display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px;"]),s=r.Ay.span.withConfig({componentId:"sc-f896749b-2"})(["font-size:12.5px;font-weight:700;color:",";flex:none;"],o.w.color.black5),d=r.Ay.span.withConfig({componentId:"sc-f896749b-3"})(["font-size:12px;font-weight:600;background:",";border:1px solid ",";padding:4px 8px;border-radius:8px;color:",";"],o.w.color.white1,o.w.color.line,e=>e.theme.color.black2),h=r.Ay.div.withConfig({componentId:"sc-f896749b-4"})(["margin-top:10px;font-size:13px;color:#b7791f;"]),u=r.Ay.div.withConfig({componentId:"sc-f896749b-5"})(["font-size:14px;font-weight:700;"]),m=r.Ay.button.withConfig({componentId:"sc-f896749b-6"})(["display:block;margin-top:14px;padding:0;border:none;background:none;font:inherit;font-size:13px;color:",";cursor:pointer;"],o.w.color.gray2)}},e=>{e.O(0,[8421,9427,381,1246,5194,3974,2617,636,6593,8792],()=>e(e.s=12072)),_N_E=e.O()}]);
2//# sourceMappingURL=match-4e20889eaac1e57d.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.