내가 까먹을까봐 만든 블로그

전체 글

Computer Science/Computer Network

[네트워크 실습] 네트워크 구성 - BGP(Border Gateway Protocol)

1. 주요 개념 BGP(Border Gateway Protocol) AS(Autonomous) BGP(Border Gateway Protocol)는 OSPF의 Area라는 개념과 비슷한 AS(Autonomous)라는 개념을 사용해서 통신한다. 서로 다른 AS 간의 BGP Session을 External BGP, 동일 AS내의 BGP Router 간의 BGP Session을 Internal BGP라고 한다. 아래는 미리 구상된 토폴로지의 구조이다. 위 토폴로지를 토대로 네트워크를 구축한다. 2. 구축 BGP의 명령은 아래와 같다. set protocols bgp [as number] neighbor [neighbor network address] remote-as '[neighbor as number]' ..

Data Science/Data Analysis

[Python] 산술 평균, 기하 평균(Gmean), 조화 평균

데이터가 가진 특성에 대해 판단할 때 대표적으로 평균(mean), 중앙값(median), 최빈값(mode) 등을 이용하여 추정할 수 있다. 각 방법은 아래와 같은 특징들이 있다.평균(mean)산술 평균, 기하 평균, 조화 평균 등의 방식이 있다.변수의 관찰값들을 모두 계산한 것이므로 대푯값으로 바람직하다.추상적인 의미를 가진다.특이값의 영향을 받는 단점이 있다.중앙값(median), 최빈값(mode)특이값의 영향을 받지 않는다.중앙값은 데이터를 크기순서로 정리해야 하는 불편함이 있다.최빈값은 데이터가 적거나 복잡하면 구할 수 없다. 이번 포스트에선 평균에 대해 더 자세히 알아보려 한다. 산술 평균(Arithmetic mean)산술 평균(Arithmetic mean)은 우리가 알고 있는 가장 보편적인 평균..

Languages/Dart(Flutter)

[Dart] Extension Method와 응용

Extension Method Dart에서 제공하는 기능인 Extension Method는 특정 타입에 대한 전용 메소드를 만들어주는 기능이다. 이를 이용해 해당 데이터 타입에서 자주 사용되는 동작을 호출해 주는 메소드를 지정해 줄 수 있다. 아래와 같은 측면에서 Extension Method 사용을 고려해 보면 좋다. 가독성 향상 휴먼 에러 감소 유지보수성 개선 코드 재사용성 증대 코드 중복 감소 다만 지나치게 남용할 경우 오히려 너무 기능이 세분화되거나 코드 간 의존성이 높아질 수 있어 사용에 유의하여야 한다. 나는 프로젝트 구현시 Extension Method를 DateTime formatting을 위해 사용하거나 Enum Type에 대한 객체를 생성해 두고 요소별로 분기처리를 수행할 때 주로 사용..

Data Science/Data Analysis

상관관계(Correlation)와 인과관계(Causation)

상관관계(Correlation)를 인과관계(Causation)와 혼동하지 않도록 주의해야 한다. 변수 x는 변수 y를 예측할 때 유용할 수 있지만 이것이 x가 y의 원인이 된다는 의미는 아니기 때문이다. 또한 x가 y의 원인이 될 수 있지만 이와 동시에 y가 x의 원인이 될 수도 있다. 또는 둘 사이의 관계가 연구자가 상상했던 단순한 인과관계보다 더 복잡할 수도 있다. 실제 사례로 예를 들어보자. 2014년경 건보공단은 담배회사와 손해배상 청구 소송을 진행한 적이 있다. 내용은 담배회사의 담배 구조적 설계 결함과 담배회사의 불법행위로 3,465명의 흡연자가 폐암 등에 걸렸고, 공단은 이들에게 보험급여로 533억여 원을 지출했다고 주장한 것이었다. 공단 측 귀무가설과 대립가설을 아래와 같다. 편의상 간략하..

Languages/Dart(Flutter)

[Flutter] BuildContext와 Builder

Flutter를 이용하여 개발한 지 시간이 꽤 지났지만 아직 BuildContext에 대해 정확히 알지 못한 채 진행해 왔던 것 같다. BuildContext는 Stateless와 Stateful 위젯 모두에서 사용되며, Dialog를 띄울 때와 화면 높이, 너비를 알아낼 때도 사용되는 등 자주 만나게 되는 만큼 정리해 보고 넘어가려 한다. BuildContext @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('Demo')), body: Builder( ... 이하 중략 override 메소드인 build는 구현한 UI 위젯들을 화면에 출력될 수 있도록 리턴한다. BuildCon..

Languages/Dart(Flutter)

[Dart] 반복문 심화(map, reduce, fold)

map map은 forEach와 유사하게 동작한다. map과 forEach는 List의 element를 e변수에 차례대로 받아오고 element 값을 자리의 파라미터 값을 중괄호 안쪽의 기능수행 영역에서 사용할 수 있다. 다만 map 함수는 return 값을 반환할 수 있고 반환된 모든 값을 차례대로 변수에 저장할 수 있다는 차이가 있다. void main() { List colors = ['red', 'orange', 'yellow', 'green', 'blue']; // forEach loop colors.forEach((e) { print(e); }); // map loop final result = colors.map((e){ return '${e} is color'; }); } 하지만 map의 ..

AlienCoder
외부 저장소
loading