본문 바로가기
  • _^**_

무근본 IT 지식 공유145

아누이노 Serial에 대해 [질문사항]아두이노 serial 질문 Serial.print() 경우 ()안에 그냥 숫자 45를 넣어도 45가 출력되나요? 그럼 "45"도 똑같은 값이 나오나요? 숫자는 각 숫자에 대한 아스키 문자로 사용하여 인쇄된다는게 무슨 뜻인가요? Serial.println() 이건 위에랑 결과는 똑같은데 줄 바꿈해주는 거라고 생각하면 되는건가요? Serial.write() 괄호안에 (char 데이터)를 넣어서 char 데이터에 해당하는 ASCII 코드 값을 문자로 출력이라 하는데 이건 Serial.write(65) 하면 A가 출력되는 건가요? Serial.print("A") = Serial.write("A") = Serial.print(2+0x20) = Serial.write(2+0x20) = 답은 뭔가요 이해가.. 2023. 9. 20.
AWS의 eks 사용법에 대하여 [질문사항]제가 aws의 eks를 이용하려고 하는데 web,app은 wordpress를 이용하여 구축하고 db는 rds를 사용하고, wordpress의 php 파일들을 efs를 사용하여 보관하려고 합니다. 이런식의 구성도일 때 eks를 사용해서 구현해야 하는 부분은 어떤 부분이 있을까요 ?? 원래는 eks, efs, rds, wordpress 를 연동하는 걸로 하려고 했는데 다른 사람이 말한 부분이 있어 헷갈립니다. https://velog.io/@squarebird/AWS-EKS%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-Wordpress-%EB%B0%B0%ED%8F%AC-%EB%B0%8F-%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%8113 이 주소를 보며 따라.. 2023. 9. 20.
시스템 프로그래밍 makefile 간단 문제 예시 [문제] 메인함수: 변수 a, b, c 함수1: - 변수 x - ax^2+bx+c에 대한 결과 출력 함수2: - 변수 x, y - ax+by+c에 대한 결과 출력 함수3: - ax^2+bx+c 함수의 두 해를 출력(근해 공식) a, b, c, x, y의 값은 임의로 지정 Makefile 및 소스코드 포함 Makefile은 clean 명령어가 포함되어야 하고, 실행파일을 제외한 object 파일을 삭제 해야 함 제출은 tar 파일 하나로 제출하며, tar파일에 제출에 필요한 파일들이 포함 되어야 함 ------------------------------------------- main.c#include #include "functions.h" int main() { double a = 1, b = 2, c.. 2023. 9. 19.
[무근본운영체제] OS에서 시스템 API란 커널은 운영체제의 핵심 부분으로, 하드웨어와 소프트웨어 간의 인터페이스를 제공합니다. 사용자나 응용 프로그램이 하드웨어와 직접 통신하는 것은 복잡하고 위험할 수 있기 때문에, 커널을 통해 이를 간단하게 만드는 '시스템 API'가 필요합니다. 1. 시스템 API의 정의 시스템 API는 Application Programming Interface의 약자로, 응용 프로그램이 운영체제와 통신할 수 있도록 도와주는 일련의 루틴, 프로토콜, 도구들을 의미합니다. 이를 통해 프로그래머는 하드웨어와 직접적인 통신을 하지 않아도 원하는 기능을 구현할 수 있습니다. 2. 시스템 API의 중요성 1. 추상화 API는 하드웨어나 다른 소프트웨어의 내부 구조나 작동 원리를 숨기면서 필요한 기능만을 제공합니다. 이러한 추상화는 .. 2023. 9. 19.
[무근본파이썬] 메세지 큐와 그 중요성: 온라인 쇼핑몰 예시와 코드로 이해하기 메세지 큐와 그 중요성: 온라인 쇼핑몰 예시와 코드로 이해하기 1. 메세지 큐란 무엇인가? 메세지 큐(Message Queue)는 프로세스나 스레드, 심지어는 서로 다른 서버나 애플리케이션 간에 메시지를 비동기적으로 교환하는 데 사용되는 데이터 구조입니다. 메세지 큐는 메시지를 순차적으로 저장하고, 메시지를 보내는 쪽(Producer)과 받는 쪽(Consumer) 사이에서 메시지를 전송하는 역할을 합니다. 2. 왜 메세지 큐를 사용하는가? 메세지 큐를 사용하면 시스템 간의 통신을 비동기적으로 처리할 수 있습니다. 이는 특정 작업이나 요청에 대한 응답을 즉시 기다리지 않고, 해당 작업을 큐에 넣고 다른 작업을 계속 수행할 수 있음을 의미합니다. 따라서, 과도한 트래픽이나 부하가 발생했을 때 시스템의 병목 .. 2023. 9. 19.
[파이썬,C언어] 행렬 M에서, N번째로 큰 수를 찾아야 합니다. 다음과 같은 문제가 있습니다. 문제에서는 M이라는 N * N 행렬이 있습니다. 이 행렬에서는 각각의 원소들이 분리되어 있습니다. 그리고 각각의 원소는 서로 다른 값을 가지고 있습니다. 이 행렬 M에서, N번째로 큰 수를 찾아야 합니다. 즉, 6 * 6 행렬에서 6번째로 큰 수를 찾는 것이 목표입니다. 이 문제에 대한 알고리즘을 설명해주시면 감사하겠습니다. 또한 수도코드도 같이 알려주시면 감사하겠습니다. -------------------------------------------------- N * N 행렬에서 N번째로 큰 수를 찾는 문제에 대한 알고리즘은 다음과 같습니다. 1. **정렬 방법을 사용하는 알고리즘**: - 먼저, N * N 행렬의 모든 원소를 하나의 리스트에 넣습니다. - 이 리스트를 내.. 2023. 9. 17.
C언어, 파이썬 이진탐색에 관하여 (샘플문제, 수도코드) 문제는 다음과 같습니다. N * N 행렬이 있습니다. 각각의 행과 열은 오름차순으로 구성되어 있습니다. 그리고 정수 k가 주어집니다. 행렬 내에서 이 k의 위치를 구하는 것이 알고리즘의 목표입니다. 만약 k가 2개 이상일 시, k의 위치는 두개의 위치 중 하나의 위치를 랜덤하게 출력합니다. 첫번째 입력으로는 행렬이 들어옵니다. 두번째 입력으로는 정수 k의 값이 들어갑니다. 그리고 output은 (행,열) : position of ‘입력받은 정수‘ 입니다. input과 output은 다음과 앝이 입력되어집니다. 이 알고리즘 문제의 풀이과정과 수도코드를 알려주시면 진심으로 감사드립니다. ------------------------------------------------ 이 문제를 효율적으로 해결하려면 이.. 2023. 9. 17.
무료로 사용할 수 있는 클라우드 기반의 파이썬 실행환경 소개 [궁금한 사항]python을 모바일에서 실행하려고 하는데 긴 시간이 걸리는 작업이라서 핸드폰이 꺼져 있어도 계속 코드를 실행하는 그런 사이트 좀 추천해주세요, 단, 제 코드를 비공개로 할 수 있는 걸로요, 무료로 제 코드 비공개할 수 있는 거 원해요,( Repl.it 은 돈내야지 비공개더라고요) [답변]무료로 사용할 수 있는 클라우드 기반의 Python 실행 환경을 찾으시는 것 같습니다. 핸드폰이 꺼져 있어도 코드를 실행하게 하는 것은 서버나 클라우드 기반 환경을 찾아보시는 것이 좋습니다. 1. Google Colab: Google에서 제공하는 무료 Jupyter 노트북 환경입니다. GPU를 무료로 사용할 수 있기도 합니다. 주의하실 점은 실행 후 일정 시간이 지나면 VM이 재시작됩니다. 하지만, 핸드폰.. 2023. 9. 17.
(프로그래밍) Parameter와 Argument의 차이점이 있다고???-왕초보도 이해하는 프로그래밍 자, 오늘 우리가 함께 파헤쳐 볼 주제는 바로 프로그래밍에서의 ‘Parameter’와 ‘Argument’의 차이점입니다. 이 주제를 이해하기 위해 먼저 어느 가을 날, 우리의 향기로운 일상을 생각해봅시다. 당신이 좋아하는 카페에 들어가 커피를 주문하려고 합니다. 카페 앞에는 여러 메뉴판들이 있습니다. 그 메뉴판들이 바로 함수의 ‘Parameter’와 같습니다. 메뉴판은 당신에게 커피를 주문할 때 필요한 정보들을 제시하죠. 예를 들면, 아메리카노에는 몇 스푼의 설탕을 넣을 것인지, 우유는 얼마나 추가할 것인지 등의 정보를 미리 정의해 놓은 것입니다. 이제 당신이 카운터에 가서 실제로 주문을 합니다. “아메리카노에 설탕 두 스푼, 우유는 조금만 추가해주세요.” 바로 이 순간, 당신이 전달한 이 실제 값들, .. 2023. 9. 16.
‘Call by Value’와 ‘Call by Reference’에 대하여 -왕초보도 이해하는 자바 우리 오늘의 주제로 떠오른 ‘Call by Value’와 ‘Call by Reference’에 대하여 깊게 파헤쳐 보겠습니다. 이 두 가지 방법은 프로그래밍 세계에서 자주 마주치게 되는 개념입니다. 이야기의 깊은 물결에 몸을 맡기기 전, 먼저 간단한 예를 들어봅시다. 당신이 친구에게 꽃다발을 선물한다고 생각해 보세요. 이 꽃다발을 직접 주는 경우와, 꽃다발의 사진을 보내는 경우, 두 가지 상황을 상상해보시기 바랍니다. 첫 번째 상황이 ‘Call by Reference’와 유사하며, 두 번째 상황은 ‘Call by Value’와 닮아 있습니다. 자, 이제부터 저희의 여행이 시작됩니다. ‘Call by Value’는 값에 의한 호출 방식으로, 함수에 값을 넘겨줄 때 메모리상의 값을 복사하여 전달합니다. 따라.. 2023. 9. 16.
Git과 Github 차이점이 대체 뭐야?-왕초보도이해하는 프로그래밍 안녕하세요, 여러분. 오늘 저는 여러분께 Git과 GitHub의 차이에 대해 이야기를 나누려고 합니다. 두 주제는 자주 혼동되는데, 사실 그 둘은 꽤 다른 개념입니다. 자, 그럼 시작해보죠. 우리가 살아가는 세상에서는 많은 사물이 서로 밀접한 관계를 가지고 있죠. 예를 들면, 바다와 물고기, 하늘과 별, 그리고 우리의 주제인 Git과 GitHub도 마찬가지입니다. 그런데, 이 둘은 정말로 같은 것일까요? 그것이 아닙니다. Git과 GitHub는 서로 다른 개체이지만, 하나 없이 다른 하나는 그 존재의 의미를 잃게 됩니다. 먼저 Git에 대해 이야기해보죠. Git은 버전 관리 시스템(VCS)의 하나입니다. 소스 코드의 변경 사항을 추적하고 여러 사람들이 동시에 작업할 수 있게 해주는 도구죠. 이렇게 표현하.. 2023. 9. 16.
프로그래밍에서 추상화가 대체 뭐야?-왕초보도 이해하는 자바 프로그래밍에서 “추상화”라는 말씀을 들어보셨나요? 이는 복잡한 문제나 시스템을 단순하게 만드는 방법을 의미합니다. 프로그래머분들께서는 이런 추상화를 통해 핵심 기능에만 집중하실 수 있죠. 이것을 예를 들어 설명드리자면, 건축가가 건물을 설계할 때 각 층의 세부 사항은 생각하지 않고 전체적인 구조만을 그릴 때와 비슷한 원리입니다. 추상화는 프로그래밍에서도 여러 형태로 표현되곤 합니다. 함수나 메소드를 통해 특정 작업을 감추거나, 클래스와 객체로 데이터와 기능을 함께 묶는 것도 그 예시 중 하나입니다. 이렇게 만들어진 코드는 다시 사용하기도, 수정하기도 편리하답니다. 일상생활에서도 추상화의 예를 찾아볼 수 있습니다. 전기 스위치를 누를 때, 그 안의 복잡한 원리나 회로를 모르고도 사용할 수 있는 이유, 그것.. 2023. 9. 16.
오버로딩, 오버라이딩 차이가 대체 뭔데?-왕초보도 이해하는 자바 자, 여러분! 오늘 우리가 함께 다뤄볼 주제는 바로 프로그래밍에서 자주 마주치게 되는 두 가지 중요한 개념, '오버로딩'과 '오버라이딩'입니다. 이 두 개념, 들어보셨나요? 혹시 두 개념을 혼동하신 적 있으신가요? 그렇다면 지금부터 함께 천천히 그 차이를 파헤쳐 보겠습니다. 먼저, 오버로딩에 대해서 얘기해보죠. 오버로딩이란, 한 마디로 말해서 같은 이름의 함수나 메소드를 여러 개 만드는 것입니다. 그런데 이때 중요한 건, 그 안의 매개변수의 종류나 수가 다르다는 것이죠. “아, 그럼 같은 이름으로 다양한 일을 할 수 있겠네!”라고 생각하시는 분들, 바로 그렇습니다! 오버로딩의 핵심은 바로 ‘다양성’입니다. 마치 우리가 평소에 ‘읽다’라는 동사를 사용할 때 ‘책을 읽다’, ‘편지를 읽다’처럼 상황에 따라 .. 2023. 9. 16.
가비지 컬렉터가 대체 뭐야?-왕초보도 이해하는 프로그래밍 가비지 콜렉터에 대해 이야기를 시작하려 합니다. 너무나도 평범하게 쓰이는 용어지만, 무엇인지 자세히 알아본 적이 있는지요? 지금부터 그 세계를 함께 들여다보겠습니다. 본론에 들어가기 앞서, 컴퓨터 메모리라는 장소에 대해 생각해 보죠. 우리가 프로그램을 실행하면, 그 프로그램은 메모리에 데이터를 저장합니다. 그 데이터는 프로그램이 작동하는 동안 지속되죠. 그런데, 생각해 보면 필요 없어진 데이터도 분명히 있을 겁니다. 그렇다면 그 필요 없어진 데이터는 어떻게 되는 걸까요? 그래서 등장하는 게 바로 ‘가비지 콜렉터’입니다. 그 이름에서 느껴지는 것처럼, 필요 없어진 ‘가비지’ 즉, 쓰레기 데이터를 ‘콜렉트’하는 역할을 하는 것이죠. 정확히 말하면, 더 이상 사용되지 않는 메모리를 회수하여 다시 사용 가능한 .. 2023. 9. 16.
API란 뭘까요 ? -왕초보도 이해하는 프로그래밍 API, 그것은 무엇일까요? API는 'Application Programming Interface'의 약자로, 어플리케이션 프로그래밍 인터페이스라는 뜻이죠. 어렵게 들릴 수 있지만, 사실 이건 컴퓨터 세상에서 엄청 중요한 역할을 하는 친구랍니다. 먼저, 축약형으로 이야기한다면, API는 소프트웨어들 사이의 연결고리 같은 거라고 보면 돼요. 쉽게 말해, 한 프로그램이 다른 프로그램과 어떻게 소통하고, 정보를 주고 받을 것인지를 정의해놓은 일종의 규약이랍니다. 시간의 흐름 속에서, API는 그 중요성만큼 변천의 과정을 겪었죠. 과거에는 간단한 명령어들로 이루어진 소규모의 인터페이스였지만, 지금은 클라우드 서비스, 소셜 미디어, 다양한 디지털 서비스들이 서로 연결될 수 있게 해주는 거대한 구조로 발전했어요... 2023. 9. 16.
[무근본개발지식] TDD(Test Driven Development)가 대체 뭔데 !? - 쉽게 설명해드림 TDD (Test-Driven Development)는 소프트웨어 개발 방법론 중 하나로, 코드를 작성하기 전에 테스트를 먼저 작성하고, 이 테스트를 통과하는 코드를 작성하는 방식을 의미합니다. TDD의 주요 과정은 다음과 같습니다: 1. 실패하는 테스트 작성: 원하는 기능에 대한 테스트 케이스를 먼저 작성합니다. 이 시점에서는 테스트가 실패합니다. 2. 코드 작성: 테스트 케이스를 통과할 수 있는 최소한의 코드를 작성합니다. 3. 테스트 실행: 작성한 코드가 테스트를 통과하는지 확인합니다. 4. 리팩토링: 코드를 개선하고 최적화합니다. * 예시: 간단한 덧셈 함수 작성 (파이썬 기준) 1. 실패하는 테스트 작성 def test_add(): result = add(1, 2) assert result ==.. 2023. 8. 23.
[무근본 WEB(웹)표준] Restful API 가 대체 뭔데 난리야 !? - 쉽게 알려드림 RESTful API는 웹 서비스의 설계와 구현에 있어서 널리 사용되는 아키텍처 스타일입니다. REST는 "Representational State Transfer"의 약자로, 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍처 원칙 집합을 의미합니다. RESTful API는 이러한 REST 원칙을 따르는 웹 서비스 API를 지칭합니다. RESTful API의 주요 특징은 다음과 같습니다: 1. 자원(Resource) 중심의 아키텍처 RESTful API는 웹 서비스의 자원을 URL로 표현합니다. 예를 들어, 사용자 정보를 관리하는 서비스에서는 `/users`라는 URL을 통해 사용자 자원에 접근할 수 있습니다. 2. 상태를 유지하지 않음 (Stateless) 각 요청은 서버에서 어떠한 상태 정.. 2023. 8. 23.
[무근본자바(JAVA)] OOP의 다섯가지 설계 원칙이 뭔데? 쉽게 설명해줄게 OOP의 5가지 설계 원칙은 "SOLID"라는 약어로 알려져 있습니다. SOLID 원칙은 객체 지향 프로그래밍과 설계에 있어서 효율적이고, 유지보수가 용이한, 확장성 있는 시스템을 만들기 위한 핵심 원칙들을 의미합니다. 각 원칙은 다음과 같습니다: 1. S - 단일 책임 원칙 (Single Responsibility Principle, SRP) - 한 클래스는 하나의 책임만 가져야 한다는 원칙입니다. 즉, 클래스가 변경되어야 하는 이유는 오직 하나뿐이어야 합니다. 이 원칙을 따르면, 각 클래스는 명확한 목적을 가지게 되어 코드의 유지보수가 용이해집니다. 2. O - 개방-폐쇄 원칙 (Open-Closed Principle, OCP) - 소프트웨어의 구성요소(클래스, 모듈, 함수 등)는 확장에는 열려 있어.. 2023. 8. 22.
[무근본 자바(JAVA)] OOP란? OOP가 뭔데? 쉽게 설명해줄게 ! 객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그래밍 패러다임 중 하나로, 현실 세계의 사물이나 개념을 객체로 표현하고, 이러한 객체들 간의 상호작용을 통해 프로그램을 구현하는 방법론입니다. OOP는 크게 네 가지 주요 개념으로 구성되어 있습니다: 캡슐화, 상속, 다형성, 그리고 추상화입니다. 1. 캡슐화(Encapsulation) - 캡슐화는 객체의 데이터와 그 데이터를 처리하는 함수를 하나로 묶는 것을 의미합니다. 이를 통해 객체의 내부 데이터는 외부에서 직접 접근할 수 없게 되며, 오직 객체가 제공하는 함수를 통해서만 접근이 가능하게 됩니다. 이렇게 함으로써 데이터의 무분별한 변경을 막을 수 있으며, 객체의 안정성을 높일 수 있습니다. 2. 상속(Inheri.. 2023. 8. 22.
[무근본 안드로이드] 인형 가격 구하기 [질문사항] 안드로이드 프로그래밍....도와주세요 라디오 버튼 6개의 각각 두번째 항목이 선택된 게 초기화면이자 초기화 버튼을 눌럿을 때의 화면인데 총액 버튼을 누르면 선택된 항목의 갑이 더해져 나와야하는데 애뮬레이터를 켜고 바로는 되는데 초기화버튼을 누르고 나서 총액 버튼을 누르면 계산 버튼을 눌러도 0이더라구요 총액버튼을 누르면 2000이 떴으면 좋겠습니다. public void onBtn1(View v){ //초기화 버튼 rb2.setChecked(true); rb5.setChecked(true); this.cnt = 1; // 수량 this.dollPrice = 0; this.sizePrice = 0; tv1.setText(cnt + ""); Toast.makeText(getApplicationC.. 2023. 4. 20.
[무근본 파이썬] 파이썬을 이용한 네이버 증권 정보 크롤링 방법 ! - 왕초보도 이해하는 파이썬 코드예시 [질문사항] python을 이용한 네이버 증권정보 크롤링 코드 다음 코드를 입력하였을 때 제대로 empty dataframe 이라서, 엑셀에도 아무 내용이 표시되지 않습니다. 혹시 어떻게 고쳐야 할까요? from selenium import webdriver from bs4 import BeautifulSoup import pandas as pd import time # 크롬드라이버 경로 설정 driver = webdriver.Chrome('your_chrome_driver_path') # 종목 코드 입력 code = '005930' # 재무제표 페이지로 이동 url = f' https://finance.naver.com/item/coinfo.naver?code= {code}&target=finsum_m.. 2023. 4. 20.
[무근본 스프링] @Test 어노테이션에 대해 - 왕초보도 이해하는 상세 설명 ! @Test 어노테이션은 JUnit 프레임워크에서 테스트 메서드임을 나타내는 어노테이션입니다. Spring Framework에서도 JUnit을 기반으로 하므로 @Test 어노테이션을 사용하여 테스트 코드를 작성할 수 있습니다. 이 어노테이션은 메서드에 붙여서 해당 메서드가 테스트 메서드임을 나타내며, 해당 메서드가 실행되면서 자동으로 단위 테스트가 수행됩니다. @Test 어노테이션에 대해 더 자세히 알아보겠습니다. [사용 방법] @Test 어노테이션은 다음과 같이 메서드에 붙여 사용합니다. @Test public void testMethod() { // 테스트할 코드 작성 } @Test 어노테이션을 사용하여 정의한 메서드는 단위 테스트를 위한 메서드입니다. 메서드 이름은 테스트의 의미를 잘 나타내도록 작성.. 2023. 4. 20.
[무근본 스프링] REST API에서 PATCH 요청이란? - 코드 샘플 REST API에서 PATCH 요청은 리소스의 일부분을 수정하는 요청입니다. PUT 요청과는 달리, PATCH 요청은 리소스의 전체를 교체하지 않고 일부분만 수정하는 것이 목적입니다. 예를 들어, 게시글의 제목(title)만 변경하고자 할 경우, PATCH 요청을 사용하여 서버에 해당 변경 사항을 전달합니다. PATCH 요청은 PUT 요청과 달리 전송되는 데이터가 변경된 속성만 포함하고, 나머지 속성은 변경되지 않은 상태로 유지됩니다. REST API에서 PATCH 요청을 처리하기 위해서는, 클라이언트가 전달한 데이터를 분석하여 변경된 속성을 식별하고, 해당 속성만 업데이트하는 로직이 필요합니다. 이를 위해서는 서버 측에서 별도의 PATCH 요청 핸들러를 구현해야 합니다. Spring Framework에.. 2023. 4. 20.
[무근본 자바] restapi patch 요청 테스트 중 : java.lang.NoClassDefFoundError 해결 방안 [질문사항] 현재 restapi patch요청 테스트 중인데 java.lang.NoClassDefFoundError: org/apache/hc/client5/http/classic/HttpClient 이런 오류가 납니다. 구글에서 찾아봐도 안나와서 질문드립니다. 아래 테스트 코드입니다. class ArticleApiControllerTest { @LocalServerPort private int port; @Autowired private TestRestTemplate restTemplate; @Autowired private ArticleServiceImpl articleService; @Autowired private ArticleRepository articleRepository; @Before p.. 2023. 4. 20.
[무근본 파이썬] Pandas 를 통한 Excel 데이터 활용하기 ! [질문] 파이썬으로 엑셀 다른 시트에 있는 값을 vlookup 하여 변경하고 컴마 기준으로 데이터를 split 하여 생성 후 저장 할 수 있을까요?.. 배우면서 공부하는 중인데 쉽지 않네요 ㅠ.. 예를 들어 첫번째 시트에 밑에 와 같은 데이터가 있으면 ID 성별 좋아하는숫자 좋아하는음식 1 남자 1,2,3 빵 2 여자 1,2 밥 3 남자 2,3,4 빵 두번째 시트에 성별 남자 1 성별 여자 2 좋아하는음식 빵 1 좋아하는음식 밥 2 최종적으로 나와야 하는 데이터 : ID 성별 좋아하는 숫자1 좋아하는 숫자2 좋아하는 숫자3 좋아하는 숫자4 좋아하는음식 1 1 1 2 3 1 2 2 1 2 2 3 1 2 3 4 1 [답변] 파이썬에서 엑셀 파일을 다루는 경우에는 대표적으로 pandas 라이브러리를 많이 사용.. 2023. 4. 18.
[무근본 파이썬] 파이썬 커피가게 큐 대기인원 코드 [질문] 파이썬으로 커피가게의 큐 대기인원 코드를 작성하시오 - 오전 8시에 시작해서 오후 10시에 종료하는 커피가게 큐 대기인원의 분포를 모의실험하시오. 큐에 최대 인원은 몇 명인가? 시간대 별로 도착시간 분포를 조정해 보세요 즉, 점심시간에는 사람이 붐비게 해 봅시다. 주문을 두명이 받는다면 어떻게 되는가? - Cust Class를 만들고, arriveTime, orderTime, outTime을 관리한다. - Shop Class를 만들고, custQueue를 만든다. . getSize method: 큐 크기를 구한다. . entCust method: 큐에 cust를 넣는다. . outCust method: 큐에서 cust를 내보낸다.(조건은 현재 시간보다 outTime이 작은 cust는 deQueu.. 2023. 4. 18.
[무근본 스프링] 클라이언트 상호 인증서 방식 사용하기(발급부터 사용까지) 웹에서 클라이언트 상호 인증서 방식을 사용하는 이유 웹에서 클라이언트 상호 인증서 방식을 사용하는 이유는 다음과 같습니다. 보안 강화 일반적인 HTTP 프로토콜을 사용하는 웹 서비스는 암호화되지 않은 데이터를 전송하기 때문에, 중간에 데이터를 가로채어서 정보를 탈취할 수 있는 보안 취약점이 존재합니다. HTTPS 프로토콜은 데이터를 암호화하여 전송하기 때문에, 이러한 보안 취약점을 보완할 수 있습니다. 클라이언트 상호 인증서 방식을 사용하면, 서버와 클라이언트 간의 상호 인증을 수행하여 더욱 보안을 강화할 수 있습니다. 불법 접근 방지 일반적인 로그인 방식은 사용자 ID와 비밀번호를 입력하여 인증하는 방식입니다. 이 경우, 타인이 사용자 ID와 비밀번호를 알아내어 불법적으로 접근할 수 있는 취약점이 존재.. 2023. 4. 15.
[무근본 스프링] @Value 어노테이션에 대해 (예시 코드 포함) Spring에서 @Value 어노테이션에 대해 Spring에서 @Value 어노테이션은 스프링 빈으로 등록된 객체에서 properties 파일이나 환경 변수 등의 값을 주입받을 때 사용됩니다. @Value 어노테이션을 사용하면, properties 파일이나 환경 변수 등에 정의된 값을 손쉽게 읽어올 수 있습니다. 예를 들어, 다음과 같은 properties 파일이 있다고 가정해봅시다. database.url=jdbc:mysql://localhost:3306/mydb database.username=admin database.password=1234 이 properties 파일에 정의된 값을 읽어오기 위해서는, 먼저 Spring의 PropertySourcesPlaceholderConfigurer 빈을 등록.. 2023. 4. 15.
[무근본 스프링] @transactional 어노테이션에 대해 (예시코드 포함) Spring의 @Transactional 어노테이션 Spring의 @Transactional 어노테이션은 메서드 레벨이나 클래스 레벨에서 사용할 수 있으며, 데이터베이스 트랜잭션 관리를 간편하게 할 수 있게 해줍니다. @Transactional 어노테이션을 사용하면, 해당 메서드가 실행될 때 Spring은 트랜잭션을 시작하고, 메서드 실행이 완료될 때 트랜잭션을 종료합니다. 만약 메서드 실행 중에 예외가 발생하면, Spring은 자동으로 트랜잭션 롤백을 수행하여 이전 상태로 되돌립니다. 예를 들어, 다음은 @Transactional 어노테이션을 사용하여 간단한 서비스 계층의 메서드를 구현한 예입니다: @Service public class UserService { @Autowired private Use.. 2023. 4. 15.
[무근본 파이썬] 파이썬에서 삼각형 별모양 출력하는 방법 ! 파이썬에서 아래와 같이 별표가 출력되도록 하는 코드를 소개하겠습니다. 1번: ****** ***** **** *** ** * 2번: * ** *** **** ***** ****** 3번: ****** ***** **** *** ** * 4번: * *** ***** ******* ********* 1번: for i in range(6, 0, -1): print("*" * i) 2번: for i in range(1, 7): print(" " * (6 - i) + "*" * i) 3번: for i in range(6, 0, -1): print(" " * (6 - i) + "*" * i) 4번: for i in range(1, 6): print(" " * (5 - i) + "*" * (2 * i - 1)) 위 .. 2023. 4. 9.