전체 글 34

240431 리눅스 고급 사용법 학습

리눅스 고급 사용법 학습프로세스 모니터링명령어 : top, iotop 등Open Source Tool : nagios, cacti, dstat, glances 등스케줄링한번 수행되는 스케줄링 : at 명령어 활용반복적으로 수행되는 스케줄링 : Crontab 활용crontab -e : 스케줄링 수정crontab -l : 구성된 스케줄링 보기사용자 관리사용자 추가 : useradd사용자 정보 수정 : usermod사용자 그룹 관리생성 : groupadd-G를 사용하여서 서브 그룹을 할당할 수 있다.사용자 제한 및 삭제삭제 : userdel계정의 접근을 제한하기 위해서 passwd와 -l 옵션을 통해서 암호를 잠글 수 있다.알고리즘 풀이Queue 자료 구조 관련 문제 풀이

TIL 2024.05.01

[CS] Linux 고급 - 파일

안녕하세요! 오랜만이네요. 지난번 리눅스 기본 사용법 이후에 더 고급 사용을 위해서 학습했습니다.첫번째 시리즈로 파일 시스템에 대해서 이야기해보려고 합니다. 모든 OS는 각자의 파일 관리 시스템이 존재하며, 리눅스는 어떻게 구성되고 관리되는지 중점적으로 알아보려고 합니다.파일이란?파일의 정의를 찾아보면 관련된 정보들의 집합이라고 합니다. (사실 보면 감이 오지 않죠?) 파일에 대해서 좀 깊게 생각해보면, '인공지능을 위한 DataEngineering' 이라는 'hwp' 파일이 있다고 생각해봅시다. 내부의 내용은 모두 인공지능을 위해 필요한 DataEngineering에 대한 이야기를 하겠죠? 이것은 '인공지능', 'Data', 'Engineering' 과 관련된 정보들이 모여있는 곳이 되는 곳이죠?파일 ..

CS 2024.05.01

[CS] 운영체제의 기본

운영체제는 무엇일까요? 저희가 많이 사용하고 있는 Windows, Mac OS, iOS, Android OS 등등 많은 운영체제를 접하고 있지만, 정확하게 어떤 정의를 가지고 왜 사용하는 지 알지 못했습니다. 오늘은 운영체제는 무엇이고, 왜 사용하는 지 학습했습니다. 운영체제는 컴퓨터 사용자와 하드웨어 사이의 중개자 역할을 합니다. 운영체제의 가장 큰 목적은 사용자가 편리하고 효율적으로 프로그램을 실행할 수 있는 환경을 제공하는 것입니다. 다양한 기능을 제공하고, 우리는 이미 많은 부분에서 사용하고 있습니다.운영체제의 특성장치 및 관리계정 관리오류 감지메모리 및 프로세스 관리성능 제어운영체제의 기능리소스 관리 : 병렬 접근이 발생하여 여러 사용자가 시스템에 접근하는 경우에 리소스를 관리한다.프로세스 관리..

CS/OS 2024.04.27

[CS] Linux란?

