전체 글 (294) 썸네일형 리스트형 [리눅스] VI 편집기 (3) / 2022.11.19 1. 버퍼 내용 집어 넣기 p // 버퍼 내용을 커서의 뒤 (혹은 아래)에 삽입 P // 버퍼 내용을 커서의 앞 (혹은 위)에 삽입 1-1) p -> 16~18행 삭제 후 다시 삽입 1-2) P -> 위와 동일 2. 줄 복사 및 이동 :n // n 번째 줄로 이동 : from, to y // from줄에서 to줄까지 버퍼에 복사 nY // 현재 위치에서 n줄을 버퍼에 복사 2-1) :n -> :14 14번째 줄로 이동 2-2) : from, to y -> 16~18번 줄 복사 후 p 2-3) nY -> 5Y : 현재 위치에서 5줄 복사 후 p [리눅스] VI 편집기 (2) / 2022.11.19 1. 입력 모드로 변환 i // 입력 모드로 변환, 커서 위치 앞에서 삽입 a // 입력 모드로 변환, 커서 위치 뒤에서 삽입 o // 입력 모드로 변환, 현재 줄의 아래에 전개 O // 입력 모드로 변환, 현재 줄의 위에 전개 1-1) 순서대로 i와 a 입력 1-2) 순서대로 o와 O 입력 2. 내용 수정하기 r // 한 글자만 변경 (입력 모드로 바뀌지 않음) R // 입력하는 대로 겹쳐 써서 변경 s // 현재 글자를 삭제하고 삽입 상태로 변경 cw // 현재 단어를 삭제하고 삽입 상태로 변경 2-1) r : 한 글자만 변경 -> T를 F로 변경 2-2) R : 입력하는 대로 겹쳐 써서 변경 2-3) s : 현재 글자를 삭제하고 삽입 상태로 변경 2-4) cw : 현재 단어를 삭제하고 삽입 상태로 .. [리눅스] VI 편집기 (1) / 2022.11.18 vi : 모든 유닉스 시스템에서 사용가능 하며, 기능도 강력함 -> 기능을 배우는데 상당한 시간을 투자해야 함 1. vi 시작 vi file // file은 사용자가 편집하고자 하는 파일의 이름 //ex) 파일이름 = newfile vi newfile 2. vi 종료 zz // 작업 내용을 저장하고 종료 -> 최근에는 잘 안씀 :q // 아무런 작업을 하지 않은 경우에 종료 :q! // 작업 내용을 저장하지 않고 종료 :wq // 작업 내용을 저장하고 종료 -> zz와 동일한 기능 This is a test file. 이라고 타이핑을 한 후 :q!을 입력하고 파일에 다시 들어가보면, 작업 내용이 저장되지 않았다는 것을 확인할 수 있다. 2-1. 화면에 데이터를 작성하는 단계 1) 데이터를 쓰고 싶은 곳으.. [백준-자바] 2566번 최댓값 / 2022.10.30 https://www.acmicpc.net/problem/2566 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net import java.util.*; import java.io.*; public class Main { // 최댓값을 구하는 변수 max는 0으로 행과 열을 나타내는 A, B는 1로 static int A = 1, B = 1; static int max = 0; public static void main(String[] args) throws IOException { BufferedReader br = new Buf.. [OpenGL] 평행 투상과 원근 투상 / 2022.10.24 1. 평행 투상 - 시점이 물체로부터 무한대의 거리에 있다고 간주하여 투상선을 나란히 가져가는 방법. - 원래 물체의 평행선은 투상 후에도 평행 - 시점으로 부터의 거리와 무관하게 같은 길이의 물체는 같은 길이로 투상됨 - 평행 투상은 정사 투상, 축측 투상, 경사 투상으로 나뉨 2. 원근 투상 - 시점이 물체로부터 유한한 거리에 있다고 간주 - 투상선이 시점에서 출발하여 방사선 모양으로 퍼져감 - 실제로 카메라나 사람의 눈이 물체를 포착하는 방식 - 동일한 물체라도 시점으로부터 멀면 작게 보이고, 가까우면 크게 보인다. (원근감) 3. 예제를 통해 알아보자 #include #include #include int Width, Height; void Init() { glClearColor(1.0, 1.0,.. [OpenGL] 타이머 콜백 / 2022.10.24 * 출처 : OpenGL로 배우는 3차원 컴퓨터 그래픽스, 한빛아카데미 일정한 시간 간격이 지나면 발생하는 이벤트가 타이머 이벤트이며, 타이머 콜백은 이 이벤트에 대응하는 콜백 함수다. void glutTimerFunc(unsigned int msecs, void(*func)(int value), int value); - unsigned int msecs : 얼마 후에 이벤트를 발생시킬 것인지, msec 단위 - void(*func)(int value) : 타이머 이벤트 발생 시에 호출되어야 할 함수명 - int value : 이벤트 발생 시에 콜백 함수에 넘겨줄 파라미터 예제를 통해 알아보자. #include #include #include #include unsigned char PALETTE[16].. [OpenGL] 아이들 콜백 / 2022.10.23 * 출처 : OpenGL로 배우는 3차원 컴퓨터 그래픽스, 한빛아카데미 GLUT은 매우 짧은 시간 간격으로 이벤트 루프를 돌기 때문에 어떤 경우에는 큐에 새로운 이벤트가 아직 하나도 안 들어가 있는 때도 있다. 아이들 콜백을 정의하면 이 경우에도 콜백 함수를 만들어 필요한 일을 할 수 있다. 예제를 통해서 알아보자. #include #include #include GLfloat Delta = 0.0; void MyDisplay() { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); glColor3f(0.0, 0.5, 0.8); glVertex3f(-1.0 + Delta, -0.5, 0.0); glVertex3f(0.0 + Delta, -0.5, 0.0); glV.. [OpenGL] 메뉴 콜백 / 2022.10.23 * 출처 : OpenGL로 배우는 3차원 컴퓨터 그래픽스, 한빛아카데미 1. 콜백 함수를 사용하여 메뉴를 만드는 방법을 알아보자. #include #include #include GLboolean IsSphere = true; void MyDisplay() { glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.5, 0.0, 0.5); if (IsSphere) // IsSphere가 true라면 glutWireSphere(0.2, 15, 15); //원구를 그림 else // false라면 glutWireTorus(0.1, 0.3, 40, 20); // 원환체를 그림 glFlush(); } void MyMainMenu(int entryID) { if (entryID == 1) Is.. 이전 1 ··· 8 9 10 11 12 13 14 ··· 37 다음