<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>DevPaw — Swift, iOS e Ingeniería de Software</title><description>Un desarrollador iOS sénior explica Swift, iOS, diseño de software y herramientas de IA desde los fundamentos.</description><link>https://www.dev-paw.com/</link><language>es</language><item><title>Patrón Strategy en Swift: intercambiar algoritmos con protocolos y closures</title><link>https://www.dev-paw.com/es/swift-strategy-pattern-protocol-closure/</link><guid isPermaLink="true">https://www.dev-paw.com/es/swift-strategy-pattern-protocol-closure/</guid><description>¿Has sufrido alguna vez un código en el que los if-else se multiplicaban sin parar para cada método de pago?</description><pubDate>Sun, 12 Jul 2026 15:00:00 GMT</pubDate><category>Swift</category><category>전략패턴</category><category>디자인패턴</category><category>프로토콜</category></item><item><title>[SOLID #2] SOLID en la práctica (II): ISP·DIP y por qué existe la inyección de dependencias</title><link>https://www.dev-paw.com/es/solid-isp-dip-dependency-injection/</link><guid isPermaLink="true">https://www.dev-paw.com/es/solid-isp-dip-dependency-injection/</guid><description>En la entrega anterior vimos las tres primeras letras de SOLID: SRP·OCP·LSP. Hoy resumiremos las dos restantes.</description><pubDate>Sun, 12 Jul 2026 15:00:00 GMT</pubDate><category>SOLID원칙</category><category>ISP</category><category>DIP</category><category>의존성주입</category></item><item><title>El principio de la mínima sorpresa: por qué getUser no debe enviar correos</title><link>https://www.dev-paw.com/es/principle-of-least-astonishment-side-effects/</link><guid isPermaLink="true">https://www.dev-paw.com/es/principle-of-least-astonishment-side-effects/</guid><description>¿Alguna vez te has encontrado con una función así durante una revisión de código?</description><pubDate>Sun, 12 Jul 2026 15:00:00 GMT</pubDate><category>최소놀람의원칙</category><category>POLA</category><category>네이밍</category><category>부수효과</category></item><item><title>Automatización de IA en Naver Blog: ¿hasta dónde es posible y a partir de dónde infringe las reglas?</title><link>https://www.dev-paw.com/es/naver-blog-ai-automation-policy/</link><guid isPermaLink="true">https://www.dev-paw.com/es/naver-blog-ai-automation-policy/</guid><description>Hoy en día, muchas más personas escriben artículos para sus blogs con IA como ChatGPT o Claude. Si se quiere ir un paso más allá, es fácil acabar pensando: «¿Por qué no automatizar todo, desde generar el artículo hasta publicarlo?»</description><pubDate>Sun, 12 Jul 2026 15:00:00 GMT</pubDate><category>네이버블로그</category><category>AI자동화</category><category>블로그자동화</category><category>네이버블로그정책</category></item><item><title>[MCP·Skill #1] ¿Qué es un servidor MCP? Desde cómo conectarlo hasta las consideraciones de seguridad</title><link>https://www.dev-paw.com/es/mcp-server-setup-security/</link><guid isPermaLink="true">https://www.dev-paw.com/es/mcp-server-setup-security/</guid><description>Al usar ChatGPT o Claude, hay momentos en los que echas algo en falta. El modelo es inteligente, pero no puede ver tu base de datos ni leer la wiki interna de la empresa.</description><pubDate>Sun, 12 Jul 2026 15:00:00 GMT</pubDate><category>MCP</category><category>ModelContextProtocol</category><category>AI에이전트</category><category>Claude</category></item><item><title>Entender bien el principio DRY: una abstracción incorrecta da más miedo que la duplicación de código</title><link>https://www.dev-paw.com/es/dry-principle-wrong-abstraction/</link><guid isPermaLink="true">https://www.dev-paw.com/es/dry-principle-wrong-abstraction/</guid><description>Al hacer revisiones de código, hay una escena con la que me encuentro especialmente a menudo.</description><pubDate>Sun, 12 Jul 2026 15:00:00 GMT</pubDate><category>DRY원칙</category><category>코드중복</category><category>리팩토링</category><category>실용주의프로그래머</category></item><item><title>Composición (Composition) vs. herencia (Inheritance): el verdadero significado de «no uses herencia»</title><link>https://www.dev-paw.com/es/composition-vs-inheritance/</link><guid isPermaLink="true">https://www.dev-paw.com/es/composition-vs-inheritance/</guid><description>Al estudiar programación orientada a objetos, hay una frase con la que tarde o temprano te encuentras: «Prefiere la composición a la herencia (Favor composition over inheritance)».</description><pubDate>Sun, 12 Jul 2026 15:00:00 GMT</pubDate><category>컴포지션</category><category>상속</category><category>객체지향</category></item><item><title>Resumen de YAGNI: por qué el «ya lo usaremos algún día» de los desarrolladores sale caro</title><link>https://www.dev-paw.com/es/yagni-principle-software-development/</link><guid isPermaLink="true">https://www.dev-paw.com/es/yagni-principle-software-development/</guid><description>«Parece que lo necesitaremos más adelante, ¿lo preparamos de antemano?»</description><pubDate>Sat, 11 Jul 2026 15:00:00 GMT</pubDate><category>YAGNI</category><category>익스트림프로그래밍</category><category>오버엔지니어링</category><category>개발원칙</category></item><item><title>Patrón Singleton en Swift: la verdadera razón por la que shared se considera un antipatrón</title><link>https://www.dev-paw.com/es/swift-singleton-shared-antipattern/</link><guid isPermaLink="true">https://www.dev-paw.com/es/swift-singleton-shared-antipattern/</guid><description>Al desarrollar con Swift, es muy habitual encontrarse con singletons creados con una sola línea, static let shared.</description><pubDate>Sat, 11 Jul 2026 15:00:00 GMT</pubDate><category>Swift</category><category>싱글톤패턴</category><category>iOS</category><category>디자인패턴</category></item><item><title>El origen de Swift: ¿por qué Chris Lattner abandonó Objective-C?</title><link>https://www.dev-paw.com/es/swift-origin-chris-lattner-objective-c/</link><guid isPermaLink="true">https://www.dev-paw.com/es/swift-origin-chris-lattner-objective-c/</guid><description>Todo el que empieza a desarrollar para iOS se lo ha preguntado alguna vez: «¿Por qué Apple creó Swift desde cero en lugar de seguir usando el Objective-C que ya dominaba?»</description><pubDate>Sat, 11 Jul 2026 15:00:00 GMT</pubDate><category>Swift</category><category>크리스래트너</category><category>Objective-C</category></item><item><title>Patrón Monostate en Swift: ¿puede ser una alternativa a Singleton?</title><link>https://www.dev-paw.com/es/swift-monostate-vs-singleton/</link><guid isPermaLink="true">https://www.dev-paw.com/es/swift-monostate-vs-singleton/</guid><description>Para quienes se han preguntado si de verdad está bien usar Singleton así</description><pubDate>Sat, 11 Jul 2026 15:00:00 GMT</pubDate><category>Swift</category><category>모노스테이트</category><category>싱글톤</category><category>iOS</category></item><item><title>[SOLID #1] Las cinco letras de SOLID: entiéndelas en lugar de memorizarlas (SRP · OCP · LSP)</title><link>https://www.dev-paw.com/es/solid-srp-ocp-lsp-principles/</link><guid isPermaLink="true">https://www.dev-paw.com/es/solid-srp-ocp-lsp-principles/</guid><description>Seguro que alguna vez os han preguntado en una entrevista: «¿Puedes explicar los principios SOLID?»</description><pubDate>Sat, 11 Jul 2026 15:00:00 GMT</pubDate><category>SOLID원칙</category><category>SRP</category><category>OCP</category><category>LSP</category></item><item><title>Historia de la gestión de memoria en Objective-C: de MRC a ARC</title><link>https://www.dev-paw.com/es/objective-c-memory-management-mrc-arc/</link><guid isPermaLink="true">https://www.dev-paw.com/es/objective-c-memory-management-mrc-arc/</guid><description>Si desarrollas para iOS, probablemente haya algo que te hayas preguntado alguna vez.</description><pubDate>Sat, 11 Jul 2026 15:00:00 GMT</pubDate><category>Objective-C</category><category>iOS</category><category>ARC</category><category>메모리관리</category></item><item><title>La ley de Demeter (Law of Demeter): cuándo el encadenamiento de métodos se convierte en mal código</title><link>https://www.dev-paw.com/es/law-of-demeter-method-chaining/</link><guid isPermaLink="true">https://www.dev-paw.com/es/law-of-demeter-method-chaining/</guid><description>Al hacer una revisión de código, es posible que alguna vez recibas este comentario.</description><pubDate>Sat, 11 Jul 2026 15:00:00 GMT</pubDate><category>디미터의법칙</category><category>메서드체이닝</category><category>클린코드</category><category>객체지향</category></item><item><title>Si solo pudieras elegir una IA para programar: la elección de un usuario tras un año de uso real</title><link>https://www.dev-paw.com/es/claude-code-vs-codex/</link><guid isPermaLink="true">https://www.dev-paw.com/es/claude-code-vs-codex/</guid><description>Una de las preguntas más frecuentes en las comunidades de desarrolladores actuales es: «¿Cuál debería usar, Claude Code o Codex?». He pagado Claude durante aproximadamente un año y Codex durante más de seis meses, y los uso a diario, incluidos el reciente Claude Fable 5 y GPT-5.6 Sol…</description><pubDate>Sat, 11 Jul 2026 15:00:00 GMT</pubDate><category>Claude</category><category>Codex</category><category>ClaudeCode</category><category>GPT-5.6</category></item><item><title>Cómo elegir entre Claude Code, Cursor y Copilot: guía según el uso</title><link>https://www.dev-paw.com/es/claude-code-cursor-copilot-comparison/</link><guid isPermaLink="true">https://www.dev-paw.com/es/claude-code-cursor-copilot-comparison/</guid><description>Esta es probablemente la pregunta que más se repite últimamente en las comunidades de desarrolladores: «¿Cuál debería usar realmente: Claude Code, Cursor o Copilot?»</description><pubDate>Sat, 11 Jul 2026 15:00:00 GMT</pubDate><category>ClaudeCode</category><category>Cursor</category><category>GitHubCopilot</category><category>코딩AI</category></item><item><title>Objective-C nil frente a Java null: ¿por qué se comportan de forma diferente?</title><link>https://www.dev-paw.com/es/objective-c-nil-vs-java-null/</link><guid isPermaLink="true">https://www.dev-paw.com/es/objective-c-nil-vs-java-null/</guid><description>Hay algo que desconcierta especialmente a quienes empiezan con iOS.</description><pubDate>Fri, 10 Jul 2026 15:00:00 GMT</pubDate><category>Objective-C</category><category>nil</category><category>iOS</category><category>NullPointerException</category></item><item><title>Objective-C: historia completa, el lenguaje que Jobs amaba (incluido el origen del prefijo NS)</title><link>https://www.dev-paw.com/es/objective-c-history-ns-prefix/</link><guid isPermaLink="true">https://www.dev-paw.com/es/objective-c-history-ns-prefix/</guid><description>Cuando empiezas a estudiar desarrollo para iOS, hay un lenguaje con el que te encuentras tarde o temprano: una sintaxis extraña llena de corchetes y prefijos misteriosos como NSString.</description><pubDate>Fri, 10 Jul 2026 15:00:00 GMT</pubDate><category>Objective-C</category><category>프로그래밍언어</category><category>iOS</category></item><item><title>¿Por qué tiene Objective-C esta sintaxis con corchetes? (El secreto del envío de mensajes)</title><link>https://www.dev-paw.com/es/objective-c-bracket-message-syntax/</link><guid isPermaLink="true">https://www.dev-paw.com/es/objective-c-bracket-message-syntax/</guid><description>Es fácil desconcertarse al ver código Objective-C por primera vez cuando empiezas a estudiar iOS.</description><pubDate>Fri, 10 Jul 2026 15:00:00 GMT</pubDate><category>Objective-C</category><category>iOS</category><category>프로그래밍언어</category></item><item><title>Sintaxis de la arroba (@) en Objective-C: ¿por qué todo empieza con @? (Guía completa)</title><link>https://www.dev-paw.com/es/objective-c-at-sign-syntax/</link><guid isPermaLink="true">https://www.dev-paw.com/es/objective-c-at-sign-syntax/</guid><description>Cuando abres código Objective-C por primera vez, hay algo que llama tu atención de inmediato.</description><pubDate>Fri, 10 Jul 2026 15:00:00 GMT</pubDate><category>Objective-C</category><category>골뱅이문법</category><category>at기호</category></item><item><title>Opinión sincera tras suscribirme a ChatGPT, Claude y Gemini</title><link>https://www.dev-paw.com/es/chatgpt-claude-gemini-subscription-review/</link><guid isPermaLink="true">https://www.dev-paw.com/es/chatgpt-claude-gemini-subscription-review/</guid><description>Hoy en día, casi nadie deja de usar al menos una IA. Sin embargo, empezar puede generar dudas.</description><pubDate>Fri, 10 Jul 2026 15:00:00 GMT</pubDate><category>AI비교</category><category>ChatGPT</category><category>클로드</category><category>제미나이</category></item><item><title>Coder vs. ingeniero de software: ¿cuál es la diferencia real? (Resumen de salarios y funciones)</title><link>https://www.dev-paw.com/es/coder-vs-software-engineer/</link><guid isPermaLink="true">https://www.dev-paw.com/es/coder-vs-software-engineer/</guid><description>Al estudiar desarrollo de software, tarde o temprano surge esta duda: «¿Soy coder o ingeniero de software?»</description><pubDate>Sun, 22 Dec 2024 15:00:00 GMT</pubDate><category>코더</category><category>소프트웨어엔지니어</category><category>개발자</category><category>개발자연봉</category></item><item><title>El principio KISS: el verdadero significado de escribir código simple</title><link>https://www.dev-paw.com/es/kiss-principle-simple-code/</link><guid isPermaLink="true">https://www.dev-paw.com/es/kiss-principle-simple-code/</guid><description>Al desarrollar, a veces resulta extraño sentir que escribir código complicado significa hacerlo mejor.</description><pubDate>Sun, 08 Dec 2024 15:00:00 GMT</pubDate><category>KISS원칙</category><category>소프트웨어설계</category><category>개발원칙</category><category>클린코드</category></item><item><title>Definir mensajes de error personalizados en Swift y dominar LocalizedError (con ejemplos)</title><link>https://www.dev-paw.com/es/swift-localizederror-custom-message/</link><guid isPermaLink="true">https://www.dev-paw.com/es/swift-localizederror-custom-message/</guid><description>Al crear una app con Swift, es posible que hayas capturado un error con do-catch y luego te hayas encontrado con que el mensaje mostrado en pantalla no era nada útil.</description><pubDate>Sat, 07 Dec 2024 15:00:00 GMT</pubDate><category>Swift</category><category>LocalizedError</category><category>errorDescription</category><category>iOS</category></item></channel></rss>