IT News 243

Dart 언어에서 implements 예제

Using implements 클래스 상속은 extends 를 사용하지만 implements 와 차이가 있습니다. implements 를 사용하는 경우는 클래스의 모든 변수와 함수 등을 모두 상속받는 것이 아니라 단지 타입을 상속 받기 위한 것인데요. implements 하게되면 implements 클래스의 함수 등을 구현해주어야 합니다. 인터페이스(interface) 처럼 말이죠. bird(새) 와 duck(오리) 클래스를 implements 해야하는 경우가 있다고 가정해보겠습니다. 둘다 모두 animal(동물)입니다. bird 와 duck 은 모두 날 수(fly) 있지만 duck 은 swim(수영)할 수 있습니다. 아래의 예제 코드를 확인하세요. class Animal {} // behaviors a..

Dart 상속(Inheritance)과 믹스인(Mixins) : extends, with

Dart 에서는 클래스 상속을 할때에는 extends 키워드를 사용합니다. Spacecraft 라는 클래스가 있고 이 클래스를 상속받는 Orbiter 클래스가 있습니다. class Spacecraft { String name; DateTime? launchDate; // Read-only non-final property int? get launchYear => launchDate?.year; // Constructor, with syntactic sugar for assignment to members. Spacecraft(this.name, this.launchDate) { // Initialization code goes here. } // Named constructor that forwards ..

jquery each 에서 시간 간격(interval) 효과를 사용해보았습니다.

jquery 를 사용하면서 선택된 여러개의 데이터들을 한번에 이벤트를 주는 경우가 있습니다. 예를 들어서 smsCheck 라는 클래스 이름을 가진 체크 박스가 있다고 생각해 보십시오. 그리고 선택된 체크박스에 대해서만 a 태그로 된 sendSMSBtn 클래스를 가진 버튼이 있다고 생각해 보십시오. 그러면 이 때 선택된 체크박스에 대해서만 해당 테이블 같은 라인에 있는 버튼을 일괄적으로 클릭 이벤트를 발생시켜 보겠습니다. 그런데 문제점은 각 클릭된 이벤트들이 순식간에 일어났을 경우가 문제 입니다. 서버에서는 동시에 여러개의 ajax 관련 내용이 실행이 된다고 했을 경우에 문제가 될 여지가 있어 보입니다. 따라서 jqury를 사용할때 each 문장에서 각 개별적으로 이벤트를 시간적으로 여유를 두고 클릭 이벤..

IT News/jQuery 2022.03.03

Dart 에서 Sound null safety 예제(example)

변수명 옆에 물음표(?)를 붙이면 그 변수는 null 값이 될 수 있다는 것을 의미하는데요. DateTime? launchDate; 여기에서 launchDate 값이 null 이 될 수 있습니다. 이렇게 선언한 이유는 값이 할당되지 못하는 경우가 있기 때문인데요. 예를 들어서 우주 탐사선인 보이저호가 1977년 9월 5일에 발사가 되었는데요. 보이저3호는 아직 발사일이 정해지지 않았습니다. 따라서 발사일인 launchDate 값은 null 이 될 수 있습니다. 아래의 예제를 확인해 보세요. class Spacecraft { String name; DateTime? launchDate; // Read-only non-final property int? get launchYear => launchDate?...

Dart : DateTime 날짜 시간

DateTime 값은 그냥 날짜를 지정하면 않되고 now 함수 또는 utc 또는 parse 함수를 사용해야합니다. final now = DateTime.now(); final berlinWallFell = DateTime.utc(1989, 11, 9); final moonLanding = DateTime.parse('1969-07-20 20:18:04Z'); // 8:18pm print(berlinWallFell.year); // 1989 print(berlinWallFell.month); // 11 print(berlinWallFell.day); // 9 print(moonLanding.hour); // 20 print(moonLanding.minute); // 18 출처: https://api.dar..

플러터(flutter) dart 언어에서 Non-nullable 타입, 물음표가 있는 이유? null safety

다트(dart) 언어에서는 널(null) 값을 사용하지 않도록 하게 되어있습니다. 그런데 null 값을 사용해야하는 경우가 있는데요. 아래 코드에는 int 로 선언된 변수 a 를 보시면 int 옆에 ? 표가 있는데요. 그 의미는 a 가 null 이 될 수 있다라는 것을 의미합니다. void main() { int? a; a = null; print('a is $a.'); } 그래서 a = null; 이 가능합니다. 즉 변수타입 옆에 물음표(?)가 있는 변수들은 null 이 될 수 있다라는 것을 의미합니다. 아래의 링크는 참고 주소입니다. https://dartpad.dev/workshops.html?webserver=https://dartpad-workshops-io2021.web.app/null_saf..

Flutter 앱 권한(permission) 요청하기

플러터에서 간단한 샘플 앱을 만들어 보았는데요. 테스트는 컴퓨터에서만 하다가 최종적으로 안드로이드 폰에서 실행을 해보았는데요. 그런데 권한 문제 때문에 실행이 정상적으로 되지 않았습니다. 예를 들어서 인터넷으로 세계 시간을 가져오는 코드인데요. 인터넷 접속 권한이 없으니 데이터를 가져오지 못했습니다. 그래서 의도하지 않은 에러가 발생하게 되었습니다. 그래서 권한 즉 Permission 를 사용해보게 되었습니다. 아래와 같은 명령어로 간단한 예제 어플을 permission 을 생성하게 되었습니다. flutter create 프로젝트명 flutter pub add permission_handler flutter pub get 참고로 프로젝트명과 패키지 이름이 같은 경우에는 패키지가 설치가 않되는 경우가 있습..

윈도우 10 에서 인터넷 익스플로러 (Internet Explorer 11)를 재설치 또는 사용하도록 하는 방법

인터넷 익스플로러가 이미 설치되어 있는 경우라면 아래와 같은 경로에 실행파일이 있어야 합니다. C:\ProgramFiles\Internet Explorer\iexplore.exe 그런데 iexplore.exe 파일이 없다면 윈도우가 업데이트 되면서 엣지(edge) 브라우저만 활성화가 되었을 것입니다. Internet Explorer 11을 다시 사용하도록 설정하려면 파워쉘(power shell) 또는 cmd창을 관리자 권한으로 실행합니다. dism /online /Add-Capability /CapabilityName:Browser.InternetExplorer~~~~0.0.11.0 위의 명령어를 입력하고 엔터를 누르면 아래와 같이 화면이 나오게 됩니다. 100% 가 되면 컴퓨터를 재부팅하게 될지 물어보..

IT News/Computer 2022.02.15

VSCode 에서 설정파일 변경하기 : 에디터 가로 사이즈 변경 및 글자 수 변경(word wap)

VSCode 에서 설정변경은 setting.json 파일을 수정해야 합니다. 해당 파일을 열기 위해서 Ctrl + P 키를 누르면 아래의 이미지와 같이 상단 중앙에 검색할 수 있는 입력창이 나오는데요. 여기서 settings.json 을 입력하고 선택을 하면 설정파일을 수정할 수가 있습니다. 기본적으로 설정 내용을 변경하러 들어가보면 아래와 같이 editor.rulers 부분이 나오는데요. VSCode 에디터에서 우측에 새로로 된 실선으로 글자 수가 넘어가게 되면 자동으로 줄 바뀜이 되는 선을 조절 할 수가 있습니다. 현재는 값이 80 입니다. "editor.rulers": [ 120 ], editor.rulers 의 값을 80 에서 120 으로 변경하면 아래의 이미지와 같이 실선이 더 우측으로이동한 것..

IT News 2022.01.23

오래된 노트북 발열 때문에 컴퓨터가 먹통(프리징 현상)이 되는 경우 해결방법 : CPU 부스터 비활성화

노트북의 방열팬이 돌지 않거나 먼지가 많이 껴있는 경우에 노트북의 CPU 온도를 적절히 식히지 않기 때문에 CPU 의 온도가 올라가는 경우가 있습니다. 이런 경우에 컴퓨터가 갑자기 멈추는 현상이 생깁니다. 물론 먼지가 노트북 쿨링팬을 청소해주는 것으로도 해결이 가능하지만 그럼에도 불구하고 조금이라도 부하가 될만한 프로그램을 실행하게 되면 노트북의 쿨링팬이 빠르게 돌게되고 그럼에도 불구하고 노트북 하단의 CPU 부분이 엄청 뜨거워집니다. 그렇게 되면 노트북의 마우스나 키보드가 전혀 먹히지 않고 멈춰있는 현상 즉 프리징 현상이 나타나게 됩니다. 저도 여러가지 방법을 시도해봐도 해결방법을 못찾고 노트북을 새로 사야할지 고민을 하게 되었습니다. 그런데 CPU 에 부스터를 비활성화 하는 방법을 찾았고 그 방법을 ..

IT News/Computer 2022.01.23