터미널에서 바로 VSCode를 실행할수 있는 방법!
프로젝트 폴더로 이동하여 code . 입력으로 VSCode를 실행할수 있습니다.
하지만 그전에 먼저 해야할일이 있는데, 우선 VSCode를 실행하여 Command + Shift + P 다음 shell 을 입력합니다.
![](https://www.craft.pe.kr/wp-content/uploads/2023/01/image.png)
이제 다시 프로젝트 폴더에 code . 명령어를 실행합니다.
터미널에서 바로 VSCode를 실행할수 있는 방법!
프로젝트 폴더로 이동하여 code . 입력으로 VSCode를 실행할수 있습니다.
하지만 그전에 먼저 해야할일이 있는데, 우선 VSCode를 실행하여 Command + Shift + P 다음 shell 을 입력합니다.
이제 다시 프로젝트 폴더에 code . 명령어를 실행합니다.
sudo lsof -PiTCP -sTCP:LISTEN
확인된 포트의 PID를 확인한다.
sudo kill -9 PID
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(),
],
)
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);
},
> sudo gem uninstall cocoapods
> sudo gem install -n /usr/local/bin cocoapods
이미 설치되어 있다면 제거후 다시 설치하여 해결할수 있음.
종속성을 확인하면서 발생하는 오류로 Android Studio SDK Command-line Tools을 Install하여 해결할수 있다.
> flutter doctor –android-licenses
명령어를 입력하고 동의를 눌러 완료하면 된다.
타사의 도메인을 사용할경우 cafe24에서 대표 도메인을 변경이 필요하며 도메인을 구입한 서비스의 네임서버를 변경해야한다.
나의서비스관리 > 호스팅관리 > 기본관리 > 도메인 연결관리
도메인 통합 관리툴 > 도메인 정보 변경 > 네임서버
네임서버를 변경하면 적용되는데 시간이 걸릴수도 있으므로 차분히 기다린다.
무료 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 적용 완료!
// 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