전체 글

천천히 성장해 나가는 과정 속에서, 저의 지식을 많은 사람들과 공유하고 함께 성장해 나가기 위한 블로그입니다 🤗
Tools/Android Studio

안드로이드 스튜디오에서 Flutter APK 추출하는 방법

안드로이드 스튜디오에서 Flutter로 개발한 앱을 실제 기기에서 테스트 해보고 싶다면.apk 파일을 추출하여 폰으로 확인할 수 있습니다!1. APK 빌드Flutter 앱을 APK로 빌드하는 방법은 두 가지가 있습니다!1-1. 안드로이드 스튜디오 GUI 사용Build 메뉴에서 APK 빌드 : 안드로이드 스튜디오에서 상단 메뉴 바의 Build를 클릭합니다.Flutter APK 빌드 : Build > Build APK를 선택합니다.빌드가 완료되면, Android Studio는 APK 파일을 app/build/outputs/flutter-apk/ 경로에 생성합니다.  1-2. Flutter 명령어 사용터미널에서 Flutter 명령어를 통해 APK를 빌드할 수도 있습니다.프로젝트 디렉터리로 이동한 후, 아래 명..

AI

머신러닝, 딥러닝, 인공지능의 차이를 한눈에 정리하기

머신러닝, 딥러닝, 인공지능의 차이를 한눈에 정리하기1. 인공지능(AI)란 무엇인가?정의인공지능은 "기계가 인간처럼 사고하고 문제를 해결할 수 있는 능력"을 의미합니다. 쉽게 말해, AI는 인간의 지능을 모방하는 모든 기술을 포괄합니다. 여기에는 문제 해결, 의사결정, 언어 이해 등이 포함됩니다. 일상에서의 AI 사례스마트 스피커: "알렉사, 오늘 날씨 어때?"와 같은 명령을 처리합니다.챗봇: 고객센터에서 질문에 답변하는 자동화된 시스템.이미지 검색: Google Lens로 사물을 촬영해 검색하는 기능.팁AI는 넓은 범위의 개념이며, 구체적인 구현 방법에 따라 머신러닝과 딥러닝으로 세분화됩니다.→ AI는 큰 우산, 머신러닝과 딥러닝은 그 아래에 있는 세부 기술입니다.2. 머신러닝(Machine Learn..

AI

AI와의 대화가 더 똑똑해진 이유 - LLM과 RAG를 이해하다

AI, 왜 이렇게 똑똑해졌을까?최근 AI 기술의 발전 속도가 놀라울 정도로 빠릅니다. 여러분이 대화형 AI를 사용하며 느낀 "이거 정말 사람 같다!"라는 감탄 뒤에는 다양한 기술이 결합되어 있습니다. 그중에서도 LLM(Large Language Model)과 RAG(Retrieval-Augmented Generation)는 AI가 더욱 똑똑해지는 데 중요한 역할을 하고 있습니다. 이 블로그에서는 LLM과 RAG가 무엇인지, 그리고 이들이 어떻게 AI를 더 유용하고 강력하게 만드는지 쉽고 자세히 설명해보겠습니다.1. LLM, 대규모 언어 모델이란?LLM(Large Language Model)은 대규모 텍스트 데이터를 학습하여 자연어를 이해하고 생성할 수 있는 AI 모델입니다. 이 모델들은 단순한 문장 완성..

Programming

AS-IS / TO-BE에 대해 알아보자!

프로젝트를 진행할 때, 특히 시스템 개발이나 비즈니스 프로세스 개선을 목적으로 할 때, AS-IS / TO-BE 분석은 필수적인 단계입니다. 이 과정은 현재 상태(AS-IS)를 이해하고, 목표 상태(TO-BE)를 명확히 정의하며, 이를 구현하기 위한 구체적인 계획을 수립하는 것을 의미합니다. 이번 블로그에서는 AS-IS / TO-BE 분석의 중요성과 실무에서 이를 적용하여 성공적인 개발로 이어지는 방법을 자세히 알아보겠습니다~!1. AS-IS와 TO-BE란?AS-IS (현재 상태 분석)AS-IS는 현재의 시스템, 프로세스, 조직 상태 등을 파악하여 문서화하는 단계입니다. 이 단계에서의 주요 목표는 현황을 명확히 이해하고, 개선점이나 문제점을 도출하는 것입니다.AS-IS 분석의 주요 작업데이터 수집 : 현..

Framework/Spring

Node.js와 Spring의 차이: 왜 Spring은 Tomcat 서버가 필요할까?

웹 애플리케이션을 개발하다 보면 Node.js와 Spring의 차이를 자주 접하게 됩니다. 특히, 많은 개발자들이 "Node.js는 그냥 실행되는데, 왜 Spring은 Tomcat 같은 서버가 필요한 걸까?"라는 질문을 하곤 합니다. 이번 글에서는 그 차이를 명확하게 설명하고, 두 환경의 동작 방식을 비교해보겠습니다! 1. Node.js : 자체 서버로 동작하는 JavaScript 런타임Node.js는 JavaScript 런타임 환경으로, 기본적으로 웹 서버의 기능을 포함하고 있습니다. Node.js에서는 별도의 서버 없이도 애플리케이션을 실행하고 클라이언트 요청을 처리할 수 있습니다. 대표적인 웹 프레임워크인 Express.js를 예로 들어보면, Express.js가 서버 역할을 하면서 요청과 응답을 ..

DB/Oracle

Oracle SQL에서 컬럼 자동 증가하는 방법

Oracle에서 자동 증가하는 방법, SEQUENCE와 IDENTITY 컬럼데이터베이스에서 기본 키로 사용되는 값이 자동으로 증가하는 기능은 매우 흔하게 사용됩니다. Oracle에서는 이 기능을 구현하기 위해 주로 SEQUENCE를 사용하지만, Oracle 12c부터는 IDENTITY 컬럼도 지원됩니다. 이번 글에서는 두 가지 방법에 대해 설명해보겠습니다!1. SEQUENCE를 사용하는 방법Oracle에서 자동 증가하는 값을 생성하기 위해 가장 전통적으로 사용되는 방법은 SEQUENCE입니다. SEQUENCE는 단순히 고유한 숫자를 생성해주는 객체로, 특정 규칙에 따라 숫자가 증가합니다.1-1. SEQUENCE 생성하기아래는 SEQUENCE를 생성하는 기본 예제입니다.CREATE SEQUENCE seq_..

Framework/Spring

[Spring] PRG (Post/Redirect/Get) 패턴이란 무엇일까?

PRG (Post/Redirect/Get) 패턴 : 중복 데이터 제출을 막는 웹 개발의 필수 설계 패턴웹 애플리케이션을 개발하다 보면 폼 데이터를 처리하는 과정에서 종종 발생하는 문제가 있습니다. 사용자가 폼을 제출한 후 새로고침(F5)을 누르면 동일한 요청이 다시 서버로 전송되어 중복 데이터가 생성되는 상황입니다. 이때 PRG (Post/Redirect/Get) 패턴은 이러한 문제를 효과적으로 해결할 수 있는 설계 패턴입니다. 이번 글에서는 PRG 패턴이 무엇인지, 왜 필요한지, 그리고 이를 어떻게 구현할 수 있는지에 대해 살펴보겠습니다!! PRG 패턴이란?PRG 패턴은 웹 애플리케이션에서 폼 제출 후 새로고침 시 중복 요청을 방지하기 위해 고안된 설계 패턴입니다. 기본적인 흐름은 다음과 같습니다.Po..

Framework/Spring

JPA에서 @GeneratedValue와 GenerationType에 대해 알아보자

JPA에서 엔티티의 기본 키를 자동으로 생성하는 전략은 애플리케이션의 성능과 데이터베이스의 특성에 영향을 미치는데요. 이러한 전략은 @GeneratedValue 어노테이션에서 GenerationType을 통해 지정할 수 있습니다. 이 글에서는 JPA에서 제공하는 네 가지 키 생성 전략인 IDENTITY, SEQUENCE, AUTO, TABLE의 의미와 동작 방식에 대해 알아보도록 하겠습니다!1. GenerationType.IDENTITYIDENTITY 전략은 주로 Auto Increment 기능을 제공하는 데이터베이스에서 사용됩니다. 이 전략은 기본 키를 데이터베이스에서 자동으로 생성하도록 합니다. MySQL과 PostgreSQL과 같은 데이터베이스에서 많이 사용되며, AUTO_INCREMENT나 SER..

CS & Network

[Network] HTTP/HTTPS 프로토콜에 관하여

HTTP란?HTTP(HyperText Transfer Protocol)는 인터넷에서 클라이언트와 서버 간에 데이터를 주고 받기 위해 사용하는 프로토콜 입니다.HTTP는 요청-응답 프로토콜이라고도 합니다. 예를 들자면 구글 웹 사이트에 접속하는 경우를 생각해봅시다. 사용자가 웹 브라우저의 주소 표시줄에 'www.google.com'을 입력하면 웹 브라우저(클라이언트)는 구글 서버에 '구글 웹사이트를 사용자에게 보여주기 위한 데이터를 전송해줘' 라는 HTTP 요청을 합니다. 요청을 받은 구글 서버는 웹 사이트를 띄우는데 필요한 데이터, 즉 HTML, CSS, 이미지 파일 등을 HTTP 응답으로 보냅니다. 데이터를 전달받은 웹 브라우저는 각 요소를 적절히 조합해 구글 웹사이트를 사용자의 화면에 출력합니다. H..

노 코딩 노 라이프
rei050r