

SonarQube ์ค์นํ๊ณ SAST ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ
Ansible ๊ฐ๋จํ ํ๋ ์ด๋ถ ํ ์คํธ
Multipass ๊ฐ์๋จธ์ ์ ํตํ Ansible ์ปจํธ๋กค ํ๊ฒฝ ๊ตฌ์ฑ
Docker Desktop(Mac)์ ๋คํธ์ํฌ ๊ตฌ์กฐ
์์ฝ > ๋ด ํธ์คํธ์์ ์ปจํ ์ด๋์ IP๋ฅผ โ์ ๋ณด๋ก์จโ ๋ณผ ์๋ ์์ผ๋ IP๋ฅผ ์ฌ์ฉํ ์ ์์ ๋ถ๊ฐ๋ฅ
Docker Container SSH ์ ์ ์ค์
ํ์ฌ ์งํ ์ค์ธ PoC๋ฅผ ์ํด SSH ์ ์ ๋ฐฉ์ ํ ์คํธ๊ฐ ํ์ํ๋ค. ๊ทธ๋ฌ๋ Ubuntu Docker image์๋ ๊ธฐ๋ณธ์ ์ผ๋ก SSH(์ฆ, openssh-server)๊ฐ ์ค์น๋์ด์์ง ์๊ธฐ ๋๋ฌธ์ ์ด๋ฒ์ Docker + SSH ์ ์ ๋ฐฉ์์ ํ ์คํธํ๊ณ ๊ธฐ๋กํ๋ค.
Ubuntu ์ปจํ ์ด๋ ์์ฑ๋ถํฐ ModSecurity WAF ๊ตฌ์ฑ ๋ฐ ํ ์คํธ๊น์ง
์์ ModSecurity์ ๋ํด ๊ฐ๋จํ ๋ค๋ค๋ค. ์ด๋ฒ์๋ ์ฐ๋ถํฌ ์ปจํ ์ด๋ ์์ฑ๋ถํฐ ModSecurity ๊ตฌ์ฑ๊ณผ ํ ์คํธ๊น์ง ์งํํ๊ณ ๊ทธ ๊ณผ์ ์ ๊ธฐ๋กํ๋ค.
ModSecurity. Opensource Web Application Firewall
๋ถ์ : Docker๋ฅผ ์ฌ์ฉํ ModSecurity WAF ์ฌ์ฉ๊ธฐ Web Application Firewall (WAF): ์น ์๋น์ค๋ฅผ ํตํด์ ๊ณต๊ฒฉ์ ์๋ํ๋ XSS, SQL Injection, Command Execute๊ณผ ๊ฐ์ ๊ณต๊ฒฉ์ ํจ๊ณผ์ ์ผ๋ก ์ฐจ๋จํ๋ ์ญํ ์ ์ํํ๋ ๋ณด์ ๋ชจ๋

CloudWatch Alarm ํ์ฉํ ECS Fargate ์ค์ผ์ผ์์
์๊ฐ์ด ํ๋ฅผ์๋ก ์ ์ ๋ถ์ Batch ํ๋ก์ธ์ค๊ฐ ์ค๋๊ฑธ๋ฆฌ๊ธฐ ์์ํ๋ฉด์ ์ ์ ํ๋ฃจ๋ฅผ ๋์ด๊ฐ๊ธฐ ์์. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ECS Service์ CloudWatch๋ฅผ ํ์ฉํ ์คํ ์ค์ผ์ผ๋ง์ ์ ์ฉํ์๊ณ ๊ทธ ๊ณผ์ ์ ๊ธฐ๋กํ์๋ค.
MyBatis bind tag. ๋์ SQL ๊ตฌํ
MyBatis์์ SQL์ ๋์ ์ผ๋ก ์์ฑํ ๋ ์ ์ฉํ <bind>์ ๋ํด ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด๋ณด์๋ค.
Docker ELK ๊ตฌ์ฑ์ Metricbeat ์ถ๊ฐ
์์ Docker๋ฅผ ํ์ฉํ ELK ๊ตฌ์ฑ์ ์ด์ด์, ์ด๋ฒ์๋ Metricbeat๋ฅผ ๋ถ์ฌ๋ณด์๋ค
Docker๋ฅผ ํ์ฉํ ElasticSearch, Logstash, Kibana ๊ตฌ์ฑ
ELK ๊ตฌ์ฑ ๋ฐฉ๋ฒ ์ค์์๋ Docker๋ฅผ ํ์ฉํ ๋ฐฉ๋ฒ์ผ๋ก ์งํํด๋ณด์๋ค.

