📌 1. 파이널 100선 문제풀이 파트2 (민법) 1-1. 임대차 — 수선의무·종료·갱신 💡 사소한 파손은 수선의무 밖, 해제는 되돌리기(소급)·해지는 멈추기(장래) 1) 임대인의 수선의무 범위 ★★ 임대차계약 존속 중 건물에 사소한 파손이 생긴 경우, 임차인의 사용수익을 방해할 정도가 아니라면 특별한 사정이 없는 한 임대인은 수선의무를 부담하지 않는다. 예) 스위치 덮개 깨짐 → 수선의무 X / 보일러 고장으로 난방 불가 → 수선의무 O 2) 해제 vs 해지 ★★ 해제와 해지는 (효력이 소급하는지(해제는 소급효, 해지는 장래효))점에서 차이가 있고 하여 임대차의 경우 (목적물 인도 후 임차 상태가 이어진 뒤의 종료)은 해지 (목적물 인도 등 이행 개시 전의 종료)은 해제의 사유이다. ★★ 이때 원상회복의무의 차이는 (해제는 이미 주고받은 것을 서로 돌려주는 청산이고, 해지는 청산 없이 임차인이 반환할 때 변경한 부분을 복구하는 것)이다. 예) 입주 전 계약금을 포기하고 계약을 깸 → 해제 / 1년 살다가 중도 종료 → 해지 3) 계약갱신요구권 — 기간 약정이 없는 경우 ★★ 상가 + 환산보증금 기준액 초과 사안에서 기간을 약정하지 않으면 계약갱신요구권을 사용할 수 없다. 1-2. 매도인의 담보책임 — 권리행사기간 💡 물건의 흠(하자)은 안 날부터 6개월, 권리 자체를 못 받은 경우엔 그 기한이 없다 1) 하자 6개월 vs 기한 없음 ★★ 목적물하자는 안날로부터 6개월이내에 담보책임권리를 행사해야하지만 아예 타인의 소유 건물을 매도하거나 저당권이 실행된 것처럼 물건을 넘겨주기로한 사람이 아예 아무것도 넘겨주지 못했을 경우에는 이 기한이 없다. 예) 산 집 천장 누수(하자) → 6개월 시계 작동 / 경매로 집이 넘어가 소유권을 잃음 → 시계 없음 1-3. 명의신탁 💡 쟁점: 신탁자 점유의 자주·타주 여부, 실명법 시행 전 약정의 효력 — 두 항목 모두 하단 확인 필요 1) 신탁자의 점유 — 자주점유인가 ★★ 신탁자는 "수탁자 명의로 등기돼 있고, 내가 법적 소유자가 아니라는 것"을 스스로 안 채로 점유를 시작했다. 판례는 이처럼 타인 소유임을 알면서 점유하는 자는 소유의 의사가 없다고 본다. 주관적으로 "내 돈 주고 샀으니 내 거"라고 생각했더라도, 명의신탁이라는 형식을 일부러 택한 것 자체가 "법적 소유자는 수탁자"라는 인식을 전제한다. 자기 것이라는 생각과 소유자로서 점유하는 것은 다른 층위라는 점이 핵심이다. -> 즉 신탁자의 점유는 타주점유이다. 2) 부동산실명법 시행 전 명의신탁약정 ★ 부동산실권리자명의 등기에 관한 법률 시행전에 이루어진 명의신탁약정 후 등기를 한 것은 유효하다. 1-4. 가등기담보 — 청산기간과 말소청구 💡 청산금이 없어도 2개월(청산기간)은 기다려야 하고, 청산금을 받기 전이면 설정자가 갚고 가등기를 지울 수 있다 1) 청산기간 전 본등기 청구 불가 ★ 가등기담보권자는 실행통지를 할때 청산금이 없어도 2개월의 청산기간 전에는 가등기에 의한 본등기를 청구할 수 없다. 2) 청산금 지급 전 — 변제하고 말소청구 ★★ 청산기간이 경과된 후에도 가등기담보설정자는 청산금을 지급받기 전이라면 가등기담보권자에 변제하고 가등기의 말소를 청구할 수 있다. ■ 백지시트 (1단계) — 파이널 100선 파트2(민법) | 제한 10분 | 【마지막 덩어리부터 역순】 | 회차: 날짜: 4 가등기담보 — 항목 2개 실행통지 후 본등기 청구까지 기다릴 기간 → ( ) 청산금이 없어도 위 기간 전 본등기 청구 → 가능 / 불가 ( ) 청산기간 경과 후 말소청구가 가능한 시점 한계 → ( ) 전까지 그때 설정자가 할 일 → ( )하고 ( ) 청구 3 매도인 담보책임 기간 — 항목 2개 목적물 하자 → ( )부터 ( ) 이내 기한이 없는 경우 2개 → ( )( ) 2 해제 vs 해지 — 항목 3개 효력: 해제 ( )효 / 해지 ( )효 임대차 종료: 인도 후 이어진 뒤 → ( ) / 이행 개시 전 → ( ) 원상회복: 해제는 주고받은 것을 ( ) / 해지는 ( ) 복구 1 임대인 수선의무 — 항목 1개 사소한 파손 + 임차인의 ( )을 방해할 정도 아님 → 수선의무 ( )
Telegram has become an important communication platform for businesses, creators, communities, marketers, and online entrepreneurs. With features such as large groups, channels, bots, automation tools, and broadcast capabilities, Telegram can be useful for building communities and communicating with audiences worldwide. 📢📢╰┈➤📢🌸 Telegram: @SMMTOUSA 📢📢╰┈➤📢🌸 WhatsApp: +1 (343) 342-5919 As Telegram has grown, interest in purchasing existing Telegram accounts has also increased. Some buyers look for established accounts because they believe an existing account may save time compared with starting from scratch. However, purchasing an account can involve significant security, ownership, and platform-policy concerns. This guide explains what to consider when researching platforms that advertise Telegram accounts online. Instead of focusing only on price, buyers should evaluate account ownership, transfer procedures, seller reputation, security practices, refund policies, and compliance with Telegram's rules. What Does It Mean to Buy a Telegram Account? Buying a Telegram account generally means obtaining access to an account that was previously created and used by another person. Marketplaces may advertise accounts with different characteristics, including account age, activity history, geographic registration, or other features. However, an important distinction exists between buying an account and purchasing legitimate marketing services. An account transfer may create problems if the original owner retains access, recovery information is incomplete, or the transaction violates the platform's terms. Before considering any marketplace, users should carefully review Telegram's current terms and policies and understand the risks associated with transferring account ownership. Why Do People Look for Telegram Accounts? 📢📢╰┈➤📢🌸 Telegram: @SMMTOUSA 📢📢╰┈➤📢🌸 WhatsApp: +1 (343) 342-5919 There are several reasons people search for established Telegram accounts. Businesses may want to launch a community quickly, while marketers may want to establish a new communication channel without spending months building an account history. Creators may also be interested in Telegram because of its channel and community features. An established digital presence can appear attractive compared with creating everything from zero. Nevertheless, account age alone does not guarantee credibility, engagement, or security. A long-established account with little genuine activity may provide less value than a newly created account that is properly managed and supported by an authentic audience. Top 10 Platforms to Research When Buying Telegram Accounts Online The following categories and marketplace types are useful starting points when researching sellers. Availability, reputation, and policies can change, so buyers should independently verify each platform before making a transaction. Established Digital Account Marketplaces Large digital marketplaces are often the first place buyers look for social media and communication accounts. Their advantage is that they may provide seller profiles, transaction records, ratings, and marketplace rules. When researching an established marketplace, examine the seller's history rather than relying solely on the listing title. Look for consistent reviews, clear descriptions, dispute procedures, and transparent transaction policies. A marketplace with strong buyer protections is generally preferable to an anonymous seller operating through an informal messaging channel. Specialized Social Media Marketplaces Some websites specialize in digital assets such as social media profiles, channels, communities, and other online properties. These platforms may offer more detailed information about an account than general marketplaces. If a specialized marketplace advertises Telegram accounts, examine how ownership transfers are handled. Determine whether the marketplace provides a formal transaction process and whether it offers support if access is lost after purchase. 📢📢╰┈➤📢🌸 Telegram: @SMMTOUSA 📢📢╰┈➤📢🌸 WhatsApp: +1 (343) 342-5919 Established Digital Asset Exchanges Digital asset exchanges and online business marketplaces sometimes list established digital properties. These can include websites, social profiles, communities, and other internet-based assets. The advantage of these marketplaces can be greater transparency around sellers and transactions. However, buyers should still verify whether Telegram account transfers are actually permitted and whether the listed asset can legally and practically be transferred. Online Business Marketplaces Some online business marketplaces focus on selling complete digital businesses rather than individual accounts. A Telegram community may sometimes be included as part of a larger business package. This can be more meaningful than purchasing an isolated account because the buyer may receive legitimate business assets such as branding, content, a website, or an established community. Before purchasing, carefully examine what is included in the transaction and whether ownership of each asset can actually be transferred. Community and Creator Marketplaces Creator-focused marketplaces can sometimes connect buyers with sellers of established digital communities. These marketplaces may be useful for businesses interested in acquiring an existing audience rather than simply obtaining an old account. However, audience quality should be the main consideration. A large number of members does not necessarily mean strong engagement. Buyers should look for genuine activity, relevant audiences, and transparent community statistics. Reputable Freelance and Digital Service Platforms Some businesses use freelance platforms to hire professionals to create, manage, or grow Telegram communities rather than purchasing accounts directly. This approach can be safer for long-term projects because the business retains control over its own account while hiring specialists for content creation, community management, moderation, or marketing. When choosing a service provider, review previous work, customer feedback, communication quality, and the exact services included. Social Media Management Services Another option is using professional social media management companies. Instead of buying an existing Telegram identity, a business can create its own account and have professionals manage its content and community. 📢📢╰┈➤📢🌸 Telegram: @SMMTOUSA 📢📢╰┈➤📢🌸 WhatsApp: +1 (343) 342-5919 This approach can provide better continuity because the business maintains ownership of its credentials. It also reduces the possibility of inheriting unknown security problems from a previous account owner. Digital Marketing Agencies Digital marketing agencies may offer Telegram marketing, community management, content development, and advertising services. For companies interested in Telegram for legitimate marketing, working with an agency can be more sustainable than purchasing accounts. Agencies can help establish an authentic presence while following appropriate marketing practices. Businesses should avoid providers that promise unrealistic results, guaranteed mass membership, or methods designed to circumvent Telegram's security systems. Direct Business Asset Transactions In some situations, an existing Telegram community may be part of a broader business acquisition. For example, an entrepreneur might purchase an online business that includes a website, brand, mailing list, social profiles, and Telegram community. These transactions require additional due diligence. Buyers should verify ownership, revenue claims, audience statistics, intellectual-property rights, and the transferability of every asset. Build-and-Grow Services For many businesses, building a new Telegram account or community is ultimately the most reliable option. Professional growth services can help with branding, content, moderation, community engagement, and legitimate audience development. Although this approach takes longer than buying an existing account, it provides greater control and allows the business to establish an authentic history. What to Check Before Buying a Telegram Account Regardless of where an account is advertised, several factors deserve careful attention. First, verify who actually controls the account. A seller should be able to demonstrate legitimate ownership without asking the buyer to provide unnecessary personal information. Second, investigate the account's history. Sudden changes in ownership, unusual activity, spam complaints, or suspicious engagement may indicate potential problems. Third, review the seller's reputation. Do not rely exclusively on testimonials displayed on the seller's own website. Independent reviews and long-term marketplace activity can provide additional context. Fourth, understand the refund policy. If an account becomes inaccessible shortly after a transaction, buyers should know whether the marketplace offers any dispute resolution. Finally, consider Telegram's current rules before completing a transaction. A purchase that violates platform policies may result in account restrictions or loss of access. 📢📢╰┈➤📢🌸 Telegram: @SMMTOUSA 📢📢╰┈➤📢🌸 WhatsApp: +1 (343) 342-5919 Security Risks of Purchased Telegram Accounts Security is one of the biggest concerns when acquiring an existing account. The previous owner may still have access through another device or recovery method. In addition, the account could have an unknown history involving spam, suspicious activity, or compromised credentials. Buyers should never assume that an account is secure simply because a seller describes it as “verified,” “aged,” or “high quality.” Two-step verification, strong passwords where applicable, secure recovery information, and careful session management are important parts of account security. It is also important to avoid sharing sensitive information with sellers. Legitimate transa
AWS dev 첫 배포와 baseline 준비한 AWS dev 환경을 처음으로 띄운 날(Day 1) 기록이다. 목표는 단순했다. 인프라 생성 → 배포 → 관측 스택 동작 확인 → baseline 측정 → 삭제 그리고 3편에서 남겨둔 질문 하나. "로컬에서는 LocalStack이 멈춰서 느렸다. 그럼 실제 SQS에서는?" 환경은 이렇다. 구분 구성 클러스터 EKS, 노드 t3.medium 2대 (최대 5대) 데이터 RDS MySQL 8.4 + RDS Proxy, ElastiCache Redis, 실제 SQS (+ DLQ) 배포 Argo CD가 config 저장소를 보고 배포 확장 API는 HPA(CPU 기준, 1 5개), Worker는 KEDA(SQS 적체 기준, 1 20개) HPA: CPU 사용률 같은 지표를 보고 Pod 수를 자동으로 늘리고 줄이는 Kubernetes 기능 순서대로 막혔다 계획은 terraform apply → Argo CD 배포 → 확인이었는데, 단계마다 하나씩 막혔다. 단계 증상 원인 조치 인프라 생성 VpcLimitExceeded 예전 실습 VPC 4개 + 기본 VPC = 리전 한도 5개 안 쓰는 VPC 정리 후 재실행 인프라 생성 kubectl Forbidden 권한 연결이 접근 항목(Access Entry)보다 먼저 만들어지는 순서 문제 생성 순서 지정( depends_on ) 추가 애드온 설치 Unauthorized EKS 인증 토큰 15분 만료 프로필 지정, plan 없이 바로 apply Argo CD Repository not found config 저장소가 비공개 읽기 전용 토큰으로 저장소 등록 Argo CD external-secrets.io/v1 탐색 실패로 배포 중단 CRD가 설치되기 전에 그 CRD를 쓰는 리소스를 먼저 검사 첫 1회 수동 설치 + 재시도 설정 기동 Loki 재시작 반복 read-only file system 데이터 경로가 연결되지 않음 임시 디스크 연결 기동 Pod 대기 Too many pods 노드당 Pod 17개 제한 노드당 최대 Pod 110으로 설정 기동 앱 재시작 반복 Authentication requires secure connection MySQL 8.4 인증 방식 + SSL 미사용 DB 접속 주소에 sslMode=REQUIRED 이 중 세 개는 조금 설명이 필요하다. CRD가 먼저냐, 리소스가 먼저냐 CRD(Custom Resource Definition)는 Kubernetes에 "이런 종류의 리소스도 있다"고 새로 알려주는 정의다. 예를 들어 External Secrets를 설치해야 ExternalSecret 이라는 리소스 종류가 생긴다. Argo CD는 배포 전에 리소스를 한 번 검사한다. 그런데 CRD를 설치하는 앱과 그 CRD를 쓰는 리소스가 같은 묶음에 있다 보니, 검사 단계에서 "그런 리소스 종류는 없다"며 배포 전체가 멈췄다. 검사 건너뛰기 옵션과 재시도만으로는 안 풀려서, 첫 배포만 kubectl apply -k 로 한 번 밀어 넣어 CRD를 먼저 만들었다. 다음부터 같은 일이 없도록 재시도 설정을 추가하고, 절차서에도 "CRD 먼저 설치"를 넣었다. 노드는 남는데 Pod가 안 뜬다 Too many pods 로 Pod가 대기 상태에 걸렸다. 노드 CPU, 메모리는 여유가 있는데, 노드 하나에 Pod를 17개까지만 띄울 수 있었다. EKS에서 t3.medium은 네트워크 인터페이스 수 때문에 기본 Pod 수 제한이 낮다. 이걸 늘리는 설정을 Terraform에 넣어뒀는데, AL2023(Amazon Linux 2023) 노드에서는 그 설정이 반영되지 않았다. 노드 설정에서 kubelet(노드에서 Pod를 실행하는 에이전트)의 최대 Pod 수를 110으로 직접 지정하고 노드 3대를 교체했다. MySQL 8.4로 올렸더니 앱이 DB에 못 붙는다 RDS를 8.4로 바꾼 대가였다. MySQL 8.4의 기본 인증 방식( caching_sha2_password )은 비밀번호를 보낼 때 암호화된 연결을 요구한다. 그런데 앱의 DB 접속 주소는 useSSL=false 였고, 중간에 RDS Proxy까지 있어서 연결이 거부됐다. DB 접속 주소를 sslMode=REQUIRED 로 바꾸고, 시크릿을 다시 동기화한 뒤 앱을 재시작했다. 로컬은 SSL 없이도 잘 붙어서, AWS에 올리기 전에는 몰랐던 부분이다. 그 외에 zsh에서 명령 뒤에 붙인 # 주석이 인자로 들어가거나, [0] 대괄호를 파일 패턴으로 해석해서 명령이 깨지는 일도 몇 번 있었다.. 이후로는 주석 없이, 대괄호가 있는 인자는 따옴표로 감싸서 실행했다. 동작 점검 배포가 끝난 뒤 "관측 체계가 진짜로 동작하는지"부터 확인했다. 대시보드가 비어 있는데 정상이라고 착각하는 게 제일 위험하기 때문이다. 항목 결과 Argo CD 앱 13개 전부 Synced / Healthy 외부 접속 (ALB /actuator/health ) UP Prometheus 수집 대상 전체 UP (API, Worker, YACE 포함) 앱 큐 적체 값, YACE SQS 지표 둘 다 수집 확인 Loki {service="ticket-service"} JSON 파싱 조회, requestId 포함 Alertmanager → Slack 테스트 알림 수신. 앱이 재시작을 반복할 때 TargetDown (수집 대상 다운) 알림이 실제로 온 것도 확인 (사진 추가 추천: Slack에 온 [DEV][FIRING] 알림 캡처) 알림 규칙이 참조하는 메트릭이 실제로 있는지도 확인했다. 메트릭 이름이 틀리면 규칙은 에러 없이 그냥 "항상 정상"으로 남기 때문에 꼭 봐야 하는 부분이었다. 하나 걸린 건, 앱이 붙이는 service 라벨이 Prometheus가 붙이는 라벨과 이름이 겹쳐서 exported_service 로 바뀌어 들어온다는 점이다. 대시보드를 만들 때 정리하기로 했다. baseline: 회차마다 나빠졌다 로컬과 같은 조건(30 VU, 3분)으로 3회 돌렸다. 집 네트워크 영향을 빼기 위해 k6는 클러스터 안에서 Job으로 실행했다. 회차 사이에는 5분씩 쉬었다. 지표 (p95, ms) 로컬 AWS 1회 AWS 2회 AWS 3회 hold (좌석 선점) 16~20 93 148 193 booking (예약 요청) 40~48 77 125 192 seats (좌석 조회) 16~21 80 121 173 booking 최대 120~670 759 2,878 3,804 처리량 (반복/초) 22.4 19.9 18.4 19.4 확정 성공률 100% 100% 100% 100% 로컬보다 느린 건 예상했다. 로컬은 모든 게 한 머신 안에서 돌고, AWS는 RDS Proxy, ElastiCache, SQS를 네트워크 너머로 호출한다. 이상한 건 같은 조건인데 1회 → 2회 → 3회로 갈수록 계속 나빠졌다 는 점이다. 기준값을 재러 왔는데 기준이 안 잡히는 상황이었다. 원인 좁히기 DB부터 의심했다 DB 커넥션을 기다리는 요청 수( hikaricp_connections_pending )가 전 구간 0이었다. 커넥션도 최대 6~7개만 쓰고 있었다. DB는 제외. Pod 수를 봤다 회차 시작 시 Pod (API / Worker) 부하 중 hold p95 1회 5 / 4 (직전 실행에서 늘어난 Pod가 남아 있음) 유지 93 2회 2 / 1 5 / 3 148 3회 1 / 1 5 / 4 193 쉬는 5분 동안 Pod가 줄어들고, 다음 회차가 시작되면 다시 최대치까지 늘어나고 있었다. 1회가 가장 좋았던 건 측정 전에 한 번 돌린 사전 실행 때 늘어난 Pod 5개가 그대로 남아 있었기 때문이다. 이미 예열된(warm) Pod로 측정한 셈이다. (사진 추가 추천: 회차별 Pod 수가 계단처럼 늘었다 줄었다 하는 그래프) 새로 뜬 Pod를 봤다 새 Pod의 CPU throttling 비율이 0.9 이상이었다. SQS 전송 시간( booking_sqs_send_seconds ) p99도 새 Pod가 뜬 직후 2.7초까지 튀었다. booking 최대 3.8초의 원인이 이거였다. CPU throttling: Kubernetes에서 Pod에 CPU limit(최대 사용량)을 걸면, 그 이상 쓰려고 할 때 강제로 쉬게 만든다. 비율 0.9는 "CPU를 쓰려던 구간의 90%에서 막혔다"는 뜻이다. (사진 추가 추천: 새 Pod의 CPU throttling 그래프) 왜 이렇게 되나 설정을 열어보니 이유가 보였다. API(ticket-service): CPU request 300m, HPA 목표 CPU 50% → Pod당 CPU 150m(0.15 core)만 넘어도 확장 CPU request: Pod가 "최소 이만큼은 보장해 달라"고 요청하는 CPU 양. HPA의 사용률(%)은 이 값을 기준으로 계산한다. JVM은 막 뜬 직후 클래스 로딩과 JIT 컴파일(자주 쓰는 코드를 실행 중에 기계어로 바꾸는 작업) 때문에 CPU를 많이 쓴다. 150m 기준은 이 워밍업 비용보다 낮아서, 부하가 들어오자마자 최대치(5개)까지 늘어난다. 그런데 새로 뜬 Pod는 워밍업 중에 CPU limit(1 core)에 걸려 throttling되고, 그 Pod로 간 요청은 느려진다. 부하 시작 → CPU 150m 초과 → 최대치까지 확장 → 새 Pod 워밍업 + CPU limit에 막힘 → 그 Pod로 간 요청 지연 → p95 상승 즉 늘어나는 것 자체가 느려지는 원인 이었다. 그래서 AWS 기준값은 워밍업이 끝난 상태인 1회 수치를 쓰고, 2·3회는 "확장 중" 수치로 따로 기록했다. 이 문제는 7편 끝에서 개선 대상으로 다시 다룬다. 그래서 실제 SQS에서는? 3편의 질문으로 돌아가면, 이번 측정에서는 실제 SQS 자체가 멈췄다는 근거는 없었다. SQS 전송 시간이 튄 건 새 Pod가 뜬 직후였고, 원인은 SQS 클라이언트의 첫 연결과 CPU throttling 쪽이었다. 로컬에서 본 "LocalStack이 수백 ms 동안 멈추는" 현상과는 다른 원인이다. 다만 결과는 비슷했다. 원인이 브로커든 Pod든, 요청 스레드가 SQS 전송을 동기로 기다리는 구조라서 그 지연이 사용자 응답에 그대로 드러났다. 3편에서 짚은 구조 문제가 실제 환경에서도 다른 이유로 다시 확인된 셈이다. 덤으로 찾은 버그: 예약 취소 500 2회차에서 예상 외 오류가 31건 나왔다. 30건은 예약 취소( DELETE /api/v1/bookings/{id} )가 500을 낸 것이었다. 원인은 낙관적 락 충돌( StaleObjectStateException )이었는데, 예외 처리가 안 돼서 500으로 그대로 노출됐다. 낙관적 락: 데이터에 버전 번호를 두고, 저장할 때 "내가 읽은 버전 그대로인지" 확인하는 방식. 그 사이 누가 먼저 고쳤으면 충돌로 실패한다. k6는 예약이 확정되자마자 취소를 보내는데, 그 순간 Worker가 아직 같은 예약을 갱신하고 있으면 버전이 안 맞는다. 2회차는 Worker가 느렸던 회차라 이 경합 구간이 길어진 것으로 보고 있다. 로컬 측정에서는 한 번도 안 나왔던 오류다. 충돌을 409로 바꾸거나 재시도하는 쪽으로 이후에 다룰 예정이다. 나머지 1건은 Worker Pod가 줄어들 때 Redis 클라이언트가 종료되면서 남긴 로그라 무시해도 되는 것이었다. 삭제 측정이 끝나고 바로 지웠다. 순서가 중요하다. k6 → Argo CD 앱 → Gateway·HTTPRoute·PVC → ALB 삭제 확인 → 애드온 destroy → 인프라 destroy ALB는 Terraform이 아니라 클러스터 안의 컨트롤러가 만든 리소스다. 클러스터를 먼저 지우면 ALB가 주인 없이 남아서 비용이 계속 나간다. 그래서 클러스터 안의 리소스부터 정리하고 ALB가 사라진 걸 확인한 뒤 destroy했다. state 버킷과 Slack webhook만 남겨뒀다. 다음 단계 AWS 1회 수치를 근거로 알림 기준 다시 정하기 (4편에서 보류한 300ms냐 700ms냐) 대시보드 만들기 ( exported_service 정리 포함) 알림 메시지 표준과 규칙 테스트 이번에 발견한 "확장 중 성능 저하"와 "예약 취소 500"은 장애 시나리오와 개선 단계에서 다시 다룬다.
문제 내가 생각했을때 문제에서 원하는부분 소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 * 2 * 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. 내가 이 문제를 보고 생각해본 부분 int[] testCases = {12, 17, 420}; 프로그래머스 입출력 예시에 제시된 세 가지 테스트 값을 배열에 미리 담아둔다. for (int n : testCases) 반복문을 사용해 배열 안의 숫자를 하나씩 꺼내고, 이를 solution 메서드에 매개변수로 전달한다. System.out.println(Arrays.toString(result)); solution 메서드가 반환한 결과 배열을 콘솔에 가독성이 좋은 형태([값, 값])로 출력한다. List<Integer> list = new ArrayList<>(); 소인수의 개수가 정해져 있지 않기 때문에 크기가 유동적으로 조절되는 가변 리스트를 선언한다. for (int i = 2; i <= n; i++) 2부터 시작하여 n까지의 자연수로 나누어보며 소인수를 찾는다. 별도의 소수 판별 로직이 필요 없는 이유는 2부터 차례대로 나누어가면 4나 6 같은 합성수는 이미 작은 소수들에 의해 먼저 걸러지기 때문이다. if (n % i == 0) n을 i로 나누었을 때 나머지가 0이라면 i는 n의 소인수이다. 따라서 list.add(i)를 통해 리스트에 추가한다. while (n % i == 0) { n /= i; } n이 더 이상 i로 나누어떨어지지 않을 때까지 계속 나누어 값을 줄인다. 이 과정을 통해 중복된 소인수가 리스트에 여러 번 쌓이는 것을 방지한다. return list.stream().mapToInt(i -> i).toArray(); 지금까지 모은 리스트를 자바 스트림(Stream) API를 활용해 기본형 정수 배열(int[])로 변환한 뒤 반환한다. 코드로 구현 import java.util.ArrayList; import java.util.List; class Solution { public int[] solution(int n) { List<Integer> list = new ArrayList<>(); for (int i = 2; i <= n; i++) { if (n % i == 0) { list.add(i); while (n % i == 0) { n /= i; } } } return list.stream().mapToInt(i -> i).toArray(); } } 프로그래머스 코드 package programmers.programmers2; import java.util.ArrayList; import java.util.Arrays; import java.util.List; // 프로그래머스 소인수분해 public class Main165 { public static void main(String[] args) { // 입출력 예시에 있는 모든 값들을 배열에 담아둡니다. int[] testCases = {12, 17, 420}; // 반복문을 돌며 각각의 입력값에 대한 소인수분해 결과를 확인합니다. for (int n : testCases) { int[] result = solution(n); System.out.println(Arrays.toString(result)); } } public static int[] solution(int n) { List<Integer> list = new ArrayList<>(); for (int i = 2; i <= n; i++) { if (n % i == 0) { list.add(i); while (n % i == 0) { n /= i; } } } return list.stream().mapToInt(i -> i).toArray(); } } 위에 있는 코드를 변경한 코드 마무리 코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.
On the 20th Anniversary, we recognize how AWS has continued to push the boundaries of what cloud computing can deliver, building custom silicon for general-purpose and AI workloads and expanding EC2 into new form factors and deployment models that our customers in 2006 could not have imagined.