일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 오픈쉬프트
- comp1000
- msa
- 접미사
- 저수준
- 접두사
- 후조건
- Github
- 고수준
- 1일 1커밋
- 배열의 배열
- 런타임 복잡도
- 선조건
- 매니지드
- 언매니지드
- 다차원 배열
- 함수의 범위
- 논리 연산자
- COMP2500
- 공학수학
- args
- do-while
- C# Assert
- 데이터타입 #변수
- jit
- 포큐
- out 매개변수
- SWAGGER
- 개체지향
- decimal
- Today
- Total
목록IT공부 (34)
내 생각대로 정리하는 블로그

1. 결론 동시 수강은 비추천한다. 단, 전공자 4년제 졸업생은 병행진행 가능하다고 봄. (기초가 튼튼한 자) 포큐 아카데미의 모든 강좌는 추천! 2. 후기에 앞서... 우선 대부분의 블로그 후기 중 2강좌 수강 후기가 없어 동시수강을 생각하고 있는 사람들에게 도움이 되었으면 한다. 나는 비전공자 국비지원 학원 출신 개발자이다. 4년차, 웹개발을 하고 있고, 2년동안은 SCRIPT언어를 주로 개발했고, 현재 이직 한 회사에서는 백앤드 개발을 주로 하고 있다. 후기 작성에 먼저 내 환경을 설명한 이유는 이 강좌를 수강하기 전 자신의 환경과 글쓴이와 환경이 어떤지 비교하면 좋을 듯 싶어 적어본다. 3. 강좌 후기 COMP1000 (소프트웨어 공학용 수학) & COMP2500 (개체지향 프로그래밍 및 설계 (..
우선 직렬 이라고 하면 직렬, 병렬이 떠오른다. 직렬이란 무엇인가? 순서대로 줄세우는것? 그런데 개발에서의 의미는 조금 다른 듯하다. 영어로는 Serializable 이라고 하고, 시스템 내부에서 사용되는 개체 또는 데이터를 외부의 자바 시스템에도 사용할 수 있도록 바이트 형태로 데이터 변환하는 기술을 직렬화 라고 한다. 직렬화된 데이터를 다시 개체로 변환하는 기술을 역직렬화라고 하고, 이때 de만 붙혀주면 Deserializable으로 된다. 우선 이와 관련된 내용이 XML, JSON이라고 할 수 있다. XML의 형태인 value 로 구성되어 저장하여 사용하고, JSON의 형태인 {"key":"value"} 로 사용한다. 요즘의 추세는 XML보다 JSON을 더 많이 사용하고, XML은 과거 기술이라고?..
특정 오류로 인해 시스템이 멈추는 경우가 생긴다. 이러한 점을 미리 파악하여 예외처리를 한다. 예외처리, 말 그대로 예외적으로 처리하는 방법이다. 쉽게 생각하면 무시한다. 라고 생각하는게 쉬울것 같다. 파일을 예를 들어 설명하면, 나는 A라는 폴더에 A라는 파일을 만들어라 그리고 A라는 문자를 입력해라 라고 코딩을 했다. 그런데 A라는 폴더가 존재하지 않고 B라는 폴더가 있었다 라고 가정하면, 보통 어플리케이션은 A라는 폴더를 찾았지만 존재하지 않는다며 오류를 뱉어내고 어플리케이션을 종료시켜버린다. 이렇게 되면 잘 사용하던 시스템이 그 뒤로는 사용할 수 없게된다. 이러한 점으로 예외처리를 많이 사용한다. try { // logic } catch ( Exception e) { // 오류 문구 } final..
1. gradle dependencies에 아래 내용을 추가해준다. - buil.gradle - maven 프로젝트는 properties 파일에 추가하면 된다. 다른 형식으로... implementation 'io.springfox:springfox-boot-starter:3.0.0' implementation 'io.springfox:springfox-swagger-ui:3.0.0' 2. SwaggerConfig.java을 추가한다. import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders..
절차적 언어의 아쉬운점을 보완함. 커스텀하게 만드는 자료형. 데이터를 그룹으로 묶는 방법이 존재 > struct struct Human { int age; float height; } 이런식으로 그룹화 함. 함수를 하나로! 메소드를 하나로! 붕어빵 기계라고 생각하면 쉬움.
동일한 형의 여러 자료를 저장하는 공간 자료 구조의 일부 다른 언어에서는 컨테이너 라고도 부름 배열 컬렉션 자료구조 자료구조 요소의 수를 바꿀 수 없음 요소의 수를 바꿀 수 있음 유용한 함수 제공 안함 유용한 함수를 기본적으로 제공 배열이 컴퓨터 언어와 흡사함. 그래서 컬렉션보다 배열을 사용함! 컬렉션 결정 시 교려할 사항! 다음과 같은 요인에 따라 사용할 컬렉션 결정 색인의 종류 정형화된 색인 임의의 key 값: 어떤 자료형이든 가능하나 정형화된 색인은 아닌 것 데이터 접근 패턴 컬렉션의 종류 List Dictionary HashSet Stack Queue LinkedList
float num1 = 0.099999999999f; float num2 = 0.1f; if( num1 == num2 ) { Console.WriteLine("Same!"); } if문 조건을 통과한다. 부동소수점형의 정밀도 문제가 있음. 컴퓨터가 이해하기 위해 2진수로 변환을 하다보면 두개의 값이 같아지게 됨. (기준이 되는 2진수: 2^32) 정수에 이런 문제가 없는 이유는 사실상 열거형 이기 때문이다. 따라서 부동소수점에서 근접한 두 수는 같은 값이 될 수도 있다. 은행같이 정밀한 데이터를 요하는 곳에서는 부동소수점데이터를 사용하기 안좋음. 그런데 부동소수점 형을 쓰는 이유는? cpu에서 자체적으로 지원하는 유일한 실수형인 부동소수점! > 계산이 빠르다! 해결1. 부동소수점 계산에 오차를 해결하기 ..
함수의 리턴 타입을 bool 형으로 처리하고 매개변수에 ref 를 추가해서 원본데이터를 변환하는 방식 예) static bool TryDivide(float numerator, float denominator, ref float result) { if (denominator == 0.0f) { return false; } result = numerator / denominator; return true; } float result1 = 0.0f bool bSuccess1 = TryDivide(10.0f, 0.0f, ref result1); 아쉬운점은 ref 매개변수로 쓸 변수는 반드시 초기화 해야함! 이때 out 매개변수를 사용! ref 대신 out을 사용 함수내에 out 선언한 매개변수 값을 넣어줘야 ..
오버로딩이란? 쉽게 말해 함수명은 동일하고, 매개변수가 다른것을 의미한다. 아래와 같은 경우에 사용한다. 매개변수의 수가 다른경우 승격/묵시적 변환을 해도 상관없는 경우 ex) static double Sqrt(double num) static int Sqrt(int num) 실제 c#의 Math 라이브러리도 float 보단 double을 더 많이 지원함. float 과 int는 묵시적 변환이 가능한 타입이므로 주의해야한다! 매개변수가 승격이 불가능한 경우 ex) static double Sqrt(String num) static int Sqrt(int num) 위 경우가 아니라면 오버로딩보다는 함수명을 다른 이름으로 하자! 또한 오버로딩은 리턴 타입이 다르면 오버로딩 할 수 없다는 점이다. 한가지로 통..
string[ ][ ] classrooms = new string[3][ ]; [ ][ ] = new [][ ]; 바깥 배열의 원소에 접근 string[ ][ ] classrooms = new string[3][ ]; int classIndex = 0; // 1반 string[ ] studentNames = classrooms[classIndex]; // 1반에 접근 string[ ][ ] classrooms = new string[CLASS_COUNT][ ]; 문자열 배열을 담을 공간만 만든다. 안쪽 배열 만들기 const int CLASS_COUNT = 3; string[ ][ ] classrooms = new string[CLASS_COUNT][ ]; int[ ] STUDENT_COUNT_PER_C..