Nginx Proxy Manager - Official Guide & Local Setup for Customization
์ปค์คํ ์ ์ํด ์ฝ๋ ์์ ํ Nginx Proxy Manager๋ฅผ ์ ์์ ์ผ๋ก ์คํํ ์ ์์ด์ผํ๋๋ฐ, ๊ทธ ์ด๋์์๋ ์ด๋ฅผ ์ํ ๊ฐ์ด๋๋ฅผ ์ฐพ์ ์ ์์๋ค. ๊ฒฐ๊ตญ ์ง์ ์์ค์ฝ๋ ๋ถ์ ํ ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ๋ค์ ํ์ธํ๋ค.
Aurora MySQL ์ ๊ทธ๋ ์ด๋ 5.7 to 8.0, ์์ ์ ์์๋๋ฉด ์ข์์ ์ฃผ์ ํฌ์ธํธ
AWS Aurora MySQL ๋ฒ์ ์ ๊ทธ๋ ์ด๋ ์์ ์ ์์๋๋ฉด ์ข์ ๋ด์ฉ๋ค์ ์ ๋ฆฌํ์๋ค.
Docker Buildx๋ฅผ ์ฌ์ฉํ ๋ฉํฐ ์ํคํ ์ฒ ์ด๋ฏธ์ง ๋น๋, Github Actions ์ ์ฉ ์ฌ๋ก
Docker Buildx๋ ๋ค์ํ ์ํคํ ์ฒ์์ ์คํ ๊ฐ๋ฅํ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ ์ ์๋ Docker CLI์ด๋ค. ์ด๋ฅผ ํ์ฉํ๋ฉด ํน์ ์ํคํ ์ณ์์ ์ง์ํ๋ ์ด๋ฏธ์ง๋ก ๋น๋ํ ์ ์๋ค.
Poetry๋ฅผ ํ์ฉํ Python ํ๋ก์ ํธ ๊ด๋ฆฌ
ํจํค์ง ์์กด์ฑ ๊ด๋ฆฌ์ ๊ฐ์ ํ๊ฒฝ ์์ฑ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ํ ๋ฐฉ๋ฒ.
[ArgoCD] Error: Unable to create โ..git/index.lockโ: File exists
[CI/CD] Github Actions: build, push, update another repo file
Github Actions์ ์ฌ์ฉํ์ฌ ๋ฉํฐํ๋ซํผ์ด ์ง์๋๋ ์ด๋ฏธ์ง ๋น๋ ๋ฐฉ๋ฒ๊ณผ Docker Hub ํน์ ECR์ Pushํ๋ ๋ฐฉ๋ฒ. ๊ทธ๋ฆฌ๊ณ ์ 3์ Git Repo ํ์ผ ๋ด์ฉ ๋ณ๊ฒฝ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณด์๋ค.
[Terraform] DB Instance ์ญ์ ๋ VPC ์ฐธ์กฐ ํ์
Terraform์ผ๋ก DB Instance ์์ฑ์ ์กด์ฌํ์ง ์๋ VPC๋ฅผ ์ฐธ์กฐํ๋ ํ์์ ๋ํ์ฌ

