본문 바로가기

전체 글50

[CSS] CSS 선택자(2)(기본 속성 선택자, 자식 선택자, 자손(후손) 선택자, 인접 형제 선택자, 일반 형제 선택자) 기본 속성 선택자문법 : 태그[속성이름] {}HTML 요소의 속성을 기준으로 스타일을 지정할 수 있는 CSS 기능 [CSS 코드]/* 속성값과 일치하는 태그, 요소 선택 */div[name=name2] { background: orangered;}/* 속성 안의 값이 접두사로 특정 값을 단어로 포함하는 객체 선택 *//* 즉, name1이라는 단어를 포함하고 있는 모든 객체 선택*/div[name~=name1]{ background: yellow;}/* 속성 안의 값이 특정 값으로 끝나는(접미사) 객체 선택 */div[class$=class]{ color: cyan;} [HTML 코드]div 1div 2 div 3 div 4 div1background : yellow, color : cy.. 2025. 4. 14.
[CSS] CSS 선택자(1)(전체 선택자, 태그 선택자, 클래스 선택자, ID 선택자) 전체 선택자문법 : * {}모든 태그를 선택할 때 사용문서 전체에 CSS 스타일이 적용된다. * { color: red;}해당 HTML 문서에 있는 모든 글자의 색상을 빨간색으로 지정하는 CSS태그 선택자문법 : 태그이름 {}특정 태그 요소를 선택할 때 사용특정 태그를 가진 객체에만 CSS가 적용된다. p, li { color: blue;}해당 HTML 문서에 있는 모든 p 태그와 li 태그의 텍스트 색상을 파란색으로 지정하는 CSS클래스 선택자문법 : .클래스 이름 {}특정 클래스를 가진 요소에만 CSS가 적용된다. [CSS 코드].class1 { background: gray; color: purple;} [HTML 코드] 클래스 선택자 테스트 2 클래스 선택자 테스트 3 .. 2025. 4. 14.
[HTML] 하이퍼링크 관련 태그, 폼 관련 태그 하이퍼링크 관련 태그페이지에서 해당 부분을 클릭하면 지정된 페이지로 이동하는 태그외부 사이트 연결, 문서 내부에서 이동 가능 - 외부 사이트로 이동하기 네이버 구글href : 링크한 페이지의 id 값이나 사이트 주소 지정target : 링크 페이지가 표시될 위치(새창 또는 현재창) 지정target="_blank" : 새 창target="_self" : 현재 창download : 링크한 페이지를 표시하지 않고 다운로드 하는 것rel : 현재 페이지의 관계 지정type : 페이지의 파일 유형 지정 - 내부에서 이동하기 본문내용1 본문내용2 본문내용3본문내용1의 상세내용[본문내용1] 클릭 시 같은 id(content1)를 가지고 있는 [본문내용1의 상세내용]으로 이동 폼 관련 태그 .. 2025. 4. 9.
[HTML] 미디어 관련 태그(이미지, 오디오, 비디오) 이미지 관련 태그 태그는 닫기 태그를 사용하지 않는다.웹 페이지에 사진이나 그림을 삽입할 때 사용하는 태그 src : 삽입할 이미지 경로를 지정하는 속성alt : 이미지를 설명해주는 텍스트 속성, 이미지의 경로가 틀렸을 경우 텍스트로 대치weight, height : 이미지의 크기를 설정하는 속성, 반응형 웹을 만들 때는 가변 크기 단위를 주로 사용한다.웹 페이지에서 이미지 태그로 사용 가능한 확장자 : GIF, JPG/JPEG, PNG 오디오 관련 태그웹 브라우저에서 플러그인의 도움 없이 음악을 재생할 수 있게 만들어주는 태그 src : 음악 파일의 경로 지정control : 재생도구 출력 지정autoplay : 자동 재생 여부 지정loop : 반복 여부 지정preloadnone : 미리 다운로드 하지.. 2025. 4. 9.
[HTML] 영역관련태그 수직 분할block 요소로 공간을 수직으로 분할할 때 사용하는 태그  div 태그 첫 번째 영역 두 번째 영역 세 번째 영역   수평분할inline 요소로 공간을 수평으로 분할할 때 사용하는 태그  span 태그 첫 번째 영역 두 번째 영역 세 번째 영역   div 태그 영역과 span 태그 영역 div태그와 span태그의 영역 div 영역 새가 봄바람을 인생을 듣기만 우리 힘있다. 같이, 지혜는 우리는 속에 것은 가슴에 오아이스도 끓는 피어나는 약동하다. 위하여 그들은 일월과 인도하겠다는 방지하는 주며, 쓸쓸한 사막이다. 살았으며, 위하여 싶이 천지는 피어나기 끓는 있는 지혜는 뿐이다. 이것을 인생에 어디 품었기 철환하였는가? 꽃 미인을 가지에 쓸쓸한 것이다. 거친 방황하.. 2025. 4. 9.
[HTML] 표 관련 태그 표를 만드는 태그 : 기본적인 표를 생성해주는 태그 : 표의 행을 나타내는 태그 : 표의 제목 셀을 나타내는 태그(중앙 정렬 및 굵게 표시) : 한개의 열을 만드는데 사용하는 태그 : 테이블의 제목이나 내용을 추가하는 태그, 기본 위치는 테이블 중앙 위  웹 브라우저의 종류 브라우저명 제조사 홈페이지 익스플로러 ms https://www.microsoft.com 크롬 google https://www.google.com .. 2025. 4. 9.
[HTML]목록 관련 태그 순서가 필요없는 목록순서가 필요하지 않은 목록을 만들 때 사용리스트 앞에 특정 모양이 출력된다. (circle, disc, square)해당 모양은 CSS를 이용하여 수정할 수 있다.  html css javascript react  순서가 필요한 목록 태그순서가 필요한 목록을 만들 때 사용속성으로 알파벳, 숫자, 로마숫자 설정 가능CSS로 순서 설정이 가능하다type : 순서 형식(a, A, 1, i, I)start : 시작할 번호 또는 문자  내용1 내용2 내용3 기본형식 html css javascript react영문 소문자로 표기 html css javascript react 영문 대문자로 표기 .. 2025. 4. 8.
[HTML] 글자 관련 태그(텍스트 태그) 제목태그제목을 입력할 때 사용하는 태그폰트의 크기는 h태그 뒤 숫자에 따라 정해져있다.번호가 증가할수록 크기가 작아진다.  첫번째로 큰 제목 두번째로 큰 제목 세번째로 큰 제목 네번째로 큰 제목 다섯번째로 큰 제목 여섯째로 큰 제목    문단 태크 : 한 개의 단락을 만들 때 사용하는 태그, 모든 문장 작성 후 자동으로 문장 개행 후 한 줄 공백을 준다. : 입력한 그래도 출력할 때 사용하는 태그  문단 영역을 나누는 태그로는 p태그와 pre 태그가 있다. p태그는 문단 영역을 나누는 태그이고, 자동으로 문장 개행 후 한줄 공백을 준다. 줄 바꿈 입력은 별도의 태그로 지정해줘야한다. 문단 영역을 나누는 태그로는 p태그와 pre 태그가 있다. pre태그는 띄어쓰기, 여.. 2025. 4. 8.
[Flutter] flutter 상태 관리 패키지 : Riverpod(Provier, Notifier, ref) Riverpod Riverpod이란?flutter의 강력한 상태 관리 라이브러리Provider의 단점을 개선MVVM 아키텍처에서 ViewModel을 쉽게 구현할 수 있고, View에서 ViewModel의 관찰을 쉽게 하게 해줌 Riverpod의 주요 특징타입 안전성 및 컴파일 타임 오류 감지반응형 상태 관리 : 데이터 변경 시 UI 자동 업데이트 및 불필요한 리빌드 방지의존성 주입 : Provider를 통해 여러 곳에서 동일한 인스턴스 공유 가능데이터 캐싱 및 API 관리 : 원격 데이터 소스를 효율적으로 가져옴전역 접근 가능 : context 없이도 어디서든 상태에 접근 가능테스트 친화적Provider와 Notifier Provider 종류Provider 종류특징사용 예시Provider읽기 전용 데이터.. 2025. 3. 23.
[Flutter] MVVM 아키텍처(Model-View-ViewModel) MVVM 아키텍처 MVVM 아키텍처란?Model - View - ViewModel의 약자UI와 비지니스 로직을 효율적으로 분리해 구조화하는 디자인 패턴유지보수성, 재사용성이 좋음.역할이 분리되어 있어 테스트가 용이함. MVVM 구조의 핵심 요소Model데이터와 비지니스 로직을 관리하는 레이어데이터의 CRUD 작업(생성, 읽기, 수정, 삭제), 직렬화/역직렬화 로직이 이 레이어에 포함View와 직접적으로 연결되지 않으며, ViewModel하고만 소통서버 API, 데이터베이스, 로컬 저장소 등의 데이터 소스를 다룸예 : 사용자 정보, 상품 목록 등View사용자 인터페이스(UI)를 담당ViewModel에서 데이터를 가져와 화면에 표시사용자 입력을 ViewModel로 전달하며, Model에 직접 접근하지 않음... 2025. 3. 23.
[Flutter] JSON, jsonEncode(toJson), jsonDecode(fromJson) JSON JSON이란?JavaScript의 객체 표기 방식 기반Flutter에서 서버와 데이터를 주고 받을 때 가장 많이 사용되는 데이터 형식 JSON 사용이유가볍고 빠르기 때문에 서버와 통신 시 부담이 적음.언어의 독립성으로 인해 Python, Dart, JavaScript 등 다양한 언어에서 사용 가능키-값 쌍 구조로 가독성이 높음.많은 REST API들이 JSON 형식을 기본으로 제공 JSON 예시{ "name" : "flutter" "age" : 10}중괄호 안에 key-value 쌍key는 반드시 문자열value에는 다양한 타입이 들어갈 수 있다.String, Number(int, double), Boolean(bool), Array(대괄호), Object(중괄호), nullJSON 데이터 .. 2025. 3. 21.
[Flutter] TextField, TextFormField, TextEditingController TextField특징사용자 입력을 받을 때 사용되는 가장 기본적인 위젯주로 단순한 텍스트 입력, 실시간 데이터 처리에 사용됨. 예시코드import 'package:flutter/material.dart';class TextFieldExample extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('TextField 예제'), ), body: TextField( decoration: InputDecoration( labelText: '이름', hintText.. 2025. 3. 20.
[Flutter] 레이아웃 관련 위젯(2) : Row, Column, Stack Row특징자식 위젯을 가로 방향(수평)으로 나열하는 위젯 예시코드import 'package:flutter/material.dart';class RowExample extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Row 예제'), ), body: Row( mainAxisAlignment: MainAxisAlignment.spaceAround, // 가로 방향으로 균등한 간격 유지 crossAxisAlignment: CrossAxisAlignment.center, // 세.. 2025. 3. 19.
[Flutter] 레이아웃 관련 위젯(1) : Container, SizedBox, Card Container특징가장 유연한 스타일링 위젯 : 여백, 패딩, 정렬, 크기, 배경색, 테두리, 그림자 등 다양한 기능 제공복잡한 디자인을 구현할 때 유리커스텀 스타일링 최적화남발할 경우 성능 저하 우려 예시 코드import 'package:flutter/material.dart';class CustomContainer extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Container'), ), body: Container( width: double.infinity, // 가로 길이.. 2025. 3. 18.
[Verilog] 조합회로(Combinational logic) : 인코더(Encoder)와 디코더(Decoder) 인코더와 디코더 차이비교 항목인코더 (Encoder)디코더 (Decoder)입력(Input)여러 개의 신호 중 하나만 활성화압축된(코드화된) 데이터를 입력출력(Output)코드화된 신호 (예: 2진수)원래 의미 있는 정보 (예: BCD, 7세그먼트 신호)예시10진 → 2진 (Decimal to Binary) 변환기2진 → 10진 (Binary to BCD) 변환기사용처키패드 입력, 우선순위 인코딩7세그먼트 디스플레이, 주소 해석 BCD(Binary-Coded Demical)이란?10진수2진수(8비트)BCD 코드 (4비트 × 3)156100111000001 0101 011047001011110000 0100 0111255111111110010 0101 01012진수(Binary)로 10진수(Demical).. 2025. 3. 4.
[Verilog] 순차 회로(Sequential logic) : D-플립플롭(Flip-Flop) 조합회로와 순차회로조합회로논리 게이트들의 조합입력의 변화에 대해 바로 출력이 결정정보(상태)를 저장하는 소자는 필요 없음전가산기, 멀티플렉서, ALU 등순차회로현재의 입력 뿐만 아니라 과거의 입력이나 현재 상태 값을 저장하는 기억소자와 조합회로로 구성상태 값을 기억하기 위한 플립플롭과 순차적 처리의 기준이 되는 클록이 필요 D-플립플롭 심볼 상승에지 트리거 D-FF의 동작클럭의 상승 엣지(↑)에서 입력 d의 값이 출력 q로 전달됨전달된 신호의 값은 다음 번 clk의 상승에지까지 유지클럭이 하강 엣지(↓)이거나 안정된 상태에서는 q가 유지 상승에지 트리거 D-FF 진리표입력출력dclkq0↑01↑1x0qnqn : 동작 전 q의 값clk = ↑ : clk의 상승에지(positive edge) verilog 코.. 2025. 3. 4.
[Verilog] 조합회로(Combinational logic) : ALU(산술 논리 장치) 산술 논리 장치란?명령어에 따라 산술연산, 논리연산, 시프트연산 등의 기능을 수행할 수 있는 조합논리회로ALU(Arithmatic Logic Unit)라고 부른다.CPU에서 가장 중요한 요소 회로(4bit ALU)  ALU의 명령어와 연산명령어연산의미산술연산0000a + b덧셈0001a - b뺄셈0010a x b곱셈0011a / b나눗셈0100a % b나머지비트 단위 논리연산0101~a비트 NOT0110a & b비트 AND0111a | b비트 OR1000a ^ b비트 XOR1001a ~^ b비트 XNOR비트단항 논리연산1010& a비트단항 AND1011| a비트단항 OR1100~& a비트단항 NAND1101^ a비트단항 XOR시프트 연산1110a >> ba를 b비트 우측 이동1111a a를 b비트 좌측 .. 2025. 3. 4.
[Verilog] 조합회로(Combinational logic) : 멀티플렉서(Multiplexer) 멀티플렉서란?멀티플렉서는 2^n개의 입력을 받아 그들 중 하나를 선택하여 출력으로 연결해주는 조합회로데이터 선택기라도고 하며 간단히 MUX라고 부름.한개의 입력을 받아서 2^n개의 출력 중 하나의 출력에 회로를 디멀티플래서 또는 DEMUX라고 함.멀티플렉서나 디멀티플렉서는 여러 개의 데이터 중에서 하나를 선택하기 위해 제어신호가 필요함.회로(8비트 4-to-1 Multiplexer) 진리표(8비트 4-to-1 Multiplexer)sel[1]sel[0]out00a01b10c11d verilog 코드// case문을 이용한 4x1 MUX 설계module mux(a, b, c, d, sel, out); input [7:0] a, b, c, d; input [1:0] sel; output reg [7.. 2025. 3. 3.
[Verilog] 조합회로(Combinational logic) : 전가산기(Full Adder) 전가산기란?두 개의 값(a, b)과 하위 올림 수(cin)를 입력 받아 입력의 합(sum)과 올림 수(carry)를 출력하는 전가산기 회로반가산기 두 개가 합쳐진 것 진리표abcinsumcarry0000001010100101100100110011011010111111  verilog 코드//full adder(전가산기)module fadder(a, b, cin, sum, carry); input a, b, cin; output sum, carry; wire s0, c0, c1; assign s0 = a ^ b; assign c0 = a & b; assign c1 = s0 & cin; assign sum = s0 ^ cin; assign carry = c1 | c0; endmod.. 2025. 3. 3.
[WIL] Flutter 창업 5기 : 3주차를 마치며 서론3주차에는 전투형 rpg game 제작과 팀빌딩을 위한 네트워크를 진행하였다. The four fsFACTS(사실, 객관) : 이번 일주일 동안 있었던 일, 내가 한 것아침에 9시부터 10시까지 북클럽이 진행된다. 일주일 동안 '장병규의 한국 스타트업'을 읽었다.개인 과제로 전투형 rpg game 제작을 진행하였다.팀 빌딩을 위한 앱창업 캠프 멤버들간의 네트워킹이 진행되었다. 마음이 맞는 팀원들을 찾기 위해 많은 대화를 나누었다.FEELINGS(느낌, 주관) : 나의 감정적인 반응, 느낌처음에 앱창업 캠프에 조인했을 때, 처음부터 끝까지 혼자서 하는 프로그램인 줄 알고 신청했었다. 하지만 막상 팀의 비중이 컸었다. 그 계기로 팀에 대해서 진지하게 고민해보던 찰나, '장병규의 한국 스타트업'을 읽었고,.. 2024. 11. 8.
[WIL] Flutter 창업 5기 : 2주차를 마치며 서론2주차에 해야할 일은 크게 두가지였다. 팀원들과 같이 앱을 분석하는 팀과제, 콘솔 쇼핑몰을 제작하는 개인 과제가 있었다. 그리고 본격적인 북클럽이 시작되는 주차였다.  The four fsFACTS(사실, 객관) : 이번 일주일 동안 있었던 일, 내가 한 것팀 과제로 북미 배달 플랫폼인 도어대시, 우버이츠, 그럽허브에 대해 조사하기로 하였다. 처음에 세 개의 앱에 대해 다 같이 조사를 한 뒤 좋은 부분들을 취합하여 적기로 했다. 나는 그 중에서 그럽 허브에 대해 취합하는 역할을 맡았다.필수 기능을 완성한 뒤 여유가 되면 도전 기능도 추가하여 제작하는 과제였다. 어느 정도 프로그래밍 지식이 있어 도전 기능까지 완수할 수 있었다.FEELINGS(느낌, 주관) : 나의 감정적인 반응, 느낌이번 주에는 또 .. 2024. 11. 1.
[DART] vs code에서 dart 프로젝트 생성하기, 터미널 창에서 input값 받기 dart 프로젝트 생성하기 아래의 두 방법 모두 실행에 문제는 없다. 1. vs code 상에서 dart 프로젝트 생성하기원하는 경로에 빈 폴더 생성(ex. 폴더명 example_console 생성)vs code에서 생성한 폴더를 열고 자신이 원하는 대로 디렉토리 구성 후 코드 작성2. 터미널 상에서 dart 프로젝트 생성하기$ dart create console_shopping_mall //dart create [프로젝트명]원하는 경로에 dart create [프로젝트명] 입력자동으로 체계적인 dart 디렉토리들이 생성됨  터미널 창에서 input 값 받기 아래의 run 버튼을 누르면 실행이 되기는 하지만 막상 input 값을 입력하면 오류가 발생한다.(Unknown evaluation response.. 2024. 11. 1.
[WIL] Flutter 창업 5기 : 1주차를 마치며 서론이번주부터 본 캠프가 시작되었다. 오전 9시부터 오후 9시까지 진행해야 하는 일정이라 쉽진 않지만 온라인이라서 어느 정도 괜찮았던 것 같다. 1주차부터 본격적인 수업을 하진 않았고, 사전 캠프에서 미리 봤던 강의를 바탕으로 팀을 구성하여 미니 프로젝트를 진행하게 되었다. 프로젝트 중간에 틈틈이 특강도 진행되었다. The four fsFACTS(사실, 객관) : 이번 일주일 동안 있었던 일, 내가 한 것팀원들과 협업하여 자기소개 어플을 만드는 미니 프로젝트를 진행하였다.레이더 차트를 작성하고 애니메이션 효과를 주어 어플리케이션을 좀 더 동적이게끔 만들었다.FEELINGS(느낌, 주관) : 나의 감정적인 반응, 느낌각자 다른 곳에서 일하던 사람들끼리 모여 하나의 목적을 가지고 프로젝트를 한다는 것의 시너.. 2024. 10. 25.
[Flutter] flutter로 레이더 차트 만들기 레이더 차트의 구성레이더 차트를 만들기 위해서 많은 요소가 필요하지만 그 중에서 레이더 차트를 구성하는 기본 요소들이 있다.ticks: 레이더 차트의 눈금값(여기서 빨간색 글자로 20, 40, 60...으로 표시된 것들) features: 레이더 차트의 각 축에 해당되는 라벨(여기서 파란색 글자로 창의력, 실행력...으로 표시된 것들)data: 실제 데이터 값. 이 값들을 기준으로 그래프가 그려지게 됨(검정색 글자로 50, 60, 70...으로 표시된 것들)sides: 다각형의 변의 개수(여기서는 육각형이므로 sides = 6이다.) 주의할 점만약 sides의 값이 features나 data값의 개수보다 작거나 크면 차트가 제대로 생성되지 않는 오류가 발생할 수 있다.이러한 오류들을 방지해주기 위해서는 .. 2024. 10. 25.
[ERROR] CocoaPods no installed or not in valid state 문제) 이전까지는 잘 되다가 최신 master commit으로 시뮬레이션을 하려고 했을 때 아래와 같은 오류 발생CocooPods는 이미 설치되어 있었음. 해결방안)터미널 상에 'flutter run'을 입력하여 해결 2024. 10. 24.
[ERROR] Error (Xcode): Target debug_unpack_ios failed: Exception: Failed to codesign 해결 방법 문제) flutter project 실행 시 Error (Xcode): Target debug_unpack_ios failed: Exception: Failed to codesign 에러 발생Failed to build iOS appError (Xcode): Target debug_unpack_ios failed: Exception: Failed to codesignCould not build the application for the simulator. 해결 방안)실행하려는 프로젝트 폴더가 icloud에 동기화 된 폴더에 있기 때문에 발생한 문제 실행하려는 프로젝트 파일을 icloud가 동기화되지 않는 파일에 옮긴 후 다시 run하면 해결 2024. 10. 16.