반응형

전체 글 124

Arch Linux 설치 가이드 3: LTS 커널과 기타 설정 마무리

환영합니다, Rolling Ress의 카루입니다.​아치리눅스 설치가 모두 끝났죠. 이제는 시스템을 좀 더 편리하게 사용하고, 안정화하기 위한 작업들을 진행하도록 하겠습니다. 꼭 필요하진 않지만, 개개인에 따라 충분히 유용할 수 있는 기능들입니다. 천천히 보면서 자신에게 맞는 설정을 적용해주세요.​목차LTS 커널 설치유용한 프로그램 설치기타 설정 및 프로그램유용한 설정들​LTS 커널 설정https://kernel.org 은 리눅스 커널을 모아둔 곳입니다. 대부분의 배포판들은 리눅스 커널을 가져다가 커스텀하거나 해서 사용하죠. 아치의 경우엔 kernel.org에 있는 모든 커널을 AUR또는 기본 저장소에서 받을 수 있습니다. ​Mainline은 현재 개발중인 커널입니다. 아직 안정화 전이므로 고급 사용자가 ..

Linux 2024.09.30

Arch Linux 설치 가이드 2: Wayland GUI 환경설정과 드라이버 설치

환영합니다, Rolling Ress의 카루입니다.​ 지난번에 아치리눅스 설치까지는 끝냈습니다. 그런데 지금은 컴퓨터를 켜봤자 bash만 깜빡일 뿐입니다. 서버가 아닌 이상 이런 화면을 원하지 않죠. 당장 크롬 브라우저도 안 돌아갑니다. 이제 GUI를 입혀줄 데스크탑 환경을 설치하고, 중요한 설정들을 마무리해봅시다.​※ 2024. 09. 29 업데이트: ​새롭게 수정한 부분이 있어 글을 업데이트합니다.​목차데스크탑 환경 or 윈도우 매니저 설치한글 입출력 설정기타 프로그램 및 드라이버 설치Wayland 환경설정Zsh 설치​데스크탑 환경 or 윈도우 매니저 설치​데스크탑 환경 설치​ 데스크탑 환경에는 크게 GNOME, KDE Plasma, Xfce 등이 있습니다. 일반적으로는 저 3개 중 하나를 고르지만, ..

Linux 2024.09.30

Arch Linux 설치 가이드 1: 파티션 분할과 부트로더 설치까지

환영합니다, Rolling Ress의 카루입니다.​ 이전에 써둔 아치리눅스 설치 포스트가 너무 오래되어서, 다시 써보려고 합니다. 확실히 롤링 릴리즈 배포판이라 그런지 설치 방법도 계속 변하네요. 여튼, 시작하겠습니다.​※ 2024. 09. 29 업데이트: ​새롭게 수정한 부분이 있어 글을 업데이트합니다.​​목차라이브 부팅 및 설치 준비파티션 분할 및 마운트베이스 시스템 설치 및 설정부트로더 설치AUR 헬퍼 설치 만약 새로 Windows와 Arch Linux를 같이 설치하신다면, EFI 파티션은 적어도 512 MiB, 넉넉하게 1 GiB정도는 잡아두시기 바랍니다. 아치리눅스는 커널을 모두 EFI 파티션에 담아두기에, EFI 파티션이 작으면 큰 불상사가 일어날 수 있습니다.​ 아래 링크에서 아치리눅스를 다..

Linux 2024.09.30

파이썬 코딩 효율을 높여주는 7가지 문법들 (ft. Pythonic한 코드란?)

환영합니다, Rolling Ress의 카루입니다.​ 파이썬에서는 'Pythonic'이라는 형용사가 있습니다. 말 그대로, 파이썬스러운 코드를 의미해요. 기존 파이썬 문법들과 크게 차이가 나지 않고, 간결하며 의미를 명확하게 이해하기 쉽다면 그런 코드는 모두 Pythonic하다고 볼 수 있겠습니다. 귀찮은 문법을 간결하게 표현할 수 있는 'Syntax sugar'와 어느 정도 일맥상통한다고 볼 수 있겠어요.​ 오늘은 Python의 코딩 효율을 높여주는 편리한 문법들을 살펴보겠습니다.1. List comprehension2의 배수를 리스트(배열)에 저장하는 코드를 작성해보겠습니다. l = [] # 리스트를 선언하고for x in range(1, 21): # 반복문을 돌며 if x % 2 == 0: # 짝수..

Python 2024.09.24

고양국제고등학교 랜선석 예약 프로그램

은 제가 만든 건 아니고요, 12기 후배가 만들었다길래 매우 흥미롭게 관찰하고 있었습니다.13기, 14기 여러분들도 코딩할 줄 알면 이어서 만들어보도록 하세요. 응?​사실 저는 이 프로그램의 존재를 모르고 있었는데요, 승햔씨가 알려줬어요. 역시 현지인 재학생들이 변화에 빨라. 12기에 코딩 잘 하는 친구가 있다고 하던데, 이 정도까지 솜씨일 줄은 몰랐네요.​마침 오픈소스로 되어 있길래, 냅다 포크해서 가져왔습니다. 일단 원래 태그로 되어 있던 스크립트를 js 파일로 빼냈습니다. 규모가 커지면 스크립트를 관리하기 어려워지거든요.추가로, HTML 코드에서 onclick="function()"으로 되어 있던 부분도 위와 같이 스크립트로 빼내는 게 좋습니다. 이를 통해 프로그램의 일관성을 보장할 수 있어요. ..

