전체 글 썸네일형 리스트형 자바 템플릿 메소드 패턴 뤼튼의 검색 결과를 통해 얻은 코드 예시 ```java // 추상 클래스: PizzaMaker abstract class PizzaMaker { // 템플릿 메서드: makePizza public final void makePizza() { prepareDough(); addToppings(); bakePizza(); } // 도우 준비 단계 protected void prepareDough() { System.out.println("도우를 준비합니다."); } // 토핑 추가 단계 (추상 메서드) protected abstract void addToppings(); // 피자 굽기 단계 protected void bakePizza() { System.out.println("피자를 굽습니다."); } }.. 더보기 SELinux 설정하기 with SELinux Boolean SELinux 는 Linux의 보안을 강화해 주는 보안 강화 커널이고 zero-day 공격 및 buffer overflow 등 어플리케이션 취약점으로 인한 해킹을 방지해 주는 핵심 구성요소이다. 특정 서비스가 SELinux 때문에 동작하지 않는다면 SELinux 를 끄기 보다는 해당 서비스가 SELinux 하에서 잘 동작하도록 설정을 수정하는걸 권장한다. 접근 통제 디렉터리나 파일, 네트워크 소켓 같은 시스템 자원을 적절한 권한을 가진 사용자나 그룹이 접근하고 사용할 수 있게 통제하는 것을 의미함 접근 통제에서는 **시스템 자원을 객체(Object)**라고 하며 자원에 접근하는 **사용자나 프로세스는 주체(Subject)**라고 정의함 즉, /etc/passwd 파일은 객체이고 이 파일에 접근해서 암호를.. 더보기 nfs 구성 nfs 네트워크에 파일을 저장하는 메커니즘 사용자가 원격 컴퓨터에 있는 파일 및 디렉토리에 접근할 수 있고 해당 파일 및 디렉토리가 로컬에 있는 것처럼 처리하도록 허용하는 분산 파일 시스템 즉, 다른 컴퓨터의 파일 시스템을 자기 것처럼 사용할 수 있음nfs 활용성 사설망 내부에 nfs-server를 생성 후 같은 네트워크의 client들이 접근해 공통으로 사용하는 데이터를 사용한다 (ex : docker image, os image, rpm package …) nfs 구성도 nfs-server 구성옵션 설명 ro 읽기 전용 (default) rw 읽기 쓰기 root_squash client의 root 권한 무시, server nobody 권한으로 매핑시킴 (default) no_root_squash cl.. 더보기 iscsi 구성 - with multipath ISCSI (Internet Small Computer System Interface) 컴퓨터 환경에서 데이터 스토리지 시설을 이어주는 IP 기반의 스토리지 네트워킹 표준 IP 망을 통해 SCSI 명령을 전달함으로 인트라넷을 거쳐 데이터 전송을 쉽게 하고 먼 거리에 걸쳐 스토리지를 관리하는데 쓰임 근거리, 원거리, 인터넷 망을 통해 데이터를 전송하는 데 쓰이며 위치에 영향을 받지 않음 이런 ISCSI를 이용해 SAN을 구축함 SAN (Storage Area Network) 여러 서버 또는 컴퓨터에서 액세스할 수 있는 스토리지 디바이스 네트워크로, 스토리지 공간의 공유 풀을 제공함 네트워크의 각 컴퓨터는 컴퓨터에 직접 연결된 로컬 디스크처럼 SAN 스토리지에 액세스할 수 있음 ISCSI 용어 Target .. 더보기 토익 성적표 출력 유의사항 토익은 성적표를 pdf 로 주지 않아 출력을 해야한다. 그래서 많이들 모두의 프린터를 이용해 pdf로 받는것 같다. 근데 이것도 겁나 귀찮다. 가상머신 깔고 연동하고.. (컴공이지만 너무 귀찮아 보여 그냥 바깥에서 프린트 하러 나왔다) 하지만 중요한 점이 있다. 공유프린터는 또 보안상의 이유 어쩌구 하면서 출력을 못한다. 즉, 웬만한 피씨방에서는 출력이 안된다. 아니면 꼭 전화해서 개별 프린터기냐고 물어보자... 난 비맞으며 찾다가 결국 근처 문구점에 가서 출력했다... 너무 춥고 힘들었따. 더보기 Dart를 빠르게 알아보자 - class! #2 1. Abstract Class! abstract class Human { void walk(); } enum House { gyu, hyun } class Player extends Human { House name; int power = 130; final String neverChange; Player({required this.name, required this.power, required this.neverChange}); Player.createGyuFamily({required House name, required int power}) : this.name = name, this.power = power, this.neverChange = 'man'; Player.clone(Player pl.. 더보기 Dart를 빠르게 알아보자 - class! #1 1. Class! class Player { String name = "gyugyu"; int power = 130; final String neverChange = "man"; void sayHello() { print("Hi my name is $name and i'm $neverChange"); } } void main() { var player = Player(); print(player.name); player.name = "hun"; print(player.name); player.sayHello(); } class [class 명]의 형식으로 기본 class를 생성할 수 있다. class의 property들은 타입을 명시해야 한다. (var를 사용할 수 없는건 아니지만 타입 명시를 권고함) .. 더보기 Dart를 빠르게 알아보자 - function! 1. Defining Fuction! (fat arrow syntax) void hihi(String name) { print("hihi my name is $name"); } String hihi2(String name) => "hihi my name is $name 22"; void main() { hihi("hyun!"); print(hihi2("hyun22!")); } C와 유사한 형식의 함수 꼴을 사용한다. return 타입을 함수명 앞에서 정의한다. 단순히 return만 하는 함수인 경우 위와 같이 => 을 사용해 한줄로 정의할 수 있다. 2. named parameter! String hihi2({String? name, required int age, String country = "kor.. 더보기 이전 1 2 3 4 5 다음