Git
-버전 관리는 중요하다!
1.0 > 1.5 > 2.0 등 자신이 작성했던 코드의 history를 볼 수 있다.
- vi 편집기에서
: q > 저장하지 않고 빠져나오기
: q ! > 뭔가 사고치고 나온것같을때 빠져나오기
: w q > 저장하고 빠져나오기
-파일압축
압축(zip) 과정
1. 개별압축 (gzip)
2. 1개묶기 (tar)
tar -cf auto.tar(이름) 대상
리눅스는 이 과정을 분리해놓았다.
tar 명령어
tar.gz
다시 원래대로 복구
1. gzip을 다시 풀기
2. .png file 모두 삭제
cf)
-v
혹은
--verbose
진행되는 파일의 이름을 화면에 출력함
보통 진행사항을 알 수 있기 때문에 사용
3. 파일 하나하나로 다시 풀기
4. 한번에 압축 & 한번에 풀기
*파이썬(python) 기초
1-1-1. 주석 처리 및 타입설정
# 1. 한줄주석 #
'''
여러줄주석1
'''
"""
여러줄주석2
"""
#여기까지 주석 예제
a = 123
print(type(a))
a = 100 * 100
print(a)
a , b = 9 , 2
print(a*b)
a = "파이썬 만세"
print(a)
print(type(a))
b = 'python go'
print(b)
1-1-2. 합계 & 배열
# 리스트
a, b, c, d = 0, 0, 0, 0
hap = 0
a = int(input("1번째 숫자 : "))
b = int(input("2번째 숫자 : "))
c = int(input("3번째 숫자 : "))
d = int(input("4번째 숫자 : "))
hap = a + b + c + d
print("합계 => %d" % hap)
# 배열
aa = [0,0,0,0]
# input("첫번째 숫자 : ")은 문자열이기 때문에 int로 casting했다.
aa[0] = int(input("첫번째 숫자 : "))
aa[1] = int(input("두번째 숫자 : "))
aa[2] = int(input("세번째 숫자 : "))
aa[3] = int(input("네번째 숫자 : "))
hap = aa[0] + aa[1] + aa[2] + aa[3]
# {0}, value == %d, %hap (같은개념)
print("합계2 => %d" %hap)
# aa라는 배열선언
# 선언은 했지만 초기화는 x
aa = []
aa.append(0)
aa.append(0)
aa.append(0)
aa.append(0)
# 배열의 갯수
print(len(aa))
# 배열모습
print(aa)
bb = []
# for문 범위는 0부터 100까지
for i in range(0,100):
bb.append(i)
print(bb)
*라즈베리파이
*vi 편집기
-명령모드
-명령어 입력모드
-편집모드(메모장)
편집모드 →← 명령모드 →← 명령어 입력모드
: 항상 명령모드를 거쳐야한다.
in 명령모드
$ : end키
0 : home키
w : word단위로 이동
h : 왼쪽으로
j : 위로
k : 밑으로
l : 오른쪽으로
shift + d : 현재위치로부터 오른쪽으로 전부 삭제
d+d : 한줄삭제 (ctrl + x, 잘라내기)
u : 이전으로(ctrl + Y)
p : 밑으로 붙여넣기
shift + p : 위로 붙여넣기
d : delete
d+w : 단어 단위로 삭제
d + 2(숫자) + ↓방향키 : 현재위치를 포함하여 밑으로(방향) 2줄(숫자만큼) 잘라내기 = ctrl+x
v : 블럭설정, 드래그모드
y : 복사
shift + y : 한줄전체복사
x : 한글자 삭제
d + 99999 + ↓방향키 : 현재위치를 포함하여 밑으로(방향키) 다 삭제
ctrl + r : redo(다시실행)
: q : 빠져나오기(quit)
r + 한글자 : 한글자만 수정/ 바꾸고 바로 명령모드로 돌아옴.
: w : 저장 ctrl + s
*vi에서 python 코드 작성 및 보여주기
*C# Review
1-1-1. ★delegate
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using System.Text;
using System.Threading.Tasks;
namespace _2020._07._23_002
{
class Program
{
/* delegate(위임,대리자) : 새로운 타입을 만드는 것!
메서드를 가리키는 타입을 만들 수 있다.*/
delegate int NewType(int iNum);
static int OnePlus(int iNum)
{
return iNum + 1;
}
static int TenPlus(int iNum)
{
return iNum + 10;
}
static void Main(string[] args)
{
int TestNum = OnePlus(100);
Console.WriteLine(TestNum);
// 지금부터 aNewType이랑 OnePlus랑 같다.
NewType aNewType = new NewType(OnePlus);
TestNum = aNewType(1000);
Console.WriteLine(TestNum);
// NewType으로 TenPlus 지정
// 메서드를 복사해서 갖다붙이는 것
aNewType = new NewType(TenPlus);
TestNum = aNewType(10000);
Console.WriteLine(TestNum);
}
}
}
1-1-2. delegate로 for문, foreach문
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _2020._07._23_001
{
class Program
{ // delegate 선언
delegate int Calculator(int iNum1, int iNum2);
static int Add(int iNum1, int iNum2)
{
return iNum1 + iNum2;
}
static int Div(int iNum1, int iNum2)
{
return iNum1 / iNum2;
}
static int Sub(int iNum1, int iNum2)
{
return iNum1 - iNum2;
}
static int Mul(int iNum1, int iNum2)
{
return iNum1 * iNum2;
}
static void Main(string[] args)
{
int iResult;
// delegate 사용
Calculator[] aCalculator = new Calculator[] { Add, Sub, Mul, Div };
Console.WriteLine("=================for문");
for (int i = 0; i < aCalculator.Length; ++i)
{
iResult = aCalculator[i](3, 4);
Console.WriteLine(iResult);
}
Console.WriteLine("=====================");
Console.WriteLine("=================foreach문");
foreach (Calculator Temp in aCalculator)
{
iResult = Temp(3, 4);
Console.WriteLine(iResult);
}
Console.WriteLine("=====================");
// 밑에 코드는 for문을 사용하지 못한다.
// 메서드의 이름이 다 다르기 때문에
Console.WriteLine("=================노가다");
iResult = Add(3, 4);
Console.WriteLine(iResult);
iResult = Sub(3, 4);
Console.WriteLine(iResult);
iResult = Mul(3, 4);
Console.WriteLine(iResult);
iResult = Div(3, 4);
Console.WriteLine(iResult);
Console.WriteLine("=====================");
}
}
}
1-1-3. delegate C# 8.0 (188p) switch case문
using System;
public class Mathematics
{ // delegate선언 메서드라 변수가 있어야됨.
delegate int CalcDelegate(int x, int y);
static int Add(int x, int y)
{
return x + y;
}
static int Subtract(int x, int y)
{
return x - y;
}
static int Multiply(int x, int y)
{
return x * y;
}
static int Divide(int x, int y)
{
return x / y;
}
CalcDelegate[] methods;
public Mathematics()
{
methods = new CalcDelegate[] { Mathematics.Add, Mathematics.Subtract,
Mathematics.Multiply, Mathematics.Divide };
}
public void Calculate(char opCode, int operand1, int operand2)
{
Console.Write(opCode + " : ");
switch (opCode)
{
case '+':
Console.WriteLine(methods[0](operand1, operand2));
break;
case '-':
Console.WriteLine(methods[1](operand1, operand2));
break;
case '*':
Console.WriteLine(methods[2](operand1, operand2));
break;
case '/':
Console.WriteLine(methods[3](operand1, operand2));
break;
}
}
}
namespace _2020._07._23_003
{
class Program
{
delegate void WorkDelegate(char arg1, int arg2, int arg3);
static void Main(string[] args)
{
Mathematics math = new Mathematics();
WorkDelegate work = math.Calculate;
work('+', 10, 5);
work('-', 10, 5);
work('*', 10, 5);
work('/', 10, 5);
}
}
}
'C#' 카테고리의 다른 글
2020.07.27(월) - 라즈베리파이 & C# Review (0) | 2020.07.27 |
---|---|
2020.07.24(금) - 라즈베리파이 & C# Review & Python (0) | 2020.07.24 |
2020.07.22(수) - 라즈베리파이 & C# (0) | 2020.07.22 |
2020.07.21(화) - 라즈베리파이 (0) | 2020.07.21 |
20202.07.20(월) - 라즈베리파이 (0) | 2020.07.20 |