전체 글

개발자 할래요. 시켜주세요.
Shell

bash shell에서 별칭과 탭 완성 설정하기

쉘에서 명령어를 작성하다보면 자주 사용하는 명령어를 반복해서 작성하는게 귀찮을 수 있다. 그런 불편함을 해결하기 위해 우리는 별칭이라는 것을 설정할 수 있다. 별칭 설정하기 예를 들어 kubectl라는 명령어를 자주 사용해 k만 입력해도 kubectl 명령어가 실행되었으면 좋겠다면 # alias 별칭=명령어 echo 'alias k=kubectl' >>~/.bashrc 형태로 명령어를 입력하면 된다. 탭 완성 설정하기 짧은 별칭을 사용하더라도 이어서 오는 명령어가 생각보다 많다. 이 경우 bash shell의 탭 완성 기능을 사용할 수 있다. 'Tab' 버튼만 눌러도 명령어와 오브젝트 이름이 자동 완성이 된다! 자동 완성 기능을 사용하려면 해당 OS의 패키지 매니저로 bash-completion을 설치해..

Java

1. 1 자바(Java) - Java의 정석

본 내용은 남궁성님의 Java의 정석 3판의 내용을 요약하고 저의 생각을 정리한 것입니다. Java란? JAVA를 처음 접한다면 자바는 객체지향 언어라는 것만 알아 두는 것이 좋을 것 같다. Java의 역사 Java는 가전제품에 탑재될 소프트웨어의 운영체제를 개발하기 위해 만들어진 언어라고 한다. 당시 C++라는 언어를 사용하려 했으나 C++은 만족스럽지 못했나 보다... 그렇다고 언어를 새로 만드나요? Java의 특징 운영체제에 독립적이다. 기존 언어는 한 운영체제에 맞게 개발된 프로그램을 다른 종류의 운영체제에 적용하기 어려웠다. 하지만 Java는 JVM이라는 것을 통해 이를 해결했다. 자세한 내용은 뒤에서 다루겠다. 객체지향 언어이다. 객체지향 개념의 특징인 상속, 캡슐화, 다형성이 잘 적용된 순수..

Shell

Syntax error: "(" unexpected

sh script.sh sh 명령어로 쉘스크립트를 실행했는데 Syntax error: "(" unexpected가 발생하는 경우가 있다. 이는 script.sh 첫 번째 줄에 #!/bin/bash를 적지 않아서 발생하는 에러이다. 이를 shebang이라고 한다. 하지만 shebang을 명시해도 동일한 에러가 발생하는 경우 아래 명령어를 실행해보자. ls -l /bin/sh /bin/sh가 dash를 바라보는 경우 sh 명령을 실행할 때 bash가 아닌 dash가 실행되서 그렇다. 참고로 Ubuntu는 기본 쉘이 dash라고 한다. chsh 명령어 sudo chsh -s /usr/bin/bash 위 명령어를 통해 기본쉘을 변경할 수 있다. 기본쉘 확인 echo $SHELL

알고리즘

Union Find - 유니온 파인드

정의 그래프 알고리즘의 일종 상호 배타적 집합, Disjoint-set을 표현하기 위해 사용 서로 중복되지 않는 부분 집합들 포함 관계 여러 노드가 존재할 때 어떤 두 개의 노드를 같은 집합으로 묶어주고, 다시 어떤 두 노드가 같은 집합에 있는지 확인하는 알고리즘 두 가지 연산 Find 노드 X가 속해있는 집합 반환 Union (합집합) 노드 X가 포함된 집합과 노드 Y가 포함된 집합을 합치는 연산 접근 Union → 그래프의 노드연결 연결 정보가 주어질 경우 집합을 합쳐야 하는 경우 Find → 어느 그래프에 속해있는지 연결 정보를 가지고 어떤 집합에 속해있는지 찾을 때(반대로 속해있지 않은 경우도) 구현 트리 형태 사용 “부모 포인터 표현” 사용 각 노드에 대해 그 노드의 부모에 대한 포인터만 저장 ..

acisliver
와당탕탕 개발놀이터