문자열은 불변객체이다. 문자열 자체는 변경할 수 없지만, 문자열을 다른 곳으로 복사해서 변경할 수 있다. poem = '''aaaaaaaaa dddddddddddd cccccccccccc''' print(poem) 여러줄을 입력하고 싶다면 양옆에 ''' 작은따옴표 3개 를 이용하면 된다. """ 큰따옴표도 된다. print(str(98.6)) print(str(55)) 문자열 타입으로 변환 할 때는 str()을 쓰면 된다. print 함수는 기본적으로 str 문자열로 변환 후 print로 출력하게 되어 있다.
파이썬 데이터는 객체다 파이썬은 각 데이터 값(불리언, 정수, 부동소수점 숫자, 문자열, 자료구조, 함수 및 프로그램)을 메모리에 객체로 래핑한다. 리스트, 바이트배열, 셋, 딕셔너리는 가변객체이다 이 외에 모든것은 불변객체다. 데이터 값을 변경할 수 있는것 가변 일정하게 유지할 수 있는 것 불변 이것에 대한 설명은 밑에서 다시 하겠다. y = 5 x = 6 print(id(y)) print(id(x)) a = y print(id(a)) 위와 같이 입력하면 y와 a는 같은 값이 나오게 되고 x는 다른값이 나오게된다. 파이썬에서는 이미 만들어진 값을 재 할당하면 C언어에서의 포인터처럼 주소값을 넘겨주게 되어 있다. 그래서 하나의 변수에 2개가 참조하고 있는것이다. y = 5 x = 12 - y print(..
안드로이드 스튜디오에서 Kotlin 문법을 알아보도록 한다. Kotlin으로 test파일을 만들어주자. package com.example.kotlinwork fun main() { print("kotlin test..") } 실행법은 오른쪽 클릭 후 Run을 누르면 된다. main 함수는 fun main() { } 이라고 표현한다. print문은 파이썬과 같다. 단 print문은 줄바꿈이 없다. println으로 해야 줄바꿈이 같이 된다. 파이썬처럼 println("""gg""".trimIndent())이게 가능하다. 단 문자열 뒤에 trimIndent()가 붙는다. package com.example.kotlinwork.basic fun main() { //변수 선언하는 방법 //var 변수명 : 데..
파이썬에서 쓰레드를 작성하는 방법 threading모듈을 이용해서 작업 싱글쓰레드는 모든 코드의 실행이 끝나야 주 쓰레드가 종료된다. 주 쓰레드가 종료되어야 프로세스가 종료된다. 멀티쓰레드는 주 쓰레드가 먼저 종료될 수 있다. 실행 중인 쓰레드가 하나라도 있으면 프로세스는 종료되지 않는다. 1. 멀티쓰레드로 즉, 독립적인 실행흐름을 갖고 실행하고 싶은 코드를 함수를 정의해서 구현한다. 2. threading.Thread()객체를 생성할때 target이라는 매개변수에 멀티쓰레드로 실행하고 싶은 함수명(1번에서 정의한 함수명)을 지정 객체변수 = threading.Thread(target="함수명", args=(a,b....)) threading.Thread클래스의 매개변수 target : 쓰레드로 실행할 ..
C++ R-Value를 이용한 이동 대입L-Value를 이용해서 밑에와 같이 간단한 프로그램을 만들었다고 치자. main.cpp#include "Resource.h" #include "AutoPtr.h" #include "Timer.h" AutoPtr generateResource() { AutoPtr res(new Resource(10000000)); return res; } int main() { Timer timer; { AutoPtr main_res; main_res = generateResource(); } timer.elapsed(); } AutoPtr.h#pragma once #include template class AutoPtr { T *m_ptr; public: AutoPtr(T *pt..
C++ 메모리 누수 체크하기C++에서 프로그래머가 예상치 못하게 메모리 누수를 체크 못하는 경우가 있다.이럴 경우를 대비해서 메모리 누수 체크를 해보자. #include #include // _CrtDumpMemoryLeaks() 사용하기위해 #if _DEBUG #define new new(_NORMAL_BLOCK, __FILE__, __LINE__) #define malloc(s) _malloc_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__) #endif // 몇행에서 메모리 누수가 나는지 알려줌. using namespace std; int main() { int *a = new int; _CrtDumpMemoryLeaks(); // 메모리 누수 체크 return 0; }먼..
EC2 우분투 22.04 버전으로 설치 된 가정하에 작성한다 우분투 apt-get을 업그레이드 해준다. sudo apt-get update sudo apt-get upgrade Redis 설치를 해주자. sudo apt-get install redis-server # 설치확인 redis-server --version 이렇게 나오면 성공이다. 이제 Redis를 외부접속이 가능하게 설정해주자. sudo vi /etc/redis/redis.conf /bind # 입력후 n 누르면 계속 찾기가 됨. # i 누르면 입력으로 전환 됨 # 127.0.0.1 ::1 -> 0.0.0.0 ::1 바꾸기 # 바꿧다면 esc 누른다 /foobared # 입력후 n 누르면 계속 찾기가 됨. # requirepass foobar..
- Java 17 - Spring boot 3.0.5 - Gradle 8.1.1 Rest Docs 환경 설정 plugins { id 'org.asciidoctor.jvm.convert' version '3.3.2' } Asciidoctor 파일을 컨버팅하고 Build 폴더에 복사하기 위한 플러그인 configurations { asciidoctorExt } asciidoctorExt를 configurations로 지정 dependencies { testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc' testImplementation 'org.springframework.security:spring-security-test' as..
Spring boot에서 보통 권한을 사용해서 JWT를 사용할거다 현재 나는 권한이 필요 없는 JWT를 만들려고 한다. Spring boot 3.0.5 버전이다 build.gradle implementation 'org.springframework.boot:spring-boot-starter-security' implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5' runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.5' runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0..
EC2 우분투로 사용한다는 가정하에 작성. 일단 모든 프로그램을 최신 버전으로 만들어줘야 한다. apt update apt upgrade 그 다음 JDK 설치해주자 apt list openjdk-17* 검색을 하면 여러가지 버전이 나올거다 우린 jdk-headless를 설치할거다 apt install openjdk-17-jdk-headless # 설치 확인 java -version javac -version 설치가 다 되었다 이제 Git을 다운로드 받자 apt install git # 설치 확인 git --version EC2 보안 인바운드 규칙은 밑에와 같이 수정하자 80, 443 포트로 들어오는것은 8080으로 변환되게 포트포워딩을 해주자 sudo iptables -t nat -A PREROUTING..
SpringBoot 개발시에 properties에 db url과 password, https 인증서 비밀번호 기타등등 중요한 정보들이 들어있다. 이것을 깃에 올리면 보안상 안좋기에 커밋할때 안올려지게끔 설정을 해보자. 1. github에 올라간 파일 삭제 우선 자료를 먼저 백업 해두자. git rm src/main/resources/application.properties // properties 파일 삭제 git rm -r src/main/resources/static/,well-known // https 관련 폴더 삭제 git rm src/main/resources/static/keystore.p12 // https 관련 파일 삭제 터미널에서 이 명령어를 입력하면 파일이 지워져있다. 2. .gitig..
MariaDB 사용중에 한글 데이터가 insert 안되는 상황이 벌어졌다. DB 설정을 통해서 insert 할수있게 되었고 설정법을 알아보자. 해당 db에 접속해서 select schema_name, default_character_set_name from infomation_schema.schemata; 이 명령어를 입력해주면 내가 현재 사용할 OurFit DB가 현재 latin1으로 설정되어 있다 이것을 utf8로 바꿔보자. alter database {DB명} default character set utf8; 입력 하고나면 utf8로 바껴있을거다 여기서 DB만 설정할게 아니라 테이블도 설정을 해줘야 한다 alter table {테이블명} convert to character set utf8; 이렇게..
Flask가 뭔지 찍먹해보자. 라즈베리파이 import random from flask import Flask, render_template import RPi.GPIO as gpio app = Flask(__name__) led_pin = 4 gpio.setmode(gpio.BCM) gpio.setup(led_pin, gpio.OUT) @app.route("/") #하나의 경로를 이용해서 여러개를 사용할 수 있음 def action(command): if command == "on": gpio.output(led_pin, gpio.HIGH) message = "GPIO"+str(led_pin)+" ON" elif command == "off": gpio.output(led_pin, gpio.LOW) m..
라즈베리파이에서 라이브러리를 설치해주자. sudo apt-get install python-picamera 설치해주고 pycamera_test.py 파일에서 작업을 해주자. from picamera import PiCamera from time import sleep # 사진찍기 camera = PiCamera() # PiCamera 객체 생성 camera.start_preview() # 미리보기 화면 시작 # 카메라의 센서가 빛의 수준을 감지 할 시간이 있어야 하므로 # 이미지를 갭쳐하기 전에 최소 2초는 sleep sleep(10) # 초 camera.capture("/home/pi/mywork/picamera/image.jpg") camera.stop_preview() #미리보기 화면 중지 문제) ..
초음파센서 VCC - 5v Trig - 23번핀 Echo - 24번핀 GND - GND import RPi.GPIO as g import time TRIGER = 23 ECHO = 24 g.setmode(g.BCM) g.setup(TRIGER, g.OUT) g.setup(ECHO, g.IN) def getDistance(): g.output(TRIGER, False) time.sleep(1) g.output(TRIGER,True) time.sleep(0.00001) #10ms초 만큼 신호 발생 g.output(TRIGER, False) while g.input(ECHO) == 0 : pulse_start = time.time() #현재시간을 측정 - HIGH신호가 발생되는 시간을 측정 while g.in..
https://aossuper8.tistory.com/242 Django setting Django setting 기록을 한다. python 3.8 version django 4.0.2 version 프로젝트를 만들고 File -> Settings에 들어간다 인터프리터에 들어가 + 모양을 눌러준다. 여기서 Django, django-request-mapping를 설.. aossuper8.tistory.com 위의 사이트를 통해 웹 구축을 해주자. 이렇게 만들어주고 raspberryweb -> urls.py (url 등록) urlpatterns = [ path('admin/', admin.site.urls), path('',views.index,name="index"), path('mqtt/',views...
http://mosquitto.org/ Eclipse Mosquitto Eclipse Mosquitto is an open source (EPL/EDL licensed) message broker that implements the MQTT protocol versions 5.0, 3.1.1 and 3.1. Mosquitto is lightweight and is suitable for use on all devices mosquitto.org 다운 받고 설치를 해준다. 그리고 설치된 경로 C:\Program Files\mosquitto 복사를 해주고 환경변수를 추가 해주자. Path에 경로를 추가 해준다. 그리고 cmd창을 4개 만들어준다 이렇게 4개 준비해준다. 왼쪽 위 : 서버(브로커) - mosq..
led +핀 : 17번 led -핀 : GND import RPi.GPIO as g import time led_pin = 17 g.setmode(g.BCM) g.setup(led_pin, g.OUT) #소프트웨어 PWM을 사용하기 위해 객체를 생성 #첫 번째 매개변수 : PWM 출력할 핀 #두 번째 매개변수 : 주파수 값(0보다 큰 값) : 1초에 몇번 깜빡거릴지 pwm = g.PWM(led_pin,2) pwm.start(50) #소프트웨어 PWM 시작 - 파형을 출력(0~100까지의 숫자를 입력) #duty비율 50? : HIGH비율을 유지하는 시간이 50% #1초에 0.5초 불이 켜지고 꺼진다 time.sleep(1) pwm.ChangeDutyCycle(100) #50% 였다가 100%로 변경 tr..
#include int main() { char a; scanf("%c", &a); printf("%d", a); } #include int main() { char a; std::cin >> a; std::cout
#include int main() { int a, b=0; scanf("%d", &a); if (a a; if (a < 100) b = a; else { b += 99; for (int i = 100; i
#include int a(int n) { int s = n; while (1) { if (n == 0)break; s += n % 10; n /= 10; } return s; } int main() { int b[10001] = { 0, }; for (int i = 1; i < 10001; i++) { int s = a(i); if (s < 10001)b[s] = 1; if (b[i] != 1)printf("%d\n", i); } } #include int a(int n) { int s = n; while (1) { if (n == 0)break; s += n % 10; n /= 10; } return s; } int main() { int b[10001] = { 0, }; for (int i = 0;..
이 문제는 함수 구현만 해주면 된다. long long sum(int *a, int n) { long long ans = 0; for(int i=0; i
학생들의 비율 구하는 법 = 평균 넘은 학생 수 / 전체 학생 수 * 100 #include int main() { int n, c, i, a[1000], b, s; scanf("%d", &n); while (n--) { scanf("%d", &c); b = s = 0; for (i = 0; i s) b++; printf("%.3f%%\n", (float)b / c * 100); } } #include int main() { int n, c, i, a[1000], b, s; std::cin >> n; while (n--) { std::cin >> c..
#include int main() { int s, n, b; char a[80]; scanf("%d", &n); while (n--) { b = s = 0; scanf("%s", a); for (int i = 0; a[i]; i++) a[i] == 'O' ? s += ++b : (b = 0); printf("%d\n", s); } } #include int main() { int s, n, b; char a[80]; std::cin >> n; while (n--) { b = s = 0; std::cin >> a; for (int i = 0; a[i]; i++) a[i] == 'O' ? s += ++b : (b = 0); std::cout
학교에서 델파이로 수업을 해서 과제로 DB 오라클을 이용해 프로그램을 하나 만들어 오라고 했다. 테이블은 3개 이상이여야 되고 Intro폼 하나, 추가, 삭제, 조회가 들어가야 한다고 한다. 인트로 화면이다. 여기서는 그냥 메뉴를 이용해서 각각 폼을 뜨게끔 하였다. 도서 관리 폼이다. 도서 관리 테이블은 create table book ( num varchar2(13) not null, title varchar2(30) not null, writer varchar2(20) not null, publisher varchar2(20) not null, introduction varchar2(100) not null, img blob, hold varchar2(1) not null, primary key(nu..
파이썬으로 계산기를 만들어 보았다. log 계산과 뒤에 써진것을 지워주는 기능도 넣어보았다. from tkinter import * from tkinter import messagebox import math calculator = Tk() calculator.title("CALCULATOR") calculator.resizable(0, 1) # remove or change this in order to get different screen sizes class Application(Frame): def __init__(self, master, *args, **kwargs): Frame.__init__(self, master, *args, **kwargs) self.createWidgets() def ..
학교에서 아두이노 과제로 한번 만들어 보았다. 원래 얼굴인식 도어락을 만들려고 했는데 부품 가격이 너무 많이 나가서 학교에 있는 부품으로 만들어 보았다. 일단 도면은 이렇다 LED는 2,3번 핀 부저는 GND, 9번 핀 초음파 센서는 5V,GND,7,8번 핀이다. 완성본은 이렇다. #define CM 11 #define INC 10 #define TP 7 #define EP 8 int tones[] = {261, 294, 330, 349, 392, 440, 494}; // 부저 알림음 void setup() { pinMode(2, OUTPUT); // LED핀 출력 설정 pinMode(3, OUTPUT); // LED핀 출력 설정 pinMode(TP, OUTPUT); // 초음파센서 거리 측정 pinMo..
학교 과제로 안드로이드 앱을 만들어오라고 했다. 어떤 DB를 이용할까 하다가 안드로이드에 내장 되어있는 SQLite라는게 있었다. 나는 그것을 이용해볼려고 한다. activity_main.xml fragment_insert.xml 일단 디자인은 이렇게 해놓았다. listbook.xml은 fragment_check.xml에 listView에 표시될것이다. 그리고 MainActivity.java 파일로 가서 탭 설정을 해주자. package com.example.mybook; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.LinearLayout; import com.google.an..
Mac os에 Homebrew 설치하기 https://aossuper8.tistory.com/286 Mac OS Homebrew 설치 및 사용법 https://brew.sh/ko/ Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 여기서 한국어를 선택하고 오른쪽에 복사를 선택해서 cmd에 붙여넣기 하고 설치를 해준다. 그럼 패스워드 입력하라고 나오는데 aossuper8.tistory.com Mac OS에 Redis 설치방법 # redis 설치 brew install redis # redis 설치 제거 (제거 하고 싶다면 실행) brew uninstall redis # redis 설치 확인 redis-server --version # 밑..
https://brew.sh/ko/ Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 여기서 한국어를 선택하고 오른쪽에 복사를 선택해서 cmd에 붙여넣기 하고 설치를 해준다. 그럼 패스워드 입력하라고 나오는데 맥북 비밀번호를 입력해준다 계속 진행하기 위해 엔터를 누른다 그럼 설치가 다 되면 brew --version 입력하고 잘 나오나 확인 해보자. 만약 밑에와 같이 나온다면 $ brew --version zsh: command not found: brew Homebrew 경로를 추가 해줘야 한다 # zshrc에 homebrew path 추가 $ echo 'export PATH=/opt/homebrew/bin:$PATH' >> ~/.z..
맥북 iterm2 설치방법과 인텔리제이 연동법을 알려주겠다 Homebrew 설치 https://brew.sh/index_ko Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 여기 위에 사이트에 들어가서 복사 버튼을 눌러 기본 터미널에 입력 후 패스워드를 입력해준다. 그럼 쫘라라락 나오면서 설치가 진행되는데 엔터키를 눌러주면 또 쫘라라락 나오면서 설치가 된다 설치가 다 되면 brew -v 를 눌러 버전이 잘 나오는지 확인 해보자. iterm2 설치 터미널에 brew install iterm2 입력 해 설치를 해준다. zsh 보기 좋게 꾸며주는 ohmyzsh 프레임워크 설치 iterm에서 sh -c "$(curl -fsSL https:/..
삼성 폰 업데이트 하였더니 막힘 스마트폰 -> 스마트폰 이제 안됨 삼성폰으로 듀얼심 사용하기 준비물 : 삼성폰 2개, 컴퓨터 한 개의 폰으로 번호 2개 사용 가능하다. 삼성 CMC 기능 활용 1. SetEdit 어플 설치하기 2. 설정에 들어가 휴대전화 정보에 들어간다 소프트웨어 정보에 들어간다 빌드번호 7번을 누르면 개발자 옵션이 설정 메뉴 맨 밑에 나타난다. 개발자 옵션에 들어가 밑으로 내리면 USB 디버깅 나오는데 활성화를 해준다. ※ 핸드폰은 컴퓨터와 연결해주고 USB디버깅 활성화를 해준다. https://dl.google.com/android/repository/platform-tools-latest-windows.zip 위에 링크에 들어가면 adb가 받아진다. 압축을 C드라이브 밑에 adb폴더..
windows 11 게임 최적화를 해보겠다. 1. 그래픽 옵션 설정 엔비디아 제어판 들어가자. 미리보기로 이미지 설정 조정 -> 고급 3D 이미지 설정을 사용합니다. 체크 3D 설정 관리 들어가서 이미지 선명화 탭에 선명화 0.5 필름 그레인 무시 0.17 기본으로 하고 확인 눌러주자. 저지연 모드 - 켜기 설정 싱글 게임하는 사람들은 - 끄기 온라인 게임 하는 사람들은 - 켜기 ※ 모니터가 G-SYNC 호환이 된다 하면 최대 프레임 속도를 자기 모니터 HZ에 -3을 해주면 된다. 그래야 G-SYNC가 정상작동 하게 된다. G-SYNC가 모에요? 하면 설정 안해줘도 된다. 해상도 변경에 들어오면 자기 모니터에 맞는 해상도를 선택하고 재생 빈도도 맞춰주자. 나는 FI32u 모니터를 쓰고 있어서 4k 해상도..
최적화 하기 전에 컴퓨터 포맷 후에 하는 것을 권장한다. 본인 PC는 방금 windows 11을 설치 했기에 모든게 초기화 상태이다. 1. 드라이버자동 설치 해제 windows 10 부터 드라이버가 최신꺼가 나오면 자동으로 설치를 해준다. 근데 최신버전도 좋기야 하지만 오류가 있는 드라이버가 있을 수 있다. 그래서 자동 설치 해제를 해주자. 윈도우10 드라이버 자동설치 해제 윈도우10 드라이버 자동설치 해제 윈도우 업데이트중에서 드라이버 자동 설치가 되게끔 설정이 되어있다. 이는 불필요한 드라이버까지 설치가 되어버린다. 그래서 이를 막고자 한다. 윈도우 검색에 "장치 설치 설정 변경"을 검색 aossuper8.tistory.com 2. 윈도우 가볍게 만들기 제어판에 들어가서 프로그램 제거에 들어간다. 나..
삼성 멀티캠퍼스 수료 과정중 3개의 프로젝트를 했는데 처음 프로젝트는 web 프로젝트였다 쇼핑몰을 만드는 프로젝트였는데 나 포함 총 4명이서 만들었다. 한분은 작업한게 기능 1가지였고... 한분은 핑계인지 모르겟지만 git 업로드를 잘 못해서 파일이 다 날라갔다고 한다 한분은 그나마 열심히 했다 나는 회원가입, 아이디/비밀번호찾기, DB구축, 장바구니 페이지, 결제 페이지를 만들었는데 그중에서도 비밀번호 찾기 할때 이메일로 인증번호를 받아 일치하면 비밀번호를 바꾸게 하는 기능이였다 결국엔 프로젝트는 다 망해서 수상을 못했다.... 지금 생각해보니 기능들은 내가 다 만들었네..... 2번째 프로젝트는 IoT 프로젝트였다. 아두이노와 라즈베리파이, web, app을 이용한 프로젝트였다 스마트홈을 만들자는 얘..
페이스북 그룹에서 프로그래밍 책, 수학 책 기타등등 코딩과 관련된 책을 서평이벤트 한다고 하길래 나는 당첨 안되겠지 하면서 그냥 신청해보았는데 당첨이 되어버렷다 ;;; 이름은 밝히지 않겠다. 책은 학교에서 알려주지 않는 17가지 실무 개발 기술이다. 학교에서는 실무 기술을 가르켜 주지 않는다 왜지?? 아무튼 난 이 책을 읽고 서평을 올려한다. 어떤 내용이 있을지 기대가 된다.
예전에 올렸어야 했는데 지금 올린다.... 대학교 과에서 1등을 해보다!!! 어느날 성적이 올라왔다고 해서 보았는데 다 A+이였다. 사물인터넷실습은 교수님께 물어보니 조별과제에서 많이 까엿다고... 하....... 이XX들... 석차를 보니 나도 깜짝놀랐다;;; 내가 1등을 하다니!!! ㅠㅠㅠㅠㅠㅠ 감동에 벅찼다 감사합니다 교수님들 ㅠㅠ 수석졸업 했다
Software Edu Fest 2019(sef2019) 후기 4월 13일 토요일에 sef2019를 한다고 해서 한번 찾아보았다. sef2019에는 아래와 같이 강연?을 한다고 한다. 이렇게 시간대 별로 Track A, B, C SW Class 일반 1, 일반 2로 나눠서 한다. 나는 Track C, A, A, A, C, A를 들었다. SW Class는 사전 과제를 제출한 신청자 중 선발된 인원만 참석이 가능했다. SW Class는 교사분들과 배울려고 하는 사람들이 듣는 거 같다. sef2019를 들으면서 사은품도 받았다. 공책과 볼펜, 포스트잇을 받았다. 아주 유용하게 잘 쓰고 있다. 카페를 개조해서 만든거라서 너무 이뻣다. 루프탑에도 이렇게 만들어 놓았다. 루프탑 올라가는 길에 나무가 너무 이뻐서 찍..
Node.js 책! 출간 이벤트! 당첨되다!! 우연이 페이스북에서 글을 내리다가 Node.js 책이 출간되었다고 공유 이벤트를 하고 있었다.그래서 나는 이런거 해봣자 당첨운도 없는거 그냥 해봐야지 하고 댓글을 남기고 공유를 했다. 그리고 몇일 후에 자고있는데 카톡이 왔다.친구가 "너 이벤트 당첨됬어" 라고 말을 하며 사진을 보내왔다.그래서 정확히 확인해 볼려고 페북을 들어갔다. 오예 당첨됬다!!!!! ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ이런거 기대도 안했는데 ㅠㅠ 그래서 페메로 온 메시지를 읽고 답을 보내줬다. 그리고 몇일 후에 책이 왔다 ㅋㅋㅋ 엄청 무거운 냄비 받침대랑 ㅋㅋㅋㅋnode.js 책이 왔다 ㅋㅋ 나중에 이 책을 보면서 한번 배워봐야 겠다. 책 이벤트는 처음 당첨되어 봤다. ㅎㅎ 기분이 좋은 하루였군 ㅋㅋ
구글 애드센스 합격되다!!! 어제 알바끝나고 폰을 봤더니 메일이 와 있는거에요!! 뭐지? 하면서 봤더니 애드센스?!?!?!?!!!! 내용을 봤더니 축하합니다라고 써져있네요 ㅋㅋㅋㅋㅋㅋㅋㅋ우와 너무 기뻐요 ㅠㅠㅠㅠㅠ 근데 뭔가 남들보다는 쉽고 빨리 된거같아서 좀 뭔가 이상하네요 ㅎㅎㅎ이제부터 시작이네요 후.. 광고는 넣었지만 아직은 수익이 없네요 ㅎㅎ글 많이 올려야겠어요 앞으로 많은 것을 배워서 어떻게 더 효율적으로 광고를 내는지어떻게 하면 더 사람들이 많이 들어오는지 알아봐야겠네요 ㅋㅋㅋ 구글 애드센스 합격했다!!!!!!!!!