전체 글

전체 글

    [ESP32] micropython-ulab 사용하기

    esp32 개발보드를 사용해서 micropython으로 프로젝트를 하게 되었다. 프로젝트를 진행하면서 가장 애먹었던 micropython-ulab build 방법에 대해 정리하고자 한다. esp32를 arduino로는 사용해봤지만 micropython으로 개발하는 것은 처음이다. 어떤 IDE를 사용할지 어떻게 사용하는지 잘 알지도 못했고 혼자서 하는거라 이게 맞게 하고 있는지 확신하기도 어렵다. 한달동안 삽질했던 방법을 기록하고자 한다. 다들 arduino를 주로 사용하고 다 영어로 된 사이트들이고.. 🥲 기본적으로 micropython firmware는 아래 사이트에서 개발보드별로 다운받을 수 있다. https://micropython.org/download/ MicroPython - Python fo..

    메인프로젝트 회고

    코드스테이츠 42기의 메인프로젝트가 종료되었다. 솔직히 프리프로젝트 시작 전에는 CRUD 정도는 할 줄 알지 ㅎ 이런 생각이었는데 이게 무슨 일이지? 협업 규칙과 팀원들 간에 코드 구현 방법이 달라서 우왕좌왕하면서 자신감이 많이 떨어졌다. 물론 좋은 팀장님과 팀원을 만나서 많은 도움을 받았다. 특히 팀장님이 워낙 실력이 좋으셔서 하루 날 잡고 왜 이런 식으로 코드를 작성하였는지, 더 좋은 방식과 설명을 해주셔서 좋았다. 그 상태로 메인 프로젝트를 진행하게 되었는데 처음에는 어느 분야를 택할 것인지 많은 고민을 했다. 대학생 때부터 쭉 해왔던 헬스케어 분야인가 새롭게 관심이 가는 미디어 분야인가 학부생 때부터 복수전공과 랩실 활동으로 헬스케어만 봐왔는데 이제는 다른 분야를 해보자 싶어 미디어 분야를 택하게..

    ChatGPT와 함께 하는 Spring 공부

    ChatGPT를 알게 된 후 질문하는 거에 재미들렸는데 이것을 spring 공부로 활용해보고자 한다. * ChatGPT가 대답하는 내용이 100% 정답은 아니지만 참고하고 비교하기 좋은 것 같다. Q. Spring 개발 시 Controller, Dto, Service, Entity, Repository 로 나누어서 진행하게 되는데 각각의 역할과 개발 진행 순서에 대해 알려줘. Answer) 1. Entity - 데이터베이스의 테이블과 매핑되는 클래스 - 데이터베이스의 테이블과 1:1로 매핑되어야 하므로, 필드와 컬럼 이름, 데이터 타입 등이 일치해야 한다. - Entity 클래스는 JPA(Java Persistence API)를 사용하여 데이터베이스와 연동된다. 2. Repository - 데이터베이스와..

    DDD(Domain Driven Design)

    Spring Data JDBC 기반의 데이터 액세스 계층을 연동하기 위해 제일 먼저 해야할 일은 DB의 테이블과 도메인 앤티티 클래스의 설계이다. DDD(Domain Driven Design) 도메인 위주의 설계 기법 성능, 생산성, 안정성 면에서 뛰어난 Application을 만들기 위해 가장 중요한 영역인 애플리케이션의 설계는 구현보다 더 어려움 ----이를 고민한 결과 ---> DDD DDD 자체는 굉장히 뛰어난 설계 및 구현 기법 but, 개념을 완벽히 이해하는 것은 어려움 많은 학습과 설계 경험 필요 도메인(Domain)이란? 사전적 의미는 '영역', '집합' DDD에서 말하는 Domain은 비즈니스 Domain 비즈니스 Domain은 유사한 업무의 집합 Application은 비즈니스 Doma..

    JDBC 기반 데이터 액세스 계층

    데이터 액세스 계층 서비스 계층에서 비즈니스 로직을 통해 처리된 데이터를 데이터베이스(Database)에 저장하고, 비즈니스 로직을 처리하기 위해 데이터베이스에서 데이터를 조회하는 등의 역할을 수행 JDBC(Java Database Connectivity)는 Java 기반 Application의 코드 레벨에서 사용하는 데이터를 DB에 저장 및 업데이트하거나, DB에 저장된 데이터를 Java 코드 레벨에서 사용할 수 있도록 해주는 Java에서 제공하는 표준 API JDBC의 동작 흐름을 알면 Spring에서 지원하는 데이터 액세스 기술을 사용하는데 도움 DB Connection 객체를 미리 만들어서 보관하고 Application이 필요할 때 이 Connection을 제공해주는 역할을 하는 Connectio..

    [Java] 명명 규칙

    명명규칙 변수 변수 이름은 짧지만 의미가 있어야 한다(변수명을 통해 변수의 사용 의도를 알 수 있게 지어야 한다.) 숫자로 시작 불가 _(underscore)와 $ 문자 이외의 특수문자 사용 불가(시작 문자로 사용하지 않는다) 자바 키워드 사용 불가 숫자를 의미하는 임시적인 정수의 변수명은 i, j, k, m, n 을 사용 대소문자 구분 클래스 클래스명은 '명사'로 한다. 여러개의 단어가 섞이는 경우 각 단어의 첫 번째 문자는 대문자 메서드 메서드명은 '동사'로 한다 여러개의 단어가 섞이는 경우 각 단어의 첫 번째 문자는 대문자. 단, 처음 시작하는 문자는 항상 소문자로 시작

    HTTP 프로토콜의 이해

    HTTP (Hypertext Transfer Protocol)란? 팀 버너스리(Tim Berners-Lee)와 그가 속한 팀은 CERN에서 HTML뿐만 아니라 웹 브라우저 및 웹 브라우저 관련 기술과 HTTP를 발명 문서화된 최초의 HTTP버전은 HTTP v0.9(1991년) HTTP는 서버와 클라이언트가 인터넷상에서 데이터를 주고받기 위한 프로토콜(protocol) HTTP는 계속 발전하여 HTTP/2까지 버전이 등장한 상태 HTTP 작동방식 HTTP는 서버/클라이언트 모델을 따른다. 장점 - 불특정 다수를 대상으로 하는 서비스에는 적합 - 클라이언트와 서버가 계속 연결된 형태가 아니기 때문에 클라이언트와 서버 간의 최대 연결 수보다 훨씬 많은 요청과 응답을 처리할 수 있다. 단점 - 연결을 끊어버리기..

    웹 프로그래밍에서 인기가 많은 언어

    프로그래밍 언어 중에서 가장 인기 있는 언어는 무엇일까? 다양한 사이트에서 알아보자 1. Github : Pull Request 기능에서 자주 사용된 개발 언어 순위 https://octoverse.github.com/2022/top-programming-languages The top programming languages Explore the top programming languages on GitHub—and what languages are growing the fastest. octoverse.github.com 2. TIOBE : 구글, 빙, 야후, 빙, 위키피디아 등의 검색 엔진에서 검색된 수치를 기반으로 하며, 전 세계에서 해당 언어를 사용하는 소프트웨어 엔지니어, 교육과정, 소프트웨어 ..