728x90

예전 카페에서 폐지 공지가 와서 자료를 옮겨 놓습니다.

 

자바스크립트 내장함수(06.08.11)

alert ;
alert함수는 메시지와 OK버튼만을 가진 다이얼로그 박스를 보여주는 함수로 사용자의 요구를 받을 필요가 없는 메시지의 경우에 사용.(인사말 같은것)

confirm‎ ;
confirm‎함수는 메시지와 OK/Cancel버튼을 포함한 다이얼러그 박스를 보여주는 함수로 사용자로부터 응답을 듣고 싶을 때 사용하고 사용자가 OK버튼을 누르면 true가 리턴되고 Cancel버튼을 누르면 false를 리턴

prompt ;
메시지와 입력필드를 가진 다이얼로그 박스를 보여주는 함수로 사용자로부터 숫자나 문자열을 입력받아 할 때 사용하는 함수.

eval‎ ;
eval‎함수는 문자열로 입력된 수식을 계산하여 주는 함수로 예를 들 "12+3"과 같은 문자열을 eval‎함수의 매개변수로 입력하면 문자열을 수식으로 변환한 후 계산을 하여 "5"라는 정수를 리턴해 줌. 이 함수는 입력양식을 통해 입력받은 수식을 처리할 때 유용하게 사용 할 수 있음.

parseint ;
parseint는 문자열을 정수로 바꿔주는 내장함수로 입력된 문자열을 2진수,8진수,16진수 정수로 바꿔준다.
parseint(string,nBase)의 형태로사용하는데 첫 번째 매개변수 string에 변환할 문자열을 입력하고ㅡ nBase에 변환할 정수의 형태를 지정한다.

parsefloat ;
parsefloat는 문자열을 부동소수점으로 바꾸는 내장함수로 parsefloat(string)의형태로 사용된다

 


2025.5.10 요약 반영

1. 전역함수 (Global Functions)

더보기

이 함수들은 어떤 객체에도 속하지 않고 어디서든 바로 호출할 수 있어요.

eval(): 문자열로 표현된 JavaScript 코드를 실행합니다. (Executes a string as JavaScript code.)
parseInt(): 문자열을 정수로 변환합니다. (Parses a string and returns an integer.)
parseFloat(): 문자열을 부동 소수점 수로 변환합니다. (Parses a string and returns a floating-point number.)
isNaN(): 값이 NaN (Not-a-Number)인지 판별합니다. (Determines whether a value is NaN.)
isFinite(): 값이 유한한 수인지 판별합니다. (Infinity나 -Infinity, NaN이 아닌지 확인합니다.) (Determines whether a value is a finite number.)
encodeURI(): URI (Uniform Resource Identifier)를 인코딩하여 예약 문자를 이스케이프 처리합니다. (Encodes a URI by replacing certain characters with escape sequences.)
encodeURIComponent(): URI의 구성 요소를 인코딩합니다. encodeURI()보다 더 많은 문자를 이스케이프 처리합니다. (Encodes a URI component by replacing certain characters with escape sequences.)
decodeURI(): encodeURI()로 인코딩된 URI를 디코딩합니다. (Decodes a URI encoded by encodeURI().)
decodeURIComponent(): encodeURIComponent()로 인코딩된 URI 구성 요소를 디코딩합니다. (Decodes a URI component encoded by encodeURIComponent().)
Number(): 값을 숫자로 변환합니다. (Converts a value to a number.)
String(): 값을 문자열로 변환합니다. (Converts a value to a string.)
Boolean(): 값을 불리언 값으로 변환합니다. (Converts a value to a boolean.)
Symbol(): 새로운 Symbol 값을 생성합니다. (Returns a new Symbol value.)
Object(): 새로운 객체를 생성합니다. (Creates a new object.)

2. 객체 관련 함수(Object Related Functions )

더보기

이 함수들은 Object 객체와 관련된 다양한 작업을 수행합니다.

