- Today
- Total
목록Category (320)
개발하는 고라니
최근에 '생활코딩'에서 21년 첫 수업으로 머신러닝을 업로드하셨다. 몇 년전에 머신러닝, 딥러닝에 관심이 있어서 텐서플로를 사용해보고자 했는데... 너무 어렵고 이해도 어려울 뿐 더러 일개 학생이 배울 수 있는 곳이 마땅치 않았다. 그러나 항상 초심자의 눈높이에서 쉽게 강의해주시는 생활코딩 덕분에 입문이라도 해보고자 한다. 앞으로 업로드 될 내용들은 강의 내용 + 나의 생각 + 스스로 좀 더 연습한 것을 정리해서 올려놓을 예정이다. www.tensorflow.org/js/models?hl=ko TensorFlow.js 모델 모든 프로젝트에서 즉시 사용할 수 있는 선행 학습된 TensorFlow.js 모델을 탐색하세요. www.tensorflow.org 처음 텐서플로를 접할 당시에는 Python으로만 사용..
저번 포스팅에서 app.get , app.post , app.use ...와 같이 사용되어지는 미들웨어를 썼다. 이는 어플리케이션 단에서 동작하는 미들웨어이다. 다음과 같이 미들웨어는 몇 가지의 종류가 존재한다. Application Level Middelware Router Level Middleware Error Handling Middelware Built in Middelware Third party Middleware # Application Level Middleware 2021/01/08 - [Programming/Node.js] - [Node.js] Middleware 생성 [Node.js] Middleware 생성 이전에 Body-parser라는 어떤 고마운 분이 만들어준 미들웨어를 사용..
이전에 Body-parser라는 어떤 고마운 분이 만들어준 미들웨어를 사용해보았다. 그런데 신기하게도, request에 body라는 property가 없었는데 어떻게 생긴걸까? 간단한 미들웨어를 만들어며 알아보자. Express의 Guide탭 중에 'Writing Middleware'라는 항목을 보면, 다음과 같은 예시가 있다. var express = require('express') var app = express() var myLogger = function (req, res, next) { console.log('LOGGED') next() } app.use(myLogger) app.get('/', function (req, res) { res.send('Hello World!') }) app.l..
Node.js는 보편적으로 'Express'라는 웹 프레임워크를 사용한다. 최근 'koa'의 사용빈도도 증가추세이다. 'koa'는 'Express'를 개발한 사람들이 모종의 이유로 새로이 만든 프레임워크로 알고있다. 그래서 사용방법도 거의 비슷하다고 볼 수 있다. Express, koa같은 웹 프레임워크가 무엇인지에 대해서는 나중에 다시 포스팅 하기로 하고... 오늘은 node.js에서 로 보낸 데이터를 사용해보는 방법을 익힌다. 'body-parser'를 사용하기 전엔 다음과 같은 방법을 사용했다. '/create'라는 URL로 id와 비번을 보내 회원가입을 하는 작업을 예를 들어보자. 제출 const express = require('express'); const qs = require('qs'); ..
Browser에서 Server로 파일을 업로드 할 때, 취지에 맞지 않는 파일을 제한해야 할 때가 있다. 예를 들어 영화 포스터 이미지 파일(jpg, png 등) 만 업로드 해야한다면 방법은 다양할 것이다. 정규식으로 제어할 수도 있고, 서버 단에서 제어할 수도 있다. 이번에는 뷰 단에서 자바스크립트를 이용해 간단한 방법으로 이미지 파일만 전송되도록 한다. Upload 파일 업로드는 HTML의 태그를 이용할 수도 있지만 ajax를 사용하여 데이터를 보낸 후 처리했다. 에 여러 파일을 입력해서 업로드 후 콘솔 로그를 보면 전송한 파일의 정보가 찍힌다. 1111.png와 abc.txt 파일을 업로드 한 결과이다. 위와 같이 File의 정보들을 Javascript 객체에 담아 받아볼 수 있다. 이 중에서 't..
교재를 보며 ajax로 파일 업로드를 테스트하는데... $("input[name='aaa']") 이런 $ 를 사용하는 것은 다 되는데 $.ajax에만 오류가 발생하였다. 물론 Jquery CDN을 추가하였다. 근데도 왜 이러지 구글링해보다가 근데도 여전히 오류가 발생했다. 여기저기 소스코드를 들춰내며 대체 뭐가 문제인가 하고 마지막 즈음 브라우저의 소스를 봤는데 여전히 slim 버전 cdn을 가져오는 것이었다. ?????????????????????????????????????????????????????????? 난 분명히 바꿨는데? 아차 싶었다... 이클립스에서는 view 페이지가 변경되면 서버를 재시작하지 않아도 자동으로 반영해주지만, IntellJ는 추가적으로 설정을 해줘야 한다. 망치 아이콘 옆..
학교 수업에서도 시간관계상 배우지 않고 건너뛴 스트림, 람다 등 내용을 공부해야지... 미루고 미루다 코드로 배우는 스프링 부트 웹 프로젝트 책으로 공부하는데 스트림을 모르면 쓸 수 없는 표현들이 나오길래 이제야 스트림에 대해 알아보는 시간을 갖는다. 자바 스트림은 기존 코드(for, foreach... 등)에 비해 간편하고 명료하며 직관적이지만, 스트림에 대해 알 때의 이야기이다. 또한 스트림은 불필요한 리소스를 줄여준다. # Stream * 파일에 쓰이는 InputStream, OutputStream 같은 I/O 스트림은 아니다 자바 8부터 추가된 자바 스트림은 - 추가된 컬렉션의 저장 요소를 하나씩 참조해 람다식으로 처리할 수 있도록 해주는 반복자이다. - 자바 8 이전에 배열or컬렉션을 다루는 방..
//플러그인 추가 plugins { id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10' } //의존성 주입 dependencies { implementation 'com.querydsl:querydsl-jpa' } //Gradle에서 사용할 추가적인 task def querydslDir = "$buildDir/generated/querydsl" querydsl{ jpa = true querydslSourcesDir = querydslDir } sourceSets { main.java.srcDir querydslDir } configurations{ querydsl.extendsFrom compileClasspath } compileQuerydsl{ opti..