VSCode – 터미널에서 실행하기

터미널에서 바로 VSCode를 실행할수 있는 방법!

프로젝트 폴더로 이동하여 code . 입력으로 VSCode를 실행할수 있습니다.

하지만 그전에 먼저 해야할일이 있는데, 우선 VSCode를 실행하여 Command + Shift + P 다음 shell 을 입력합니다.

이제 다시 프로젝트 폴더에 code . 명령어를 실행합니다.

Flutter – SizedBox

https://api.flutter.dev/flutter/widgets/SizedBox-class.html

사이즈를 강제하는 Widget으로 부모 Widget이 허용하지 않을경우 무시된다고 한다. 사용 용도를 확인하기위해 많이 검색해보았지만 실제 개발할때 사용되는 방법은 widget간 간격을 조정할때 많이 사용된다고 하고 그 이외에는 다른 Widget을 사용하는것 같아.

투명한 박스 생성

아무런 속성을 추가하지 않고 높이:50, 너비:50인 투명한 박스를 생성한다.

return SizedBox(
  width: 100,
  height: 100,
);

색상이 들어간 박스 생성

SizedBox에 색상을 바로 설정할수없고, 다른 widget의 속성으로 설정할수 있다.

return SizedBox(
  width: 50,
  height: 50,
  child: Container(
    color: Colors.red,
  ),
);

SizedBox는 사이즈 설정에 최적화되어 있고 다른 속성을 추가하기위해서는 다른 widget을 사용해야한다.

만약 빨간색 박스가 필요하다면 아래와 같이 Container widget을 사용하는것이 효율적으로 보인다.

return Container(
  width: 50,
  height: 50,
  color: Colors.red,
);

SizedBox widget은 Container widget에 비해 적은 리소스를 사용하므로 widget끼리의 간격조정에 많이 사용되는것으로 보인다.

body: Column(
  children: [
    BoxWidget(),
    SizedBox(height: 50,),
    BoxWidget(),
  ],
)

Flutter – SnackBar

import 'package:flutter/material.dart';

void main() => runApp(const SnackBarDemo());

class SnackBarDemo extends StatelessWidget {
  const SnackBarDemo({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'SnackBar Demo',
      home: Scaffold(
        appBar: AppBar(
          title: const Text('SnackBar Demo'),
        ),
        body: const SnackBarPage(),
      ),
    );
  }
}

class SnackBarPage extends StatelessWidget {
  const SnackBarPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Center(
      child: ElevatedButton(
        onPressed: () {
          final snackBar = SnackBar(
            content: Text('Yay! A Snack Bar!'),
          );
          ScaffoldMessenger.of(context).showSnackBar(snackBar);
        },
        child: const Text('Show SnackBar'),
      ),
    );
  }
}

SnackBarAction 추가하기

onPressed: () {
  final snackBar = SnackBar(
    content: Text('Yay! A Snack Bar!'),
    action: SnackBarAction(
      label: 'Close',
      onPressed: () {
        ScaffoldMessenger.of(context).hideCurrentSnackBar();
      },
    ),
  );
  ScaffoldMessenger.of(context).showSnackBar(snackBar);
},

Cafe24 호스팅, 가비아 도메인 연결

타사의 도메인을 사용할경우 cafe24에서 대표 도메인을 변경이 필요하며 도메인을 구입한 서비스의 네임서버를 변경해야한다.

Cafe24 대표 도메인 변경

나의서비스관리 > 호스팅관리 > 기본관리 > 도메인 연결관리

Cafe24 네임서버

  • 1차 ns1.cafe24.com 175.125.93.134
  • 2차 ns1.cafe24.co.kr 112.175.246.232
  • 3차 ns2.cafe24.com 175.125.93.144
  • 4차 ns2.cafe24.co.kr 112.175.247.232

도메인 구매처의 네임서버 변경

도메인 통합 관리툴 > 도메인 정보 변경 > 네임서버

네임서버를 변경하면 적용되는데 시간이 걸릴수도 있으므로 차분히 기다린다.

Cafe24 무료 SSL 인증서 등록

무료 SSL 인증서 발급

ZeroSSL에서 무료로 사용할수 있는 인증서 발급 절차입니다.

가입이 필요합니다. 가입시 많은 정보를 요구하지 않고 이메일과 비밀번호만 입력하면 가입 가능합니다.

가입을 하고나면 Dashboard에서 New Certificate 버튼을 눌러 인증서를 생성할수 있습니다.

Step에 따라 정보를 입력하여 진행하면 되는데 domain에 대한 소유 확인을 진행하게 되는데, 저는 이메일 인증으로 진행하였습니다.

다음 step으로 넘어가면 인증서를 다운로드 받을수 있습니다.

사용할 파일은 cerificate.crt, private.key 두개의 파일입니다.


Cafe24에 인증서 등록

나의서비스관리 > 인증서관리 > 외부인증서 관리 로 이동합니다.

인증서 (SSL CRT), cerificate.crt 파일의 내용을 입력합니다.

인증서 확인을 눌러 인증서에 대한 확인작업을 진행합니다. (확인이 되면 SSL 인증서 정보란에 표시됩니다.)

개인티 (Private Key), private.key 파일의 내용을 입력합니다.

비밀번호는 입력하지 않아도 됩니다.

신청을 하면 1~3일정도 소요됩니다. (1시간 후에 확인했을때 적용된걸 확인했습니다.)

다시 ZeroSSL로 돌아와서 인증서 등록 확인을 완료합니다.

SSL 적용 완료!

CentOS firewall-cmd 사용법

firewall-cmd 설치

// install
root> yum install -y firewalld

// firewalld 등록, 시작
root> systemctl unmask firewalld
root> systemctl enable firewalld
root> systemctl start firewalld

열려있는 포트 확인

root> netstat -tnlp

방화벽 설정 확인

root> firewall-cmd –list-all

포트 열기

// 오픈할 포트 추가
root> firewall-cmd –permanent –zone=public –add-port=8080/tcp

// 방화벽 설정 reload
root> firewall-cmd –reload

포트 닫기

// 닫을 포트 지정
root> firewall-cmd –permanent –zone=public –remove-port=8080/tcp

// 방화벽 설정 reload
root> firewall-cmd –reload

포트가 열려있는지 확인하는 방법

local> nc -z 0.0.0.0 8080