Github Actions & ArgoCD CI/CD (for K8S, Java App)
Github Actions๋ฅผ ํ์ฉํด์ ์ ํ๋ฆฌ์ผ์ด์ Build & Image push. ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ Kubernetes manifest ํ์ผ ๋ณ๊ฒฝ์ ๋ฐ์์ ArgoCD๋ฅผ ํตํ์ฌ ๋ก์ปฌ Minikube ํ๊ฒฝ์ ์๋๋ฐฐํฌ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ
ArgoCD ํ์ฉ Minikube ํ๊ฒฝ์ ๋ฐฐํฌ(feat. AWS ECR)
ArgoCD๋ฅผ ํตํด ๋ด ๋ก์ปฌ์ Minikube ํด๋ฌ์คํฐ ํ๊ฒฝ์ด ๊ตฌ์ฑ๋๋๋ก ๋ง๋ค์๋ค. ๊ทธ๋ฆฌ๊ณ Dockerhub Public image๋ฅผ ๊ฐ์ ธ์ค๋ ๊ธฐ์กด๋ฐฉ์์์ AWS ECR์ image๋ฅผ pull ํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ๊ฟ๋ณด์๊ณ , ์ด ๊ณผ์ ์์ ๋ฐ์ํ ๋ฌธ์ ์ ๋ํด ์๊ฒ๋ ์์ธ๊ณผ ํด๊ฒฐ๋ฐฉ๋ฒ์ ๊ธฐ๋กํด๋ณด์๋ค.
What to do about maven import errors
io.opentelemetry:opentelemetry-exporter-zipkin:jar:unknown was not found in https://repo.maven.apache.org/maven2 during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of central has elapsed or updates are forced
VM Proxy ์ค์ ์ ๋ํ HttpURLConnection & HttpClient ์ฐจ์ด
ํ๋ก์ ์๋ฒ ๊ตฌ์ฑ์ ํ๋ ๊ณผ์ ์์ ์๊ฒ๋ Java ํด๋์ค ๋ช๊ฐ์ง๋ฅผ ๋น๊ตํ์ฌ ์ ๋ฆฌํ์๋ค.
About Netcat and Netstat
Local K8S ํ๊ฒฝ Kafka Application ๊ตฌ์ฑ(feat. Minikube)
Quick Guide: How to Identify Your Package Manager
Linux๋ฅผ ์ฌ์ฉํ๋ค๋ณด๋ฉด ๊ทธ ์์์ ์ฌ์ฉ ๊ฐ๋ฅํ ํจํค์ง ๊ด๋ฆฌ์ ํ์ธ์ด ํ์ํ ๋๊ฐ ์๋ค. ์ฟ ๋ฒ๋คํฐ์ค๋ ๋์ปค๋ฅผ ์ฌ์ฉํ๋ฉด image๋ฅผ ํตํด pod container๋ฅผ ํธ๋ฆฌํ๊ฒ ๊ตฌ์ฑํ ์ ์์ง๋ง, ๊ทธ image๊ฐ ๊ตฌ์ฑ๋ OS๊ฐ ์ด๋ค ๋ฐฐ๋ณดํ์ธ์ง ํ์ธํ๊ณ ์ ํฉํ ํจํค์ง๊ด๋ฆฌ์๋ฅผ ์ฐพ์์ผํ๋ค.
Spring Optimization: Refactoring Object-to-Map Conversion Methods
๊ธฐ์กด Reflection ์ฌ์ฉ ๋ฐฉ์ Object to Map ์ปจ๋ฒํ ๋ฉ์๋์ ์ฑ๋ฅ ๋ฐ ์ ์ง๋ณด์์ฑ ๊ฐ์ ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ
Docker Pull Error: ๋ ๊ฐ์ง ํด๊ฒฐ ๋ฐฉ๋ฒ
๋ก์ปฌ ์ฟ ๋ฒ๋คํฐ์ค ํ๊ฒฝ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๋ฅผ ํ๋ฉด์ ๊ฒช์ Docker Image Pull ์๋ฌ. ์ด๊ฒ์ ํด๊ฒฐํ ์ ์์๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ํ ๊ธฐ๋ก.
[AWS] Terraform์ผ๋ก ์ดํดํ๋ LoadBalancer(feat. ASG)
LoadBalancer, Listener, Listener Rule ๊ทธ๋ฆฌ๊ณ Health Check์ ๋ํ์ฌ
MySQL SET - Change Default Port, Public Key Error
๊ธฐ๋ณธ ํฌํธ ์ค์ ๊ณผ Public Key Retrieval is not allowed ์๋ฌ์ ๋ํ์ฌ
[IntelliJ] ํ๋ก์ ํธ ํ์ผ ์๋ณด์ด๋ ํ์ ๋ฐ ํด๊ฒฐ
IntelliJ์์๋ง ๋ณด์ฌ์ผํ ์์ ๋๋ ํ ๋ฆฌ ๋ฐ ํ์ผ๋ค์ด ์๋ณด์ด๋ ํ์๊ณผ ์กฐ์น๋ฐฉ๋ฒ
[AWS] Getting Metadata on Amazon Linux 2023
Amazon Linux 2023 Machine Image ๊ธฐ๋ฐ ์๋ฒ์์ ๋ฉํ๋ฐ์ดํฐ ์กฐํ, MySQL ์ฐ๊ฒฐ ๋ฐฉ๋ฒ
[Nuxt] How to build a static website
Nuxt Framework ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๊ธฐ ์ํด ์์์ผํ ๊ธฐ๋ณธ์ ์ธ ์ปค๋งจ๋
Errors when changing the "nvm" version
nvm -v ์คํ์ ๋ฐ์ํ๋ ์๋ฌ์ ๋ํ ์กฐ์น๋ฐฉ๋ฒ
[Nx] Monorepo structure design
ํ๋์ repository๊ฐ ์๋ค. ์ด ์ ์ฅ์์ ์ฝ๋๋ A๋ผ๋ ๊ธฐ์กด ํ ํ๋ฆฟ ์ฝ๋์ B ํ ํ๋ฆฟ ์ฝ๋๋ฅผ ํฉ์น ํํ๋ค. ํ๋์ ๋๋ฉ์ธ ์์์ A์ B ํ๋ฉด์ด ์ ๊ธฐ์ ์ผ๋ก ์ฌ์ฉ๋์ด์ผํ๊ณ , A์ B์ ๊ฐ๊ฐ์ ์๋ ์คํ์ผ์ด๋ ๊ธฐ๋ฅ ์ฝ๋๋ฅผ ์ฝ๊ฒ ๊ฐ์ ธ๋ค ์ฐ๊ธฐ ์ํด ์ด๋ ๊ฒ ๋ณํฉ๋ ํํ๊ฐ ๋์๋ค. ๊ทธ๋ฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ด์ฆ๊ฐ ์ปค์ง๋ฉด์ ์ ์ ํจํค์ง ์ถฉ๋์ด ๋ฐ์ํ๊ฒ ๋์๋ค. ๊ทธ๋์ ์ฒ์๋ถํฐ ๋ค์ ์ค๊ณํ์ฌ ๋ถ๋ฆฌํ๋๊ฒ์ด ์ ์ ํ๋ค๊ณ ํ๋จํ๊ณ , ์ด ๋ Monolithic Repository ๊ตฌ์กฐ๋ฅผ ์ ์ฉํ๊ฒ๋์๋ค.
[Git] Upstream commit history merge
์ด๋ Github ์ ์ฅ์๋ฅผ Forkํ์ฌ ๋์ repository๋ก ์ฎ๊ธด ํ ์ด ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ๋ช๋ฒ์ commit & push ์์ ์ ํด์๋ค. ์ด๋๋ ๋ฉ์ธ(Forkํ๋ ๋์ Repository) ์ ์ฅ์์์ ๊ทธ ๋์ ์ด๋ฃจ์ด์ง ์์ ๋ด์ญ์ ๋์ repository์ ๋ฐ์ํด์ค์ผํ ์๊ธฐ๊ฐ ์๋ค. ์ด ๋ vs code๋ก ์งํํ๋ ์์ ๊ณผ์ ์ ์์๋๋ก ๊ธฐ๋กํด๋ณด์๋ค.
[IntelliJ] CRLF/LF ๊ฐํ ๋ณ๊ฒฝ ๋ฌธ์ ํด๊ฒฐ
์ธํ ๋ฆฌ์ ์ด๋ฅผ ํตํ Git ์์ ์ ์ข ์ข ๊ฒช์ ์ ์๋ CRLF/LF ๊ฐํ ๋ณ๊ฒฝ ๊ด๋ จ ๋ฌธ์ ์ ๊ทธ ํด๊ฒฐ๋ฒ
[Nuxt3] HTML to PDF
[Git] ์์ค์ฝ๋ Push ๋ฌดํ๋ก๋ฉ ํ์
Source Push infinite loading
![[Flutter] BottomNavigationBar ๊ตฌํ์ ๋ฉ๋ชจ๋ฆฌ ๊ณ ๋ ค์ฌํญ](/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F860f1bfc-9254-4fa4-88e7-d97d6875e5ab%252Fdd53f850-309c-4f33-af86-ad77194615f2%252F8bb8619b0be4e72b6603f6191eb01cb0.jpg%3Ftable%3Dblock%26id%3D81e02509-2b0c-4390-92bb-35d39501852e%26cache%3Dv2&w=3840&q=75)
[Flutter] BottomNavigationBar ๊ตฌํ์ ๋ฉ๋ชจ๋ฆฌ ๊ณ ๋ ค์ฌํญ
[Flutter] ์๋ฌ ๋ด์ฉ โMissingPluginException(No implementation found for method getApplicationDocumentsDirectory on channel plugins.flutter.io/path_provider)โ
![[Git] Private Repo Clone ๋ฐฉ๋ฒ ๋ฐ RSA ํค์ ๋ํ ์ดํด](/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F860f1bfc-9254-4fa4-88e7-d97d6875e5ab%252Faa920554-b3fb-47b1-8cb5-14ef46967198%252Fc84a5a4838bffe4e8419272bd4dac7b1.jpg%3Ftable%3Dblock%26id%3D3e7777c0-5731-45e6-9544-62cb0a1600ad%26cache%3Dv2&w=3840&q=75)
[Git] Private Repo Clone ๋ฐฉ๋ฒ ๋ฐ RSA ํค์ ๋ํ ์ดํด
![[Nuxt3] Layout ์ค์ ๋ฐ ๋์ ๋ณ๊ฒฝ](/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F860f1bfc-9254-4fa4-88e7-d97d6875e5ab%252F98fe03bd-3ac1-4727-bc66-924e36e4bd82%252F3b25b6877e0c19e55117ff3941fc20bc.jpg%3Ftable%3Dblock%26id%3Df22144cd-b309-48a8-aee1-bff396438b34%26cache%3Dv2&w=3840&q=75)
[Nuxt3] Layout ์ค์ ๋ฐ ๋์ ๋ณ๊ฒฝ
[Nuxt3] $fetch ํจ์์ ๋ํ์ฌ(feat. ์ผ๋ฐ์ ์ธ fetch์์ ์ฐจ์ด)
![[Nuxt3] useFetch, useAsyncData์ ์ฐจ์ด](/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F860f1bfc-9254-4fa4-88e7-d97d6875e5ab%252Fb70b6c2f-1b89-48ff-b876-391384a9f27c%252F17541cd38c047b9924a745f081f0703c.jpg%3Ftable%3Dblock%26id%3D2f9d3ab2-011a-44b3-87c8-fd73b84ff44e%26cache%3Dv2&w=3840&q=75)
[Nuxt3] useFetch, useAsyncData์ ์ฐจ์ด
Redis ์ธ์ ํด๋ฌ์คํฐ๋ง ์ค์ (feat. Redisson)
How to Enable Session Clustering in "Low-level Spring Framework" and "Redis with Encryptionโ
Delimiter๋ฅผ ํตํ ๋ค์ค ๊ฒ์ ์ฒ๋ฆฌ