Object.keys(obj): 주어진 객체의 속성 이름(키)들을 배열로 반환합니다. (Returns an array of a given object's own enumerable property names.)
Object.values(obj): 주어진 객체의 속성 값들을 배열로 반환합니다. (Returns an array of a given object's own enumerable property values.)
Object.entries(obj): 주어진 객체의 [key, value] 쌍들을 담은 배열을 반환합니다. (Returns an array of a given object's own enumerable string-keyed property [key, value] pairs.)
Object.assign(target, ...sources): 하나 이상의 원본 객체로부터 대상 객체로 속성을 복사합니다. (Copies the values of all enumerable own properties from one or more source objects to a target object.)
Object.create(prototype, propertiesObject): 지정된 프로토타입 객체 및 속성을 갖는 새로운 객체를 생성합니다. (Creates a new object with the specified prototype object and properties.)
Object.defineProperty(obj, prop, descriptor): 객체에 새로운 속성을 직접 정의하거나, 기존 속성의 정의를 수정합니다. (Defines a new property directly on an object, or modifies an existing property on an object, and returns the object.)
Object.defineProperties(obj, props): 객체에 여러 개의 새로운 속성을 직접 정의하거나, 기존 속성의 정의를 수정합니다. (Defines new or modifies existing properties directly on an object, returning the object.)
Object.getOwnPropertyDescriptor(obj, prop): 객체의 특정 속성에 대한 속성 설명자(descriptor)를 반환합니다. (Returns a property descriptor for an own property (that is, one directly present on an object and not in the object's prototype chain) of a given object.)
Object.getOwnPropertyNames(obj): 객체의 모든 속성 이름(열거 불가능한 속성 포함)을 배열로 반환합니다. (Returns an array of all properties (enumerable or not) found directly upon a given object.)
Object.getPrototypeOf(obj): 지정된 객체의 프로토타입 객체를 반환합니다. (Returns the prototype (i.e., the internal [[Prototype]] property) of the specified object.)
Object.setPrototypeOf(obj, prototype): 지정된 객체의 프로토타입을 설정합니다. (Sets the prototype (i.e., the internal [[Prototype]] property) of a specified object to another object or null.)
Object.is(value1, value2): 두 값이 같은 값인지 판별합니다. (=== 연산자와 유사하지만 몇 가지 예외적인 경우를 처리합니다.) (Determines whether two values are the same value.)
Object.seal(obj): 객체를 밀봉합니다. 새로운 속성 추가 및 기존 속성 삭제를 방지하고, 기존 속성의 속성 설명자 수정도 방지하지만, 속성 값은 변경 가능합니다. (Seals an object, preventing new properties from being added to it and marking all existing properties as non-configurable.)
Object.freeze(obj): 객체를 동결합니다. 밀봉된 객체의 모든 속성을 읽기 전용으로 만듭니다. (Freezes an object. A frozen object can no longer have new properties added to it; existing properties can no longer be removed; existing properties can no longer have their enumerability, configurability, or writability changed; and also the values of existing properties cannot be changed.)
Object.isSealed(obj): 객체가 밀봉되었는지 확인합니다. (Determines if an object is sealed.)
Object.isFrozen(obj): 객체가 동결되었는지 확인합니다. (Determines if an object is frozen.)
Object.hasOwnProperty(prop): 객체가 특정 속성을 직접 소유하고 있는지 (프로토타입 체인에서 상속받은 것이 아닌) 불리언 값으로 반환합니다. (Returns a boolean indicating whether the object has the specified property as its own property (as opposed to inheriting it).)
Object.prototype.toString(): 객체의 문자열 표현을 반환합니다. (Returns a string representing the object.)
Object.prototype.valueOf(): 객체의 원시 값을 반환합니다. (Returns the primitive value of the specified object.)

3. 배열 관련 함수 (Array Related Functions)

더보기

이 함수들은 Array 객체의 메서드로 배열을 조작하고 관리하는 데 사용됩니다.

Array.isArray(obj): 주어진 값이 배열인지 판별합니다. (Determines whether the passed value is an Array.)
Array.from(arrayLike, mapFn, thisArg): 유사 배열 객체나 반복 가능한 객체로부터 새로운 Array 인스턴스를 만듭니다. (Creates a new Array instance from an array-like or iterable object.)
Array.of(...elements): 인수의 수나 타입에 관계없이 가변적인 수의 인수로 새로운 Array 인스턴스를 만듭니다. (Creates a new Array instance with a variable number of arguments, regardless of number or type of the arguments.)
Array.prototype.push(...elements): 배열의 끝에 하나 이상의 요소를 추가하고, 새로운 배열의 길이를 반환합니다. (Adds one or more elements to the end of an array and returns the new length of the array.)
Array.prototype.pop(): 배열의 마지막 요소를 제거하고 그 요소를 반환합니다. 배열이 비어있으면 undefined를 반환합니다. (Removes the last element from an array and returns that element. This method changes the length of the array.)
Array.prototype.unshift(...elements): 배열의 시작 부분에 하나 이상의 요소를 추가하고, 새로운 배열의 길이를 반환합니다. (Adds one or more elements to the beginning of an array and returns the new length of the array.)
Array.prototype.shift(): 배열의 첫 번째 요소를 제거하고 그 요소를 반환합니다. 배열이 비어있으면 undefined를 반환합니다. (Removes the first element from an array and returns that element. This method changes the length of the array.)
Array.prototype.slice(begin, end): 배열의 begin부터 end 직전까지의 요소를 얕게 복사하여 새로운 배열 객체로 반환합니다. (Returns a shallow copy of a portion of an array into a new array object selected from begin to end (end not included).)
Array.prototype.splice(start, deleteCount, ...items): 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다. (Changes the contents of an array by removing or replacing existing elements and/or adding new elements in place.)
Array.prototype.concat(...arrays): 기존 배열에 하나 이상의 배열 또는 값을 합쳐서 새로운 배열을 반환합니다. (Returns a new array consisting of the array on which it is called, joined with the array(s) and/or value(s) provided as arguments.)
Array.prototype.join(separator): 배열의 모든 요소를 지정된 구분 기호로 연결한 문자열을 반환합니다. (Creates and returns a new string by concatenating all of the elements in an array (or an array-like object), separated by commas or a specified separator string.)
Array.prototype.reverse(): 배열의 요소 순서를 반전시킵니다. (Reverses the order of the elements in an array in place. The first element becomes the last, and the last element becomes the first.)
Array.prototype.sort(compareFunction): 배열의 요소를 제자리에서 정렬하고 정렬된 배열을 반환합니다. (Sorts the elements of an array in place and returns the sorted array. The default sort order is ascending, built upon converting the elements into strings, then comparing their sequences of UTF-16 code units values.)
Array.prototype.indexOf(searchElement, fromIndex): 배열에서 지정된 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고, 찾을 수 없으면 -1을 반환합니다. (Returns the first index at which a given element can be found in the array, or -1 if it is not present.)
Array.prototype.lastIndexOf(searchElement, fromIndex): 배열에서 지정된 요소를 찾을 수 있는 마지막 인덱스를 반환하고, 찾을 수 없으면 -1을 반환합니다. (Returns the last index at which a given element can be found in the array, or -1 if it is not present.)
Array.prototype.includes(valueToFind, fromIndex): 배열이 특정 값을 포함하고 있는지 여부를 불리언 값으로 반환합니다. (Determines whether an array includes a certain value among its entries, returning true or false as appropriate.)
Array.prototype.forEach(callback(currentValue, index, array), thisArg): 배열의 각 요소에 대해 제공된 함수를 한 번씩 실행합니다. (Executes a provided function once for each array element.)
Array.prototype.map(callback(currentValue, index, array), thisArg): 배열의 각 요소에 대해 제공된 함수를 호출한 결과를 모아 새로운 배열을 반환합니다. (Creates a new array populated with the results of calling a provided function on every element in the calling array.)
Array.prototype.filter(callback(element, index, array), thisArg): 제공된 함수에 의해 구현된 테스트를 통과하는 모든 요소를 사용하여 새로운 배열을 만듭니다. (Creates a new array with all elements that pass the test implemented by the provided function.)
Array.prototype.reduce(callback(accumulator, currentValue, currentIndex, array), initialValue): 배열의 각 요소에 대해 제공된 "reducer" 콜백 함수를 실행하여 단일 값으로 줄입니다. (Executes a reducer function (that you provide) on each element of the array, resulting in a single output value.)
Array.prototype.reduceRight(callback(accumulator, currentValue, currentIndex, array), initialValue): 배열의 각 요소에 대해 제공된 함수를 오른쪽에서 왼쪽으로 적용하여 단일 값으로 줄입니다. (Applies a function against an accumulator and each value of the array (from right-to-left) to reduce it to a single value.)
Array.prototype.every(callback(element, index, array), thisArg): 배열의 모든 요소가 제공된 함수로 구현된 테스트를 통과하는지 확인합니다. (Tests whether all elements in the array pass the test implemented by the provided function. It returns a Boolean value.)
Array.prototype.some(callback(element, index, array), thisArg): 배열의 적어도 하나의 요소가 제공된 함수로 구현된 테스트를 통과하는지 확인합니다. (Tests whether at least one element in the array passes the test implemented by the provided function. It returns a Boolean value.)
Array.prototype.find(callback(value, index, obj), thisArg): 배열에서 제공된 테스트 함수를 만족하는 첫 번째 요소의 값을 반환합니다. 그렇지 않으면 undefined를 반환합니다. (Returns the value of the first element in the provided array that satisfies the provided testing function. If no values satisfy the testing function, undefined is returned.)
Array.prototype.findIndex(callback(value, index, obj), thisArg): 배열에서 제공된 테스트 함수를 만족하는 첫 번째 요소의 인덱스를 반환합니다. 그렇지 않으면 -1을 반환합니다. (Returns the index of the first element in the array that satisfies the provided testing function. Otherwise -1 is returned.)
Array.prototype.fill(value, start, end): 배열의 start 인덱스부터 end 인덱스 이전까지의 모든 요소를 정적 값으로 채웁니다. (Fills (modifies) all the elements of an array from a start index (default 0) to an end index (default array.length) with a static value.)
Array.prototype.copyWithin(target, start, end): 배열 내의 일부를 얕게 복사하여 동일한 배열의 다른 위치에 덮어쓰고 크기를 수정하지 않고 반환합니다. (Shallow copies part of an array to another location in the same array and returns the modified array without modifying its length.)
Array.prototype.entries(): 배열의 각 인덱스에 대한 [키, 값] 쌍을 포함하는 새로운 Array Iterator 객체를 반환합니다. (Returns a new Array Iterator object that contains the key/value pairs for each index in the array.)
Array.prototype.keys(): 배열의 각 인덱스에 대한 키를 포함하는 새로운 Array Iterator 객체를 반환합니다. (Returns a new Array Iterator object that contains the keys for each index in the array.)
Array.prototype.values(): 배열의 각 인덱스에 대한 값을 포함하는 새로운 Array Iterator 객체를 반환합니다. (Returns a new Array Iterator object that contains the values for each index in the array.)

4. 문자열 관련 함수 (String Related Functions)

더보기

이 함수들은 String 객체의 메서드로 문자열을 조작하고 관리하는 데 사용됩니다.

String(): 주어진 값을 문자열로 변환하는 생성자입니다. (A constructor that creates a String object.)
String.fromCharCode(...codes): 지정된 유니코드 값을 갖는 문자열을 반환합니다. (Returns a string created by using the specified sequence of Unicode values.)
String.fromCodePoint(...codePoints): 지정된 코드 포인트 시퀀스에서 생성된 문자열을 반환합니다. (Returns a string created by using the specified sequence of code points.)
String.prototype.charAt(index): 문자열에서 지정된 인덱스에 있는 문자를 반환합니다. (Returns the character (exactly one UTF-16 code unit) at the specified index.)
String.prototype.charCodeAt(index): 문자열에서 지정된 인덱스에 있는 문자의 유니코드 값을 반환합니다. (Returns the Unicode value of the character at the specified index.)
String.prototype.codePointAt(pos): 문자열에서 지정된 위치에 있는 코드 포인트 값을 나타내는 음이 아닌 정수를 반환합니다. (Returns a non-negative integer that is the Unicode code point value starting at the given index.)
String.prototype.concat(...strings): 호출한 문자열에 하나 이상의 문자열을 연결한 새로운 문자열을 반환합니다. (Returns a new string containing the combined text of the string on which it was called and one or more other strings provided as arguments.)
String.prototype.includes(searchString, position): 문자열이 다른 문자열을 포함하고 있는지 여부를 불리언 값으로 반환합니다. (Determines whether one string may be found within another string, returning true or false as appropriate.)
String.prototype.endsWith(searchString, length): 문자열이 다른 문자열의 문자로 끝나는지 여부를 불리언 값으로 반환합니다. (Determines whether a string ends with the characters of a specified string, returning true or false as appropriate.)
String.prototype.startsWith(searchString, position): 문자열이 다른 문자열의 문자로 시작하는지 여부를 불리언 값으로 반환합니다. (Determines whether a string begins with the characters of a
728x90
728x90

그동안 작성했던 교안을 정리해 봅니다. 총 15일차로 구성했습니다.

실무에 필요한 내용을 다루기전 기초에 대해서 학습내용으로 최대한 쉽게 접근할 있도록 했습니다.


15일차 : Python 활용한 머신 러닝 기초

학습목표

1. 머신 러닝의 기본 개념을 이해한다.

2. 머신 러닝 서비스를 구현해 본다.

실무에서 자주 활용되는 머신 러닝 알고리즘을 다음과 같이 정리하였습니다:

더보기

 

  1. 선형 회귀 (Linear Regression)
    • 개요: 연속적인 값을 예측하는 데 사용되는 기본적인 회귀 알고리즘입니다.
    • 적용 사례: 주택 가격 예측, 매출 예측 등
    • 예제 코드:
    • python
      from sklearn.linear_model import LinearRegression model = LinearRegression() model.fit(X_train, y_train) predictions = model.predict(X_test)
  2. 로지스틱 회귀 (Logistic Regression)
    • 개요: 이진 분류 문제에 주로 사용되며, 확률 기반의 분류를 수행합니다.
    • 적용 사례: 스팸 메일 분류, 질병 유무 판별 등
    • 예제 코드:
    • python
      from sklearn.linear_model import LogisticRegression model = LogisticRegression() model.fit(X_train, y_train) predictions = model.predict(X_test)
  3. 결정 트리 (Decision Tree)
    • 개요: 데이터를 분할하여 예측을 수행하는 트리 기반의 알고리즘입니다.
    • 적용 사례: 고객 세분화, 의사 결정 지원 시스템 등
    • 예제 코드:
    • python
      from sklearn.tree import DecisionTreeClassifier model = DecisionTreeClassifier() model.fit(X_train, y_train) predictions = model.predict(X_test)
  4. 랜덤 포레스트 (Random Forest)
    • 개요: 여러 개의 결정 트리를 앙상블하여 예측 성능을 향상시킨 알고리즘입니다.
    • 적용 사례: 신용 평가, 질병 예측 등
    • 예제 코드:
    • python
      from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier() model.fit(X_train, y_train) predictions = model.predict(X_test)
  5. 서포트 벡터 머신 (SVM)
    • 개요: 데이터를 분류하는 최적의 경계를 찾아주는 알고리즘입니다.
    • 적용 사례: 이미지 분류, 텍스트 분류 등
    • 예제 코드:
    • python
      from sklearn.svm import SVC model = SVC() model.fit(X_train, y_train) predictions = model.predict(X_test)
  6. K-최근접 이웃 (K-Nearest Neighbors, KNN)
    • 개요: 가장 가까운 K개의 데이터를 기반으로 분류 또는 회귀를 수행합니다.
    • 적용 사례: 추천 시스템, 패턴 인식 등
    • 예제 코드:
    • python
      from sklearn.neighbors import KNeighborsClassifier model = KNeighborsClassifier(n_neighbors=5) model.fit(X_train, y_train) predictions = model.predict(X_test)
  7. 나이브 베이즈 (Naive Bayes)
    • 개요: 확률 기반의 분류 알고리즘으로, 독립 변수 간의 독립성을 가정합니다.
    • 적용 사례: 스팸 필터링, 감정 분석 등
    • 예제 코드:
    • python
      from sklearn.naive_bayes import GaussianNB model = GaussianNB() model.fit(X_train, y_train) predictions = model.predict(X_test)
  8. K-평균 클러스터링 (K-Means Clustering)
    • 개요: 비지도 학습 알고리즘으로, 데이터를 K개의 클러스터로 분할합니다.
    • 적용 사례: 고객 세분화, 이미지 압축 등
    • 예제 코드:
    • python
      복사편집
      from sklearn.cluster import KMeans model = KMeans(n_clusters=3) model.fit(X) labels = model.labels_
  9. 주성분 분석 (PCA)
    • 개요: 고차원 데이터를 저차원으로 축소하여 주요 특징을 추출합니다.
    • 적용 사례: 차원 축소, 데이터 시각화 등
    • 예제 코드:
    • python
      from sklearn.decomposition import PCA pca = PCA(n_components=2) X_reduced = pca.fit_transform(X)
  10. 신경망 (Neural Networks)
    • 개요: 인간의 뇌 구조를 모방한 알고리즘으로, 복잡한 패턴 인식에 강력합니다.
    • 적용 사례: 음성 인식, 이미지 분류 등
    • 예제 코드:
    • python
      from sklearn.neural_network import MLPClassifier model = MLPClassifier(hidden_layer_sizes=(100,)) model.fit(X_train, y_train) predictions = model.predict(X_test)
  11. 그래디언트 부스팅 (Gradient Boosting)
    • 개요: 여러 약한 학습기를 결합하여 강한 예측 모델을 만드는 앙상블 기법입니다.
    • 적용 사례: 신용 점수 예측, 고객 이탈 예측 등
    • 예제 코드:
    • python
      from sklearn.ensemble import GradientBoostingClassifier model = GradientBoostingClassifier() model.fit(X_train, y_train) predictions = model.predict(X_test)
  12. XGBoost
    • 개요: 그래디언트 부스팅의 확장으로, 속도와 성능이 향상된 알고리즘입니다.
    • 적용 사례: 대회용 모델, 대규모 데이터셋 분석 등
    • 예제 코드:
    • python
      import xgboost as xgb model = xgb.XGBClassifier() model.fit(X_train, y_train) predictions = model.predict(X_test)
  13. LightGBM
    • 개요: Microsoft에서 개발한 그래디언트 부스팅 프레임워크로, 대규모 데이터에 적합합니다.
    • 적용 사례: 클릭 예측, 추천 시스템 등
    • 예제 코드:
    • python
      import lightgbm as lgb model = lgb.LGBMClassifier() model.fit(X_train, y_train) predictions = model.predict(X_test)
  14. CatBoost
    • 개요: 범주형 변수 처리에 특화된 그래디언트 부스팅 알고리즘입니다.
    • 적용 사례: 금융 데이터 분석, 추천 시스템 등
    • 예제 코드:
    • python
      from catboost import CatBoostClassifier model = CatBoostClassifier() model.fit(X_train, y_train) predictions = model.predict(X_test)
  15. 의사결정 규칙 (Rule-Based Systems)
    • 개요: 명시적인 규칙을 기반으로 결정을 내리는 시스템입니다.
    • 적용 사례: 전문가 시스템, 진단 시스템 등
    • 예제 코드:
    • python
      def classify(input): if input['feature1'] > threshold: return 'Class A' else: return 'Class B'
  16. 강화 학습 (Reinforcement Learning)
    • 개요: 에이전트가 환경과 상호작용하며 보상을 최대화하는 방향으로 학습합니다.
    • 적용 사례: 게임 AI, 로봇 제어 등
    • 예제 코드:
    • python
      import gym env = gym.make('CartPole-v1') observation = env.reset() for _ in range(1000): action = env.action_space.sample() observation, reward, done,
 

 

728x90
728x90

그동안 작성했던 교안을 정리해 봅니다. 총 15일차로 구성했습니다.

실무에 필요한 내용을 다루기전 기초에 대해서 학습내용으로 최대한 쉽게 접근할 있도록 했습니다.


14일차 : flask 게시판 서비스 만들기

학습목표

1. Flask 통해 웹서비스를 경험해본다.

2. DB연동하는 기본 웹서비스를 만들어본다.

 

 

728x90
728x90

그동안 작성했던 교안을 정리해 봅니다. 총 15일차로 구성했습니다.

실무에 필요한 내용을 다루기전 기초에 대해서 학습내용으로 최대한 쉽게 접근할 있도록 했습니다.


13일차 : 서비스와 파이썬 프레임워크

학습목표

1. 웹서비스가 어떻게 작동하는지 이해한다.

2. Flask Django 차이와 특징을 이해한다.

3. 간단한 페이지를 만들어본다.

 그래픽 관련해서 사용하는 것을 위한 벽돌깨기 내용을 제외하고 웹 서비스 개념과 api 서비스에 집중하는 것이 일관성이 있어서 게임은 교안에서 제외처리했습니다. 

 저학년 상대로 그래픽 다루는 것을 특강으로 별도로 작성하는 것이 좋을 것 같습니다.

 

728x90

+ Recent posts