리눅스의 역사 리눅스는 1991년 리누스 토발즈 학생에 의해서 만들어진 운영체제이다. 처음에는 개인적인 프로젝트로 시작했으나, 인터넷을 통해서 오픈소스로 전환되었다. 1990년대 이후 Ubuntu, Debian 등의 배포판이 등장했고, 2000년대 이후에 서버, 데스크톱 등 많은 분야에서 리눅스 활용이 증가했다. 리눅스의 특징 리눅스는 기본적으로 OS가 가져야 하는 다양한 기능을 제공한다. 다중 사용자 및 다중 작업을 지원하고, 네트워크를 지원한다. 물론, 보안성과 안정성도 가지고 있다. 더 자세하게 OS를 공부하게 되면, 추가로 포스팅할 예정이다. 리눅스 기본 명령어 파일 보기 ls ls -a ls -al `ls` 를 통해서 폴더에 존재하는 파일을 볼 수 있다. 가장 많이 사용하는 명령어일 것이다. `..

CS 2024.04.22

[SQL 기본 문법] SQL 기본 문법 정리

SELECT SELECT 문법은 가장 기본적인 문법중 하나이다. 테이블에서 어떤 컬럼을 선택할 것인지에 대한 쿼리를 수행하게 된다. SELECT * FROM emp 대화형을 통해서 즉석에서 실행하는 쿼리에서는 SELECT * 을 사용하여서 전체를 출력할 수 있습니다. 하지만, 프로그램 코드를 작성할 때에는 어떤 열을 반환하는지 명확하게 하고, 다른 개발자가 쉽게 알아볼 수 있도록 하기 위해서 필요한 열만 작성하는 것이 좋습니다. SELECT empno,ename,job,sal FROM emp WHERE 테이블을 조회할 때, 우리가 원하는 조건이 있을 수 있습니다. 예를 들어서, sal 이라는 컬럼의 값이 2000이상인 사람을 모두 출력과 같은 경우 입니다. 이럴 때, 저희는 WHERE 를 활용해서 조건을..

Data/SQL 2024.04.13

[Python 문법] 오류 처리

파이썬은 타입 오류, 연산 오류 등 다양한 오류가 발생할 수 있다. 오류를 처리하기 위해서 try - except 문법을 활용할 수 있다. x = 5 y = 'Hello' try: z = x + y except TypeError: print("Error : cannot add an int and a str") 오류 발생 핸들링 except 구문에서 오류 타입에 따른 다양한 처리를 할 수 있다. 다음 예시를 확인해보면, 오류 타입에 따라서 프린트 내부 문자열을 변경할 수 있게 된다. def fun(a): if a < 4: b = (a / (a - 3)) print("Value of B = ", b) try: fun(3) fun(5) except ZeroDivisionError: print("ZeroDivi..

Data/Python 2024.04.09

[Python 문법] Python 객체 지향

Python은 객체 지향 언어이다. 그렇기 때문에 상속을 지원하고, Class를 제공한다. 다른 객체 지향과 동일하게 Class는 참조타입이기 때문에 메모리 영역 중 힙 영역에 할당되게 되며, 메모리 주소를 통해서 내부 값을 변경할 수 있다. 추후 메모리 관리 방법에 대한 학습을 할 때, 더욱 자세하게 알아보려고 한다. 문법 Python에서 Class는 일반적인 언어와 동일하게 class 키워드를 통해서 생성할 수 있다. 다른 언어들과 다르게 생성자를 따로 제공하지 않고, 함수의 형식으로 생성자를 제공한다는 점이 특이했다. class Dog: attribute = "mammal" def __init__(self, name): self.name = name def speak(self): print("my ..

Data/Python 2024.04.09

[CS] HTTP는 어떻게 동작할까?

안녕하세요! 미니입니다. 오늘은 iOS 개발을 하면서 네트워크 통신을 하게 되면, 당연하게 만나게 되는 HTTP에 대해서 이야기 해보려고 합니다. 실제, 프로젝트를 수행하다보면, HTTP가 뭔지는 아는 것 같은데 원론적으로 어떻게 동작하고, 특징들에 대해서 고민하게 되는 것 같아서 학습하게 되었습니다. 1. HTTP란? HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜입니다. 여기서 프로토콜은 컴퓨터 내부나 컴퓨터간의 데이터 교환 방식을 정의하는 규칙입니다. 즉, 컴퓨터가 컴퓨터에게 데이터를 줄때, 마구잡이로 데이터를 주는 것이 아니라 이미 정해둔 규칙에 따라서 데이터를 전달해야 한다는 것입니다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초가 되는 프로토콜입니다. 하나..

CS 2023.10.26

TCA - 네트워크 요청하기

안녕하세요! 미니입니다. 오늘은 TCA에서 네트워크를 처리하는 방법에 대해서 정리해보려고 합니다. TCA를 알아보면서 사이드 이팩트에 대해서 이야기하면서 잠시 이야기 했었습니다. (안보신 분들은 TCA - 기본 에서 보시면 됩니다.) 사이드 이팩트에 대해서 잠깐 이야기 해보고 넘어가보도록 하죠! 사이드 이팩트 TCA에서 사이드 이팩트라는 용어는 어플리케이션 바깥 세상에서 일어나는 일이다. 링크 TCA 공식 문서를 바탕으로 사이드 이팩트에 대한 정의를 추론해보면 저희가 작성하고 있는 어플리케이션 바깥 세상에 대해서 이야기합니다. 즉, 네트워크를 통해서 새로운 데이터를 받아오는 작업도 사이드 이팩트가 됩니다. 직접 코드를 작성하기 전에 어떤 형식의 앱인지 소개드릴게요! 우측 네비게이션 바에 있는 버튼들은 상..

IOS/SwiftUI 2023.10.18