반응형
✅ 1.매크로 종류선언적 매크로 (macro_rules!)템플릿 기반으로 토큰을 매칭해 코드 생성, 반복($( )*), 선택($( ) ?), 캡쳐($ident:expr 등) 지원, 컴파일 타임에 단순 반복/패턴 생성에 최적함프로시저 매크로 (procedural macros)세 가지 형태: derive 매크로(구조체*열거형에 자동 impl 생성), 속성(attribute), 매크로(아이템에 추가 동작), 함수형(function-like) 매크로(my_macro!(...))더 강력한 토큰스트림을 받아 파싱·분석·출력 가능, 보통 proc-macro, syn, quote, proc-macro2 사용✅ 2. macro_rules! 기본 예제// 간단한 vec! 비슷macro_rules! my_vec { (..
✅ 1.레이아웃 만들기 레이아웃(layout): 앱, 전체 공통 틀(Header/Footer/공통 meta 등) 기본 파일은 app/views/layouts/application.html.erb Rails는 컨트롤별 레이아웃도 자동으로 찾음(없으면 application 사용)yield: 현재 렌더링 되는 뷰(액션의 뷰)를 삽입하는 자리, 기본 yield 하나는 뷰 전체가 들어감content_for / yield(:name): 특정 위치(ex. head, scripts, title)로 뷰에서 내용을 주입할 때 사용페이지별 CSS/JS, 타이틀 등 주입에 유용함✅ 2. 기본 application.html.erb 예제아래 템플릿에는 CSRF, 메타, 기본 스타일/스크립트 로드, 플래시 표시, yield 와 c..
1️⃣ Perl 주석Perl 에서 한 줄 주석을 #을 사용해 그 줄까지 주석처리할 수 있습니다. 여러 줄 주석을 따로 문법이 필요 없으며 여러 줄에 #을 하나씩 붙여야 합니다.# 한줄 주석임 print "Hello, World\n"; # 이 부분 에도 주석 가능 여러 줄 주석 처럼 보이게 하기 위해선 아래 처럼 여러 줄에 #을 붙입니다.# 여러줄 주석 # Perl은 선언 시 앞에 $를 붙인다 # Perl은 출력 시 print를 사용2️⃣ 들여 쓰기Perl에서 들여쓰기는 강제하지 않지만 가독성을 위해 대부분 2칸~4칸을 들여쓰기 하는 경우도 있습니다. 보통 2~4칸 들여쓰기를 권장합니다.if ($age >= 20) { print $fh "성인입니다.\n";} else { print $fh "미성..
✅ 1. 순수 함수 (Pure functions)순수 함수는 같은 입력에 같은 출력, 외부 상태를 변경하거나 부수효과(side-effect)를 만들지 않는 함수 입니다. 부수효과는 애플리케이션의 경계(I/O, DB, println 등)로 몰아두고 내부 로직은 순수하게 유지하면 테스트와 재사용성에 좋습니다.object PureFunctionExample { // 순수 함수 def add(a: Int, b: Int): Int = a + b; // 비순수 (부수효과 포함) 예시 - 테스트/재사용성 떨어지는 코드 def addAndPrint(a: Int, b: Int): Int = { val r = a + b println(s"result = $r") // 부수 효과 } ..
✅ 1. Marven을 사용한 프로젝트 생성하기먼저 Marven을 사용항 프로젝트를 만들고 그다음 Gradle을 사용해 간단한 애플케이션을 만들어보겠습니다. Maven 설치maven 공식사이트에서 다운압축 풀고 환경변수 MAVEN_HOME 설정 후 PATH 추가터미널에서 mvn -v 로 버전확인프로젝트 생성 mvn archetype:generate \ -DgroupId=com.example \ -DartifactId=demo-app \ -DarchetypeArtifactId=maven-archetype-quickstart \ -DinteractiveMode=false프로젝트 구조demo-app/├── pom.xml└── src ├── main │ └── java │ ..
✅ 1. 화살표 함수란?Javascript의 화살표 함수(Arrow Function)은 ES6(ECMAScript 2015)에 도입된 간결한 함수 표현식 문법으로 function 키워드 대신 => (화살표)를 사용하여 함수를 작성합니다. 주로 익명 함수, 콜백 함수 작성 시 더 짧고 간결하게 쓰기 위해 사용합니다.특징function 키워드 없이 작성 가능 -> 코드의 간결함함수 내부 this가 상위 스코프의 this를 그대로 사용익명 함수가 주로 쓰임 -> 이벤트 핸들러, 콜백에 적합arguments 객체가 없음 (필요시 나머지 매개변수 사용)✅ 2. 기본 문법화살표 함수는 기본적으로 function 대신 => 기호를 사용해 함수를 정의합니다. 함수 몸체가 한 줄이라면 중괄호( { } )와 return ..
✅ 1. NextJS란Next.js란 React 기반의 풀스택 웹 프레임워크로, 서버 사이드 렌더링(SSR)과 정적 사이트(SSG)를 비롯한 라우팅, API 서버 기능을 지원하는 언어입니다. Next.js의 특징으로는 다음과 같습니다특징서버사이드 렌더링(SSR): React 앱을 서버에 먼저 렌더링해 HTML을 클라이언트에 보내줌 -> 초기 로딩속도 향상 + SEO(검색엔진 최적화)에 유리정적 사이트 생성(SSG): 빌드 시 HTML을 미리 생성 -> CDN에 올려두면 빠른 페이지 로딩이 가능하이브리드 렌더링: 페이지별로 SSR,SSG,CSR(클라이언트 사이드 렌더링) 선택 가능파일 기반 라우팅: /pages 폴더에 파일을 생성 시 자동으로 라우팅 처리API Routes: pages/api 폴더 안에 ..
🚀 1. 인덱스이번시간에는 MongoDB에 Node.js를 세팅해 직접 Node.js에서 MongoDB를 실행해 보겠습니다. 먼저 기존 프로젝트에 Node.js를 세팅해줍니다. 아래 명령어로 Node.js를 세팅해주세요mkdir node-mongocd node-mongonpm init -y node 프로젝트를 생성했다면 아래 mongodb 라이브러리를 설치하고 프로젝트 루트에 index.js파일을 생성해 다음과 같은 코드로 MongoDB에 연결합니다.npm install mongodbconst { MongoClient } = require("mongodb");async function main() { const uri = "mongodb://localhost:27017"; // 로컬 MongoDB 주..
✅ 1. 생성자(Constructor)생성자는 클래스 이름과 같은 이름의 함수로, 객체 생성 시 호출됩니다. 필드를 초기화 하거나 필요한 작업을 수행합니다class Person { String name; int age; // 기본 생성자 Person(String name, int age) : name = name, age = age { print('🚀 기본 생성자 호출: name=$name, age=$age'); }}void main() { var p = Person("Alice", 25); // Result: 🚀 기본 생성자 호출: name="Alice", age=25}✅ 2. 축약 생성자(Shorthand Constructor)축약 생성자는 매개변수와 필드가 동일한 이름일 시 t..
✅ 1. app.get(path, callback)express에서 app.get은 GET 요청 처리와 주로 서버에서 데이터를 조회할 때 사용합니다.특징URL의 쿼리스트링(?key=value)이나 URL 파라미터(/:id)를 붙여서 요청요청 바디(body)는 거의 사용 🚫 app.get("/users", (req, res) => { res.send("All User List");});app.get("/users/:id", (req, res) => { res.send(`특정 사용자 조회: ${req.params.id}`);});사용 예: 게시판 목록 조회, 상품 검색, 특정 글 보기✅ 2.app.post(path, callback)express에서 app.post는 POST 요청 처리와 주로 데이터 ..