Autoscaling ์ ์ฉ์ ์ํ ์ค์ผ์ค(@Scheduled) ๋ก์ง ๋ณ๊ฒฝ
Open vscode with the Terminal 'code .' command
[JS] input box ์ฌ์ฉ์ ํธ์์ฑ์ ๋ํ ๊ณ ๋ฏผ
Thinking about user usability for 'input boxโ
[AWS] ์ฝ์๊ณผ CLI ์ ์์ ํน์ IP ์ธ ์ ๊ทผ ์ฐจ๋จ ์ ์ฑ
Policy to block certain IP access to the console or CLI
![[JS] document.cookie ์ฌ์ฉ ์ด์ ๋ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ](/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fs3-us-west-2.amazonaws.com%252Fsecure.notion-static.com%252F1608d451-756a-4896-8320-7e3575b3797c%252FMiami_-_Musketon.jpg%3Ftable%3Dblock%26id%3Da9cfb524-848e-4388-bf8c-abdfe38a87e0%26cache%3Dv2&w=3840&q=75)
[JS] document.cookie ์ฌ์ฉ ์ด์ ๋ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ
[DB] redis-cli ๋ช ๋ น์ด ์ข ๋ฅ ๋ฐ ์๋ฃ๊ตฌ์กฐ ์ ๋ฆฌ
'Commands used in Redis and summary of 'data structure'
![[AWS] ElastiCache for Redis ์์ฑ ๋ฐ ์ ์](/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fs3-us-west-2.amazonaws.com%252Fsecure.notion-static.com%252Fab0a3774-d86d-4c26-8666-3e5be6477bd7%252F03553d28f90757b97710239f034d8edc.jpg%3Ftable%3Dblock%26id%3D821056e7-fc84-48ef-950b-b16c7fc972b2%26cache%3Dv2&w=3840&q=75)
[AWS] ElastiCache for Redis ์์ฑ ๋ฐ ์ ์
[AWS] ElastiCache for Redis ๊ตฌ์ฑ์์
Components of 'ElastiCache for Redisโ
![[DB] Redis๋ ๋ฌด์์ธ๊ฐ? ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋
](/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fs3-us-west-2.amazonaws.com%252Fsecure.notion-static.com%252F0a0eabc5-0b3c-4fc1-9908-4b83cd01dcfd%252Fredis-image.png%3Ftable%3Dblock%26id%3D1f25a0f5-abb2-4a6c-a5cb-cf24a7b0035d%26cache%3Dv2&w=3840&q=75)
[DB] Redis๋ ๋ฌด์์ธ๊ฐ? ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋
Basic concepts about 'Redisโ
[IntelliJ] ์ ์ ๋ฆฌ์์ค ๋ณ๊ฒฝ์ฌํญ ์๋ ๋ฐ์
Automatically reflect static resource changes
[IntelliJ] java ํ์ผ ์๋ฒ ์ฌ์คํ ์์ด ๋ณ๊ฒฝ์ฌํญ ์ ์ฉ (HotSwap)
Apply changes to java files without restarting the server
Custom Domain and Create DNS

Using AWS to Build Infrastructure
Try Python's argparse

How to separate Python's development environment (venv)
