C# – ComboBox 데이터바인딩

C# 콤보박스에 데이터를 바인딩하기
var list = new BindingList<KeyValuePair<int, string>>();

list.Add(new KeyValuePair<string, string>(0, "Select Color"));
list.Add(new KeyValuePair<string, string>(1, "Red"));
list.Add(new KeyValuePair<string, string>(2, "Blue"));
list.Add(new KeyValuePair<string, string>(3, "White"));
list.Add(new KeyValuePair<string, string>(4, "Black"));
list.Add(new KeyValuePair<string, string>(5, "Green"));

cbColor.DataSource = list;
cbColor.ValueMember = "Key";
cbColor.DisplayMember = "Value";
cbColor.SelectedIndex = 0;
콤보박스 선택하기
cbColor.SelectedValue = 3;
cbColor.Text = "Blue";
cbColor.SelectedValue = cbColor.FindString("Red");

라즈베리파이 HDMI

라즈베리파이의 HDMI에 연결된 출력장치를 켜거나 끌경우 사용하는 명령

https://www.raspberrypi.org/documentation/raspbian/applications/tvservice.md

켜기

tvservice -p
(vcgencmd display_power 1)

끄기

tvservice -o
(vcgencmd display_power 0)

모니터링

tvservice -M

-p, -o 명령의 경우 실행하면 화면이 검은색으로 변했다가 복구된다.
때문에 화면만 껐다켜는 경우는 vcgencmd display_power를 사용해야한다.

ip command

# 아이피 추가,삭제
ip addr show
ip addr add 192.168.0.10/24 dev eth0
ip addr del 192.168.0.10/24 dev eth0
# 인터페이스
ip link set eth0 up
ip link set eth0 down
# 라우팅 정보 보기
ip route show

# 게이트웨이 추가,삭제
ip route add default via 192.168.0.1
ip route del default via 192.168.0.1

# 정적 라우팅 추가,삭제
ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0
ip route del 192.168.0.0/24

mysql_native_password

auth_socket 인증을 변경

ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '변경할비밀번호';

권한정보 업데이트

flush privileges;

오류처리1

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

비밀번호 처리방식 변경

SET GLOBAL validate_password_policy = LOW
SET GLOBAL validate_password_length = 4

설정을 변경하기(mysql.conf)

[mysqld]
validate_password_policy=LOW
validate_password_length=4

ASUS FA506IU-HN174 윈도우10 드라이버 설치

ASUS 게이밍 노트북 FA506IU-HN174를 윈도우 업데이트를 통해서 드라이버를 설치하면 그래픽 드라이버 관련 오류들이 발생한다. 화면이 깜빡이고 갑자기 멈추고 화면이 꺼지는 현상 등이 발생한다. 또 HDMI 연결시 노트북의 화면이 나오지 않는 문제도 있다.

윈도우즈의 공용드라이버를 사용하면서 나오는 문제로 보이는데 ASUS 공식 홈페이지의 드라이버를 설치하는 것으로 해결한다.

주의할 점

  1. 윈도우10에서 지원하는 공용드라이버를 사용하지 않는다.
  2. 설치할 때 인터넷 연결을 하지 않는다.

미리 다운로드

아래 목록은 미리 다운로드 해서 USB등에 저장해둔다. AMD 칩셋드라이버를 제외하면 나머지는 최신을 받아도 될 것 같다.

NVIDIA 그래픽 드라이버
https://dlcdnets.asus.com/pub/ASUS/GamingNB/DriverforWin10/VGA/VGA_NVIDIA_ROG_N18E_W10_64_V2621144223.zip

오디오 드라이버
https://dlcdnets.asus.com/pub/ASUS/GamingNB/DriverforWin10/Audio/Audio_Realtek_DTS_ROG_DCH_W10_64_V6088951.zip

랜드라이버
https://dlcdnets.asus.com/pub/ASUS/GamingNB/DriverforWin10/LAN/LAN_ROG_Realtek_DCH_W10_64_V1003710282019.zip

터치패드
https://dlcdnets.asus.com/pub/ASUS/GamingNB/DriverforWin10/TouchPad/PrecisionTouchPad_ASUS_W10_64_V110032.zip

컨트롤러 인터페이스
https://dlcdnets.asus.com/pub/ASUS/GamingNB/DriverforWin10/ASUSSystemControlInterfaceV2/AsusSystemControlInterfaceV2_V22200.zip

DTS
https://dlcdnets.asus.com/pub/ASUS/GamingNB/AppforWin10/DTSUltraLPAPComponentDriver/DTS_Ultra_LPAP_Component_Driver_Xperi_V1323.zip

무선랜 드라이버
https://dlcdnets.asus.com/pub/ASUS/GamingNB/DriverforWin10/Wlan/WLAN_Realtek_W10_64_V2024010111.zip