고양국제고 2024.07.28

C언어를 처음 배웠던 시절의 코드를 다시 보았다.

때는 2017년. 지금으로부터 약 7년 전이다. 초등학교 6학년 겨울방학, 컴퓨터에 푹 빠졌던 나는 부모님께 C언어 학원을 보내달라고 졸랐다. 그리고 거기서 걸으면 안 될 길을 걷고야 말았다. 세상에. ​ #1. 뭘 집어넣는 거야? // 세 과목의 성적을 입력받아 합계와 평균을 구하는 프로그램 setbuf(stdin,NULL); int sj = ("%d", sj); int sj2 = ("%d", sj2); int sj3 = ("&d", sj3); // ...이하 생략 ㅋㅋㅋㅋㅋㅋ 대환장... 아마 scanf("%d", &sj);를 의도한 것 같은데, 무슨 생각으로 저랬을까. 참고로 의외지만 저 코드는 문법상으로 아무 문제가 없다. 쉼표 ',' 연산자는 두 식의 값을 평가한 후, 뒤의 것을 돌려준다. 즉 ..

카테고리 없음 2024.01.17

[TastyNav] #1: 중앙대학교 맛집 앱 개발 시작!

환영합니다, Rolling Ress의 카루입니다. ​ 따로 언급은 안 했는데, 저는 현재 COMP 동아리에 소속되어 있습니다. 개인적으로 매우 만족하는 동아리 중 하나예요. 이 동아리에 들어올 때 좀 우여곡절이 있었는데(^^,,) 어쨌든 무사히 들어오게 되었습니다. ​ 지금은 팀 프로젝트를 진행중이에요. 저희 팀은 중앙대학교 주변 맛집 앱을 만들고자 합니다. TastyNav는 개발 코드명이에요. 아직 앱 이름이 정해지지 않아서, 도메인이나 내부적으로는 TastyNav를 사용하고 있습니다. ​ 개발 언어: JavaScript (프론트: React.js with PWA, 백엔드: Node.js) ​ 1) 자료조사 첫째로, 맛집과 메뉴 목록을 조사했습니다. 공유 엑셀 파일을 이용해서 정보를 취합했습니다. 맛집..

중앙대학교 2024.01.17

[C11] C언어도 제네릭이? _Generic 키워드 살펴보기

환영합니다, Rolling Ress의 카루입니다. ​ C언어에 제네릭이 이미 들어갔었네요? 물론 C++의 template이나 다른 언어의 제네릭에 비해선 크게 약하지만, 그래도 가능은 하다라는 점에 의의를 두고 싶습니다. C23에서는 아예 auto 키워드가 본래의 의미를 잃고 C++의 auto와 동일하게 변경되는데, C언어도 발전하는 모습이 보기 좋습니다. 그래봐야 실무에선 아직도 C99 쓰겠지만. _Generic(expr, list) 표현식은 간단합니다. 이때 list에는 다음과 같은 것들이 올 수 있습니다. // type은 VLA 또는 VLA를 가리키는 포인터가 올 수 없음. type1: expr1, type2: expr2, default: expr3 C언어는 오버로딩을 지원하지 않기 때문에 매크로의..

C언어 2023.12.31

[C23-] 함수 파라미터에 void를 써야 할까? ─ int func(), int func(void)

환영합니다, Rolling Ress의 카루입니다. ​ 이 글은 C23 이전 표준안에 대해 다루고 있습니다. 사실 아직까지도 C11은 커녕 C99를 주로 쓰는 경우가 많아서, 대부분 이 글에 적용된 내용이 해당됩니다. 한 20년쯤 지나면 이 글이 필요 없어질 수도 있겠군요. 참고로 C++에는 해당이 되지 않는 이야기입니다. C11 이전의 C 표준에서만 해당됩니다. ​ 흔히 C언어에서는 함수를 선언할 때 꼭 void를 쓰라고 합니다. int func(); int func(void); C++ 에서는 위 둘의 뜻이 정확히 같습니다. 매개변수를 받지 않는다는 뜻이죠. 오히려 func(void)보다는 func()를 권장합니다. C# 같은 언어에서는 아예 첫 번째 표현만 가능하고요. (두 번째 표현을 쓰면 오류가 나..

C언어 2023.12.04

[C99] VLA(Variable Length Array; 가변 길이 배열)에 관한 깊은 고찰

환영합니다, Rolling Ress의 카루입니다. ​ C언어를 배우다보면 흔히 이런 말을 한 번쯤은 들어 보셨을 겁니다. 배열을 선언할 때, 크기를 정하는 인덱스에는 변수를 사용할 수 없다. int len = 5; int array[len]; 쉽게 말해서 위와 같은 코드가 불가능하다는 뜻이죠. 일반적으로 상수값만 가능하다고 배우니까. 그런데 이 말은 틀렸습니다. C99부터 VLA라는 문법을 지원하기 때문이에요. C11에서 선택구현으로 바뀌어서 이게 사라졌다고 아시는 분들도 있는데, C23에서 다시 부활했습니다. 아마 C언어는 이 문법을 계속 가지고 갈 것 같아요. ​ * 참고로 이 코드는 gcc에서 C99 이상의 문법으로 컴파일했을 때만 작동합니다. MSVC는 지원하지 않고, C++도 지원하지 않아요. ..

반응형