본문 바로가기
  • Masacorgi 's Dev Bloggg

전체 글95

[스크랩] 스마트팩토리의 미들웨어 아키텍처 https://yozm.wishket.com/magazine/detail/2606/ 스마트팩토리의 핵심, 미들웨어란 무엇일까? | 요즘IT스마트팩토리 IT 시스템의 근간은 미들웨어에 있다 해도 과언이 아니다. 여기서 말하는 미들웨어란 데이터 인터페이스 미들웨어로, 제조를 중앙에서 관제하는 MES와 생산 설비 인터페이스를 통yozm.wishket.com 위 기사는 자동화된 공장(스마트팩토리)에서 적용 가능한 미들웨어 아키텍처를 소개하고 있다. 각각의 PC나 인터페이스 기기로 설비를 제어하고 관리하는 방식의 단점으로, 문제 발생 시 어디서 발생한 문제인지 파악하는데 오래 걸린다는 점을 미들웨어 프로그램 도입으로 해결하고자 하는 목적이다. 미들웨어는 요약하면 각 설비를 개별 인터페이스로 관리하지 않고, 하나의.. 2024. 12. 11.
임베디드펌웨어 커뮤니티 방문 후기.. IoT 개발에 대해 더 알고싶어 임베디드펌웨어 커뮤니티에 조인해 취준생이라고 인사를 남겨보았다.정말 감사하게도 뭘로 공부하는지 질문이 쏟아졌고 발벗고 준비를 도와주시는 분이 계셨다.컴공 출신인 나보다 훨씬 낮은 단계의 개발을 하고 계신분들 같아서 무섭다.학부 수업때 들어본 것도 있고 써본것도 있지만 못알아듣는 말이 더 많아서 하나씩 번역(?)해봄iot는 Cortex M3 계열이 많이 쓰인다.STM32나 Artery 도 자주 쓰임-> 세 프로세서 모두 ARM사가 제공하는 코어 아키텍처를 기반으로 하는 MCU용 프로세서 코어-> Cortex-M3, STM32, Artery 중 앞 두개는 써본것 같은데 잘 기억이 안남.. 알아보고 정리하자임베디드에서 iot는 모바일 모듈도 중요한데보통 텔릿이나 요즘은 큐텔것도.. 2024. 12. 10.
[알고리즘] Roman to Integer - Java - LeetCode Roman to IntegerRoman numerals are represented by seven different symbols: I, V, X, L, C, D and M.Symbol ValueI 1V 5X 10L 50C 100D 500M 1000For example, 2 is written as II in Roman numeral, just two ones added together. 12 is written as XII, which is simply X + II. The number 27 is written as XXVII, which is XX + V + II.Roman numerals are usually written largest to smallest from left to right. H.. 2024. 12. 10.
[스크랩] JS 개발자가 알고리즘을 C언어로 푸는 이유 https://yozm.wishket.com/magazine/detail/1651/ 자바스크립트 개발자가 알고리즘을 C언어로 푸는 이유 | 요즘IT사용법이 간단하고 최적화된 메서드 덕분에 자바스크립트로만 프로그래밍하면 알고리즘의 필요성을 느끼기 어렵다. 지난 세 달간 호기심이 생겨서 C언어를 공부하고 알고리즘 문제를 풀어보았yozm.wishket.com 프로그램을 개발할 때 성능과 효율에 대해 고민해야 하는 순간이 온다. 이때 알고리즘 전략을 도입해 수학적으로 연산 효율을 끌어올려 프로그램의 성능을 개선 시킬 수 있기에 우리는 미리 여러 알고리즘에 대해 공부한다. 자바스크립트는 풍부한 내장함수와 프로퍼티로 개발에 편리성을 주는 비교적 쉬운 언어이다.언어가 제공하는 편리기능을 잘 사용하는 것을 통해 개발 .. 2024. 12. 9.
[알고리즘] Palindrome Number - Java - LeetCode Palindrome NumberGiven an integer x, return true if x is apalindrome, and false otherwise.Example 1:Input: x = 121Output: trueExplanation: 121 reads as 121 from left to right and from right to left.내 제출class Solution { public boolean isPalindrome(int x) { if(x정답class Solution { public boolean isPalindrome(int x) { if(x내 제출도 정답조건에 맞아 통과되었지만 시행시간이 8ms 로 매우 느렸음런타임이 빠른 솔루션을 확인했더니.. 2024. 12. 9.
실버케어 IoT 밴드 프로젝트 Silver-Care-IoT-Band실버케어 IoT 밴드 프로젝트에 대한 문서와 코드의 아카이브입니다.해당 프로젝트는 2022년 한국공학대학교 졸업 과제로 제작되었습니다.해당 README는 간략한 프로젝트 구성을 나타내고 있으므로, 더 자세한 수행과정에 대한 정보는 다음 링크를 통해 접근하실 수 있습니다. -> 수행보고서목차  1. 주제 및 기획의도  2. 기능 개요  3. 역할 분담  4. 적용기술/개발환경  5. 모니터링 화면  6. 밴드 하드웨어1. 주제 및 기획의도- 주제 : 홀몸노인을 위한 건강 모니터링 IoT 밴드- 기획의도 : 노인 인구의 증가와 함께 증가한 1인가구 노인의 건강상태와 위험상황을 실시간으로 원격 확인할 수 있는 IoT 밴드를 제작해 보호자와 담당 공무원의 신속한 대처를 돕.. 2024. 12. 9.
인증과 인가 인증, 인가에 대하여JWT 토큰 , 세션 같이 인증/인가와 관련된 부분 한번 살펴보기Authz / Authn 이라고 부르는게 둘이 무슨 차이인지FastAPI 에서 보통 인증/인가 코드 어떻게 구현하는지목차인증과 인가(Authn, Authz)JWT 토큰과 세션FastAPI에서의 인증/인가 구현인증과 인가 (Authn, Authz)인증과 인가는 비슷하게 들릴 수도 있지만 IAM(Identity and Access Management) 환경에서는 명확히 구분되는 서로다른 보안 프로세스이다.인증(Authn, Authentication)은 사용자의 '신원을 검증'하는 행위로서 보안 프로세스의 첫번째 단계이다.주로 비밀번호, 일회용 핀, 인증 앱, 생체인식 등의 1개 이상의 인증요소를 성공적으로 확인해야만 인증 단.. 2024. 5. 24.
MSA란 무엇일까 MSA 란 무엇인가1. 모놀리틱 시스템모놀리틱 시스템이란 소프트웨어 애프리케이션을 하나의 단일한 독립 시스템으로 구축하는 소프트웨어 아키텍처 스타일을 말한다.하나의 애플리케이션에 모든 비즈니스 로직을 통째로 모아놓은 구조로, 소규모 프로젝트에 적합하고, 개발/빌드/배포/테스트가 용이하며 인프라 구조가 단순하여 운영 비용 부담이 적다는 장점이 있다.하나의 단일 애플리케이션으로 동작하므로 작은 프로젝트일 때는 관리나 개발이 편하지만 기업의 시스템 규모가 커지고 복잡해지면 다음과 같은 단점이 부각되기 시작한다.* 작은 수정사항에도 전체 빌드 및 배포가 이루어져야 한다. -> 시간이 오래걸린다.* 많은 양의 코드가 몰려있어 유지보수가 어렵다.* 일부 오류가 전체 시스템에 영향을 미친다.* 스케일 아웃 설정이 복.. 2024. 5. 24.
boto3 NoCredentialsError No Credentials Error 해결하기배경당첨자 리스트를 엑셀파일로 생성해 다운로드 링크를 반환하는 API를 구현했다.다만 로컬에서는 정상적으로 잘 작동하는데 ec2에 배포되니 NoCredentialsError가 발생한다.버그에 대한 이슈 만들기원인 파악하기작업PR1. 원인 파악하기NoCredentialsError는 AWS SDK에서 자격 증명(credential)을 찾을 수 없을 때 발생하는 오류이다.이 오류는 AWS 서비스에 연결하려고 할 때 해당 서비스에 액세스하기 위한 자격 증명이 없을 때 발생한다.즉, AWS 계정에 대한 액세스 키(ID 및 시크릿 키)가 설정되지 않았거나 올바르게 설정되지 않은 경우에 발생할 수 있다.현재는 fastapi 코드 내의 config.py 파일에 AWS SDK.. 2024. 5. 24.
손자병법 개발 기록법 개발을 공부하면서 기록하지 않으니 머릿속에서 점점 희미해진다.공부한 내용을 기록하니 다음에 찾아보기 쉬운 이점은 둘째치고 더 강하게 기억에 남아서 찾아보지 않게 되는 효과를 발견했다.그에따라 새롭게 알게된 내용이나 문제해결한 상황을 기록해서 내 뇌의 저장장치를 효율적으로 사용하고자 한다.기록 방식에 관해서는 동양 최고의 병법서인 '손자병법'을 감명 깊게 구독하고 얻은 지식을 십분 활용할 것이다.레포지토리프로젝트 카테고리엔 프로젝트들을 진행하며 수행한 작업과 트러블슈팅을 기록한다.개발자료 카테고리는 기술조사, 사용법에 관련된 내용을 기록한다.손자병법 공부(개발)법손자는 손자병법 제 3장 '모공(Planninig)'편에서 다음과 같이 말했다.지피지기 백전불태적을 알고 나를 알면 백번을 싸워도 위태롭지 않다... 2024. 3. 5.
Flask 와 RESTful API 1.RESTful API 1.1 RESETful API 란? 대부분의 비즈니스 애플리케이션은 다양한 작업을 수행하기 위해 다른 내부 애플리케이션, 서드 파티 애플리케이션과 통신해야 한다. RESTful API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스이다. REST는 Roy Fielding이 정의한 네트워크 통신을 위한 소프트웨어 아키텍처이다. 처음에 인터넷과 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침으로 만들어졌고, REST기반 아키텍처를 사용해서 대규모의 고성능 통신을 안정적으로 지원할 수 있게 되었다. 다음은 REST 아키텍처의 주요 특징 및 원칙이다. 자원(Resource) : 모든것을 자원으로 표현한다. 표현(Representation) : 자.. 2024. 3. 2.
내가 정리한 Git 사용법 1.GitHub git status // 현상태 확인하기 git의 여러 스테이지 Working Directory -> Staging Area -> Local Repository -> Remote Repository Working Directory 작업디렉토리 Staging Area 스테이징 영역 변경된 파일의 스냅샷을 저장. git add를 사용해서 작업디렉토리에서 옮김 Local Repository 로컬저장소 커밋된 버전의 스냅샷을 저장. git commit을 사용해서 스테이징에서 옮김 Remote Repository 원격저장소 협업자들 간 코드를 공유하고 저장하는 공간 제일중요!!! git push로 local -> remote git pull로 local 2024. 3. 2.