AMD 칩셋 드라이버 (핵심)
최신버전 다운로드하지 말고 2020-03-03 (V26.20.14001.45004) 버전 사용
https://dlcdnets.asus.com/pub/ASUS/GamingNB/DriverforWin10/Chipset/Chipset_AMD_APU_ROG_W10_64_V26201400145004.zip

블루투스https://dlcdnets.asus.com/pub/ASUS/GamingNB/DriverforWin10/Bluetooth/Bluetooth_ROG_Realtek_DCH_W10_64_V1710193009.zip

윈도우10 설치

ISO파일을 다운로드하고 rufus를 이용해서 USB디스크를 만들어서 설치를 진행한다. windows10 pro 버전으로 설치했다. 설치를 완료가 되는시점에 인터넷 연결을 물어보는데 연결없음으로 진행한다.

AMD 드라이버 설치

Chipset_AMD_APU_ROG_W10_64_V26201400145004.zip 압축을 해제하고 파일탐색기로 보면 install.bat 파일이 있다. 그 상태에서 Alt+F > Windows PowerShell 열기 > 관리자 권한으로 Windows PowerShell 열기를 선택한다. 파워쉘 터미널이 나오면 아래 명령을 입력한다

./install.bat

다른 드라이버 설치

칩셋 드라이버외 다른것도 마찬가지로 압축을 해제하고 파워쉘(관리자권한으로 실행)로 진입해서 install.bat를 실행해서 설치한다. 간혹 installPackage.bat도 있다.

윈도우 업데이트에서 드라이버 제외

이 작업을 하지 않으면 윈도우 업데이트시 강제로 AMD 드라이버가 최신으로 변경되어 버린다. 반드시 해야하는 작업이다. 윈도우키+R을 눌러서 실행을 띄우고 gpedit.msc 를 실행해서 로컬 그룹 정책 편집기를 띄운다. 아래 경로로 이동한다

컴퓨터 구성 > 관리 템플릿 > Windows 구성 요소 > Windows 업데이트 > Windows 업데이트에서 드라이버를 포함하지 않음

Windows 업데이트에서 드라이버를 포함하지 않음을 [사용]으로 변경한다.

윈도우 업데이트

인터넷을 연결하고, 윈도우 업데이트를 진행한다.

Vino 설정 – vnc 서버설정

xubuntu에서 vino 사용을 위한 설정

1. 설치

#apt install vino

2. 설정하기

#gsettings set org.gnome.Vino notify-on-connect false
#gsettings set org.gnome.Vino disable-background false
#gsettings set org.gnome.Vino require-encryption false
#gsettings set org.gnome.Vino prompt-enabled false
#gsettings set org.gnome.Vino vnc-password 1234
#gsettings set org.gnome.Vino view-only true

3. 자동실행 등록

#cp /usr/share/applications/vino-server.desktop /etc/xdg/autostart/

4. 우분투 18.04 이상

이전버전에서는 vino를 설치하지만 우분투 18.04이상에서는 기본적으로 vino가 설치되어 있다. 따라서 설정 > share > 데스크탑 공유 켜기만 하면 된다.

daterangepicker.js

<div class="form-group">
    <div class="input-group input-group-sm" id="default-daterange">
        <input type="text" name="default-daterange" class="form-control" value="<?php echo date("Y-m-d", strtotime("-7 day")) ?> ~ <?php echo date("Y-m-d") ?>" placeholder="기간선택" style="width:200px">
        <span class="input-group-append">
            <span class="input-group-text"><i class="fa fa-calendar"></i></span>
        </span>
    </div>
</div>
<link href="/assets/plugins/bootstrap-daterangepicker/daterangepicker.css" rel="stylesheet" />
<script src="/assets/plugins/bootstrap-daterangepicker/moment.js"></script>
<script src="/assets/plugins/bootstrap-daterangepicker/daterangepicker.js"></script>
<script>
$('#default-daterange').daterangepicker({
	opens: 'right',
	format: 'YYYY-MM-DD',
	separator: ' ~ ',
	startDate: moment().subtract('days', 7),
	endDate: moment(),
	minDate: '<?php echo date("Y-m-d", strtotime("-3 year")) ?>',
	maxDate: '<?php echo date("Y-m-d") ?>',
	locale: {
        "format": "YYYY-MM-DD",
        "separator": " ~ ",
        "applyLabel": "적용",
        "cancelLabel": "취소",
        "fromLabel": "부터",
        "toLabel": "까지",
        "customRangeLabel": "사용자",
        "daysOfWeek": [
            "일",
            "월",
            "화",
            "수",
            "목",
            "금",
            "토"
        ],
        "monthNames": [
            "1월",
            "2월",
            "3월",
            "4월",
            "5월",
            "6월",
            "7월",
            "8월",
            "9월",
            "10월",
            "11월",
            "12월"
        ],
        "firstDay": 1
    }
}, function (start, end) {
	$('#default-daterange input').val(start.format('YYYY-MM-DD') + ' ~ ' + end.format('YYYY-MM-DD'));
});
</script>