전체 글
똑똑해지고 싶으세요? “운동하세요”
운동은 근육만 단련시키는 게 아니다. 뇌도 단련시킬 수 있다./사진설명=클립아트코리아 운동은 근육만 단련시키는 게 아니다. 뇌도 단련시킬 수 있다. 최근 실제로 운동의 학습능력 향상 효과가 십수년 뒤에도 지속된다는 것을 증명해 낸 연구 결과가 나왔다. 미국 미네소타대 연구팀이 18~30세 성인 2747명을 대상으로 트레드밀 위에서 달릴 수 있을 만큼 달리게 한 뒤, 20년 후 똑같이 달리게 했다. 그리고 5년 뒤 어휘력, 새로운 정보를 이해하고 처리할 수 있는 능력, 사고력을 검사했다. 그 결과, 20년 동안 운동 능력이 떨어지지 않은 사람일수록 두뇌 기능도 놓은 것으로 확인됐다. 연구팀은 "심폐능력이 유지되면 두뇌로 혈액 공급이 잘 돼 사고력 등도 건강하게 유지된 것으로 보인다"고 했다. 운동이 뇌에 ..
[JS] 모니터/브라우저 기준 팝업창 가운데 띄우기 (window.open)
1. 단일 모니터 function open_win(url, name, width, height) { // name : 팝업윈도우_이름 // width : 팝업창 가로 크기 // height : 팝업창 세로 크기 var popupWidth = width; var popupHeight = height; // window.screen.width : 윈도우의 가로 크기 // window.screen.height : 윈도우의 세로 크기 var popupX = Math.round((window.screen.width/2) - (popupWidth/2)); var popupY = Math.round((window.screen.height/2) - (popupHeight/2)); // 윈도우 팝업창의 스타일 지정 va..
테드 창이 본 AI, "지금 우리가 가진 기계에겐 의식이 없다"
존경하는 작가 테드 창이 파이낸셜 타임스( FT)의 AI 에디터인 마두미타 무르지아( Madhumita Murgia, 어느 쪽 이름인지 짐작이 안 가는...)와 나눈 인터뷰. 아마도 Lunch with FT 라는 고정란이 있는 듯 합니다. 저명 인사들과 데스크 급 기자들이 점심 식사를 함께 하며 대화를 나눈다는 형식인 듯. 음식 이야기가 꽤 상세히 나옵니다. 더듬더듬 내용을 읽어보다가 그냥 번역을 해 버리기로 했습니다. 물론 번역기의 도움을 받았고, 받았는데... 어느 정도는 괜찮았지만 중간 중간 어이없는 오역이 꽤 있어서 그걸 다듬어서 읽기 편하게 한 정도입니다. 혹시 필요하신 분들에게 도움이 되길. 원제는 아래 있는대로 Sci-fi writer Ted Chiang: "The machines we ha..
1K 1천 1.1천 같이 숫자를 포맷하기
1천, 1만, 1.1만 숫자 표기가 길어질 때가 있다. 짧게 단위를 붙여서 표기해보자 const compactNumberFormatter = new Intl.NumberFormat('ko', { notation: 'compact', }); function compactNumber(number: number): string { return compactNumberFormatter.format(number); }
Angular 생명주기(Lifecycle)와 훅(Hook) 메소드
1. 생명주기 Angular의 컴포넌트와 디렉티브는 생명주기(Lifecycle)를 갖는데, 생명주기는 Angular가 컴포넌트와 디렉티브를 생성하여 소멸하기까지의 과정을 관리하는 것을 의미합니다. 이와 관련하여 생명주기 이름 앞에 ng가 붙은 훅(Hook) 메소드를 제공하는데 이를 구현하여 생명주기의 각 단계에서 처리해야하는 내용을 정의할 수 있습니다. Angular는 다음의 순서대로 생명주기를 관리합니다. ※ 디렉티브 생명주기 훅 메소드 디렉티브도 컴포넌트와 동일한 생명주기 훅 메소드를 사용합니다. 하지만 디렉티브에는 뷰가 없기 때문에 뷰와 관련된 생명주기인 ngAfterViewInit, ngAfterViewChecked, ngAfterContentInit, ngAfterContentChecked 메소..
JavaScript 접속기기 모바일/웹 여부 확인
const isMobile = () => { return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); }; 모바일일 경우 true, 아닐 경우 false
글 작성 경과 시간 표시 / elapsedTime (방금 전, 몇 분 전 작성) / Javascript
코드 function elapsedTime(date) { const start = new Date(date); const end = new Date(); const diff = (end - start) / 1000; const times = [ { name: '년', milliSeconds: 60 * 60 * 24 * 365 }, { name: '개월', milliSeconds: 60 * 60 * 24 * 30 }, { name: '일', milliSeconds: 60 * 60 * 24 }, { name: '시간', milliSeconds: 60 * 60 }, { name: '분', milliSeconds: 60 }, ]; for (const value of times) { const betweenTim..
Angular 보조 라우터 / router-outlet
Angular 보조 라우터 앵귤러의 라우터는 몇가지 특징이 있다. 컴포넌트기반 라우팅설정 직관적인 라우팅 설계 가드(Guard) 로 조정 하위 라우팅 기존에 알고있는 하위 라우팅 말고도 보조라우터라는것이 있어 알아보자 Angular 라우터 Angular 의 라우터는 path에 대해 컴포넌트를 정의하고 컴포넌트가 로드될 위치를 RouterOutlet 디렉티브로 정의한다. 보조 라우터 path 를 정의할 때 outlet 이라는 속성에 이름을 부여할 수 있다. @NgModule({ imports: [ RouterModule.forRoot([ { path: 'foo', component: FooComponent }, { outlet: 'outlet1', path: 'bar', component: BarCompo..
git config setting / store credential
git config란, git에 대한 설정 정보이다. git 전체 config 리스트 보기 git config --global --list git config 설정하기 (이름, 이메일) git config --global user.name "이름" git config --global user.email "이메일" -> global : 전역적인 설정 git config 삭제하기 git config --unset --global user.name git config --unset --global user.email Credential.helper - Cache id, password를 짧은 시간동안 반복적으로 입력하는 일을 피할 때 사용 git config --global credential.helper c..
How to Run Multi-Container Applications with Docker Compose (Docker Compose Install)
Installation Docker Compose relies on Docker Engine. So before installing it make sure you have Docker Engine installed on your system. On desktop systems like Docker Desktop for Mac and Windows, Docker Compose is included as part of those desktop installs. You don’t need to install it manually. On Linux systems, you’ll need to Install Docker Engine Run the following command to download the curr..