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

전체 글

Data Science/Statistics

상관관계(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의 ..

Languages/Dart(Flutter)

[Dart] 외부반복(for)과 내부반복(forEach)

외부반복(for) 외부반복이란 Iterator와 같이 사용자가 직접 별도의 객체를 생성하여 명시적으로 컬렉션의 각 요소를 가져와 처리하는 방식을 지칭한다. 일반적으로 우리가 알고 있는 반복은 외부반복이며 전통적인 반복 방식으로 사용자가 직접 컬렉션의 각 요소를 반복, 순회하며 처리하고 반복문의 시작과 끝을 명시적으로 지정할 수 있다. 이 방식에서 반복의 제어는 사용자의 코드에 의해 명시적으로 관리된다. 반복 로직과 실제 비즈니스 로직이 혼재되어 코드의 가독성과 유지보수성이 감소할 수 있다. 구문의 간결성 측면에서 반복 제어 로직이 사용자의 코드에 명시적으로 포함되어 있어 명시적으로 콜백 함수를 호출해야 하기 때문에 비교적 구문이 더 길어지고 복잡하다. 병렬처리 수행 시에도 동기화에 대한 관리를 직접 해주..

Computer Science/Software Engineering

[Server] SSO(Single Sign-On)와 소셜 로그인(Social Login)

SSO(Single Sign-On) SSO(Single Sign-On)는 한 번의 사용자 인증으로 다수의 애플리케이션 및 웹사이트에 대한 사용자 로그인을 허용하는 통합 인증 솔루션이다. 최근 간편 로그인 또는 소셜 로그인(Social Login)이라는 이름으로 많은 어플리케이션과 웹 사이트에서 접할 수 있다. SSO의 가장 큰 장점은 하나의 플랫폼에서 인증이 끝나면 그 이후 로그인과 로그아웃을 반복할 필요가 없다는 간편함이다. 이러한 간편함은 사용자 경험을 개선하는 중요한 방법 중 하나가 된다. 뿐만 아니라 서비스를 제공자도 기술적, 관리적 측면에서 아래와 같은 이점이 있다. 암호 보안 강화: 하나의 강력한 비밀번호를 만들도록 권장하여 사용자의 오입력 방지와 함께 기존의 보안 관행에서 어느정도 벗어날 수..

Computer Science/IoT

웜부팅(Warm Booting)과 콜드부팅(Cold Booting)

부팅(Booting)이란 사전적으로 컴퓨터를 시작할 때 컴퓨터를 구동시킬 프로그램을 컴퓨터 스스로 불러내는 동작을 의미한다. 최근 엣지 장비를 개발하며 복구를 여러번 수행하며 마주하게 되어 작성해보았다. 웜 부팅(Warm Booting) 먼저 웜 부팅은 프로그램을 강제 종료할 때도 사용하며 시작→ 컴퓨터 끄기 → 다시 시작(R)을 선택하거나 프로그램이나 드라이버 설치완료 시 재부팅되는 것도 웜부팅이라고 할 수 있다. 또는 Ctrl + Alt + Delete를 이용할 수도 있다. 주요 부분에 전기가 통하는 상태에서 컴퓨터를 부팅시키는 것 POST 검사단계를 거치지 않아 부팅속도가 빠름 시스템을 검사하는 과정을 생략하여 부팅 시간이 빠르고, 컴퓨터에 무리를 적게 줌 웜부팅은 시스템을 검사하는 과정(POST)..

AlienCoder
외부 저장소
loading