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

TIL43

[스크랩] 한국의 SI https://yozm.wishket.com/magazine/detail/2513/ [SI에서 성장하기] ① 한국 SI 개발자에게 기회가 많은 이유 | 요즘IT한국의 제조업은 빠르게 발전하는 IT기술을 적용하여 이미 일본의 경쟁력을 추월했으며 그 결과 세계의 원탑 국가가 되었다고 해도 과언이 아닙니다. SI 엔지니어들의 노력으로 만들어낸 자랑스yozm.wishket.com 위 기사는 SI 업계에 대해 설명하고 있다.한국은 발달한 제조업을 지니고 있다.(여기서 말하는 제조업은 단순 물품 생산 뿐이 아니라 기업에서 사용하는 다양한 비즈니스, 서비스 모두를 지칭하는 것 같음)제조업의 바탕엔 경쟁력을 갖춘 제품을 생산하기 위한 IT 기술(SI 기술)이 뒷받침되어 있다. 화려한 신기술을 다루는 것만이 참 개발자라.. 2024. 12. 11.
[스크랩] 스마트팩토리의 미들웨어 아키텍처 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.
인증과 인가 인증, 인가에 대하여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.
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.
DynamoDB란 무엇인가 1.DynamoDB 기초 DynamoDB에서는 테이블을 생성할 때 모든 attribute에 대한 스키마를 미리 정의해 둘 필요가 없다. 오직 Primary Key(PK)에 대한 스키마만 테이블을 생성할 때 정의하면 된다. PK에는 단일 PK(simple key)와 복합 PK(composite key) 두가지 종류가 있다. 단이 PK는 하나의 attribute만을 primary key로 사용하고, 복합 PK는 두개의 attribute를 결합해서 사용한다. 복합 PK에서 첫번째 attribute는 partition key, 두번째 attribute는 sort key라고 부른다. (attrbute는 RDB의 column과 유사하다) Primary Key(PK) 단일 PK (Simple Key) 단일 attri.. 2024. 3. 2.
FastAPI 에서의 테스트코드 '신의 말씀' : 백엔드, 혹은 소프트웨어 개발시 테스트 코드가 무엇인지 조금 알아보기 테스트에는 unit test , end to end test 등의 여러가지 테스트 종류도 존재합니다. 우리 백엔드 테스트 코드는 unit test 기반으로 하게 될 것이구요. 파이썬에서의 테스트코드 프레임워크인 pytest에 대해서 조금 알아보시고! fastapi 에서의 테스트코드 짜는것도 한번 알아보시면 좋겠습니다. 1. 테스트 코드란? 테스트 코드는 소프트웨어 품질을 향상시키기 위해 사용되는 코드이다. 개발자들은 주로 자신이 작성한 코드가 의도한 대로 동작하는지 확인하고, 코드 변경이나 개선 작업을 수행할 때 이전 기능들이 영향을 받지 않도록 보장하기 위해 테스트 코드를 작성한다. 테스트 코드를 작성하면 코드의 안.. 2024. 3. 2.