'분류 전체보기'에 해당되는 글 74건

  1. 2023.06.27 next.js 13 Super expression must either be null or a function 에러 발생시
  2. 2023.06.18 무료 Serverless Postgres (PostgreSQL) 데이터베이스 이용하기
  3. 2020.09.06 Visual Studio Code에서 Spring 개발환경 만들기. 1
  4. 2019.05.10 GetHostByName 경고문 발생시 처리방법
  5. 2019.02.22 Vue 기본 문법
  6. 2019.02.22 Vue.js 관련 학습 링크 모음.
  7. 2019.02.19 Unity 개발환경 구축
  8. 2019.02.14 Json.NET 구현방법 (Newtonsoft.Json)
  9. 2014.05.22 WoW64 활성화
  10. 2014.02.04 네트워크에 있는 다른 시스템과 IP주소가 충돌합니다.

next.js 13 Super expression must either be null or a function 에러 발생시

Front-end/Next.js 2023. 6. 27. 14:30


에러 메시지

 error TypeError: Super expression must either be null or a function 에러 발생시

 

아래와 같이 "use client"; 를 코드 첫줄에 넣어주면 에러 사라짐.

"use client";

import React from "react";
import { Button } from "antd";

export default function Home() {
  return (
    <div className="App">
      <Button type="primary">버튼</Button>
      안녕하세요.
    </div>
  );
}

에러가 사라지고 화면이 표시된다.

:

무료 Serverless Postgres (PostgreSQL) 데이터베이스 이용하기

Dev/database 2023. 6. 18. 12:03


최근 사이드 프로젝트를 진행하며 개발간 사용할 무료 PostgreSQL 데이터베이스를 찾아보게 되었습니다.

Neon serverless postgres 라는 서비스를 알게 되었고 해당 서비스를 통하여 개발을 잰행 하였고,

무료인데 나름 공간도 넉넉하고 설정이 어렵지 않아 매우 잘 사용하였습니다.

서비스 이용 방법을 공유 합니다.

 

PC에 데이터베이스 설치가 부담스럽고, 따로 이용가능한 DB가 없는경우 좋은 선택일 듯 합니다.

기본 사용 설정 밥법

1. Neon Serverless Postgres 사이트에 접속합니다

https://neon.tech/

 

Neon — Serverless, Fault-Tolerant, Branchable Postgres

Postgres made for developers. Easy to Use, Scalable, Cost efficient solution for your next project.

neon.tech

접속시 후한 무료 티어(generous free tier.) 라는 문구가 눈에 띄네요.,

 

가격정책에 들어가보면 아래와 같이 사용 가능 용량을 확인하여 볼 수 있습니다.

가격 정책

무료 티어 기준 

  • 1개 프로젝트
  • 10개 브랜치
  • 브랜치별 3기가
  • 1기가 공유 메모

사용 가능 합니다. 개발환경에서 왠만한 상황이 아니고서는 꽤나 넉넉해 보입니다.

속도도 개발 환경에서는 쓸만했습니다. (초기 접속은 약간의 Delay가 느껴졌습니다.)

 

2. 가입을 진행 합니다. (Sign up)

메인화면
가입 옵션

저의 경우 Google 계정을 이용하여 가입을 진행하였습니다.

 

3. 신규 프로젝트 생성하기

로그인시 Neon console 로 이동되며 Projects 목록에 New Project를 통하여 신규 프로젝트를 등록합니다..

프로젝트

생성 후 프로젝트를 선택하여 보면 접속정보 및 사용 내역을 한눈에 확인 가능합니다.

그중 접속정보는 Connection 정보를 확인하시면 됩니다.

프로젝트 선택 화면

Code examples 를 선택하시면 여러 프로그램 언어별로 접속 설정하는 예시 코드를 생성하여보여줍니다.

code example

 

4. 접속 및 사용 테스트 (DBeaver)

아래와 같이 접속 정보를 DBeaver에 입력하여 설정 후 Test 를 해보시면 

접속 설정
접속 성공

조회도 아래와 같이 정상 작동합니다.

 

쿼리 실행

데이터베이스 개발 준비 끝~

'Dev > database' 카테고리의 다른 글

C / C++ interface For SQLite3  (0) 2011.09.29
SQLite3 tutorial  (0) 2011.09.20
:

Visual Studio Code에서 Spring 개발환경 만들기.

Dev/Spring 2020. 9. 6. 15:49


myjamong.tistory.com/123

 

[Spring] VSCode로 스프링 프로젝트 빌드 :: 마이자몽

VSCode 스프링 프로젝트 빌드 스프링 프레임워크로 개발을 진행할때 이클립스 에디터를 가장 많이사용한다. 프로젝트 생성부터 프로젝트 설정을 편리하게 할 수 있어서 가장 많이 사용되고 자바

myjamong.tistory.com

 

 

[Spring] VSCode로 스프링 프로젝트 빌드 :: 마이자몽

VSCode 스프링 프로젝트 빌드 스프링 프레임워크로 개발을 진행할때 이클립스 에디터를 가장 많이사용한다. 프로젝트 생성부터 프로젝트 설정을 편리하게 할 수 있어서 가장 많이 사용되고 자바

myjamong.tistory.com

JAVA 설치

recipes4dev.tistory.com/173

 

오픈JDK 다운로드 및 설치. (OpenJDK Download and Install)

1. 자바와 오라클. 그리고 OpenJDK. "썬 마이크로시스템즈(Sun Microsystems)" 시절의 자바(Java)는 GPL 라이센스를 가졌기 때문에 자바 프로그램 개발 및 운용에 있어 JDK(Java Development Kit, 자바 개발 도구)..

recipes4dev.tistory.com

jdk.java.net/

 

JDK Builds from Oracle

 

jdk.java.net

윈도우에 메이븐 설치하기.

jiwondh.github.io/2018/08/08/maven-install/

 

[Spring] 메이븐(Maven) 설치하기 (Windows) | Jiwon Blog

 

jiwondh.github.io

 

:

GetHostByName 경고문 발생시 처리방법

Dev/C# 2019. 5. 10. 13:45


'System.Net.Dns.GetHostByName(string)' is obsolete: '"GetHostByName is obsoleted for this type, please use GetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202"'

 

경고 발생시 GetHostByName => GetHostEntry 로 변경하면 없어짐.

 

'Dev > C#' 카테고리의 다른 글

Json.NET 구현방법 (Newtonsoft.Json)  (0) 2019.02.14
사용자 컨트롤 만들기  (0) 2012.08.23
:

Vue 기본 문법

Front-end/Vue.js 2019. 2. 22. 14:09


변수 Binding


 <html>

  <head>

  </head>

  <Body>

    <div id="app">

  <h2>{{product}} is in shock</h2>

</div>

<script src="https://unpkg.com/vue"></script>

<script>

  const app = new Vue({

    el: '#app',

data: {

  product: 'Boots'

}

  })

</script>

  </Body>

 </html>





for loop


 <html>

  <head>

  </head>

  <Body>

    <div id="app">

  <ul>

    <li v-for="product in products">

  {{product}}

</li>

  </ul>

</div>

<script src="https://unpkg.com/vue"></script>

<script>

  const app = new Vue({

    el: '#app',

data: {

  products: [

    'Boots',

'Jacket',

'Hiking Socks'

  ]

}

  })

</script>

  </Body>

 </html>



서비스의 JSON 데이터 처리


 <html>

  <head>

  </head>

  <Body>

    <div id="app">

  <ul>

    <li v-for="product in products">

  {{product.quantity}} {{product.name}}

</li>

  </ul>

</div>

<script src="https://unpkg.com/vue"></script>

<script>

  const app = new Vue({

    el: '#app',

data: {

  products: [

  ]

},

created () {

  fetch('https://api.myjson.com/bins/74l63')

    .then(response => response.json())

.then(json => {

  this.products = json.products

})

}

  })

</script>

  </Body>

 </html>

 


IF 문


 <html>

  <head>

  </head>

  <Body>

    <div id="app">

  <ul>

    <li v-for="product in products">

  {{product.quantity}} {{product.name}}

  <span v-if="product.quantity === 0">

    - OUT OF STOCK

  </span>

</li>

  </ul>

</div>

<script src="https://unpkg.com/vue"></script>

<script>

  const app = new Vue({

    el: '#app',

data: {

  products: [

  ]

},

created () {

  fetch('https://api.myjson.com/bins/74l63')

    .then(response => response.json())

.then(json => {

  this.products = json.products

})

}

  })

</script>

  </Body>

 </html>



compute (합계 구하기)


 <html>

  <head>

  </head>

  <Body>

    <div id="app">

  <ul>

    <li v-for="product in products">

  {{product.quantity}} {{product.name}}

  <span v-if="product.quantity === 0">

    - OUT OF STOCK

  </span>

</li>

  </ul>

  <h2>Total Inventory: {{totalProducts}}</h2>

</div>

<script src="https://unpkg.com/vue"></script>

<script>

  const app = new Vue({

    el: '#app',

data: {

  products: [

  ]

},

computed: {

  totalProducts() {

    return this.products.reduce((sum, product) => {

  return sum + product.quantity

}, 0)

  }

},

created () {

  fetch('https://api.myjson.com/bins/74l63')

    .then(response => response.json())

.then(json => {

  this.products = json.products

})

}

  })

</script>

  </Body>

 </html>



Control (버튼 추가)


 <html>

  <head>

  </head>

  <Body>

    <div id="app">

  <ul>

    <li v-for="product in products">

  {{product.quantity}} {{product.name}}

  <span v-if="product.quantity === 0">

    - OUT OF STOCK

  </span>

  <button @click="product.quantity += 1">

    Add

  </button>

  <button @click="product.quantity -= 1">

    Sub

  </button>

</li>

  </ul>

  <h2>Total Inventory: {{totalProducts}}</h2>

</div>

<script src="https://unpkg.com/vue"></script>

<script>

  const app = new Vue({

    el: '#app',

data: {

  products: [

  ]

},

computed: {

  totalProducts() {

    return this.products.reduce((sum, product) => {

  return sum + product.quantity

}, 0)

  }

},

created () {

  fetch('https://api.myjson.com/bins/74l63')

    .then(response => response.json())

.then(json => {

  this.products = json.products

})

}

  })

</script>

  </Body>

 </html>


Control (입력상자 Input)


 <html>

  <head>

  </head>

  <Body>

    <div id="app">

  <ul>

    <li v-for="product in products">

  <input type="number" v-model.number="product.quantity">

  {{product.name}}

  <span v-if="product.quantity === 0">

    - OUT OF STOCK

  </span>

  <button @click="product.quantity += 1">

    Add

  </button>

  <button @click="product.quantity -= 1">

    Sub

  </button>

</li>

  </ul>

  <h2>Total Inventory: {{totalProducts}}</h2>

</div>

<script src="https://unpkg.com/vue"></script>

<script>

  const app = new Vue({

    el: '#app',

data: {

  products: [

  ]

},

computed: {

  totalProducts() {

    return this.products.reduce((sum, product) => {

  return sum + product.quantity

}, 0)

  }

},

created () {

  fetch('https://api.myjson.com/bins/74l63')

    .then(response => response.json())

.then(json => {

  this.products = json.products

})

}

  })

</script>

  </Body>

 </html>

:

Vue.js 관련 학습 링크 모음.

카테고리 없음 2019. 2. 22. 13:22



왜 Vue.js를 배우고 싶어하나? 



:

Unity 개발환경 구축

Dev/Unity 2019. 2. 19. 13:35




unity 사이트에 접속해서 프로그램 다운로드 & 설치

https://unity3d.com/kr


시작하기 >> Personal 무료체험 >> Windows용 설치 프로그램 다운로드


UnityDownloadAssistant-2018.3.5f1.exe 형태의 설치 프로그램 다운로드... 후 실행한다.


Unity Download Assistant 설치 프로그램이 실행 되고... 난 mobile 개임 개발 환경을 만들 것이므료

 -> default + Android Build Support + iOS Build Support 선택 후 Next

(visual studio 는 종료 되어 있어야함.)

끝까지 설치 진행한다. (visual studio installer를 통해 비주얼 스튜디오(community 버전)도 설치됨)


unity 계정 가입 & 로그인

설지 완료후

시작 > Visual Studio 2017 Tools for Unity Package  "실행"


1. Sign in) Sign into your Unity ID 표시가 나타나면 create one 클릭하여 계정생성 (email, username, full name, 비밀번호 입력 -> Confirm mail 수신하여 15일 안에 Link to confirm email 클릭해주면 계정페이지로 이동되며 끝.

2. License) 다시 프로그램으로 돌아와 Continue 눌러주면 License 스텝으로 이동 후 Unity Personal 선택 후 "Next" 클릭 => popup화면(License agreement) 에서 "I don't use Unity in a professional capacity" 선택후 Next


3. My Profile) 
  Where atr you located : Korea, Republic of 선택
  하위 내용들은 이것저것 선택해도 무관. 모두 선택하고 완료

4. Thank you)  "Thank you!" -> Start Using Unity 클릭


프로젝트 생성 가능한 화면이 나타난다. "New Project"
  

:

Json.NET 구현방법 (Newtonsoft.Json)

Dev/C# 2019. 2. 14. 16:00



테스트 환경 : Windows 10, Visual Studio 2015

URL : Newtonsoft  https://www.newtonsoft.com/json

License : MIT License


1. Newtonsoft.Json 패키지 설치

 -  Visual studio의 우측 상단 윈도우최소화 버튼 좌측의 "빠른실행 (Ctrl+Q)" 에 'nuget'키워드를 입력 후 검색결과중 "도구 -> NuGet 패키지 관리자 -> 패키지 관리자 콘솔" 클릭

 - 패키지 관리자 콘솔이 하단에 나타난다. 프롬프트에 명령어 입력후 엔터 (패키지 설치 대상 솔루션이 열려 있어야함.)

    PM> install -package Newtonsoft.Json


'.NETFramework,Version=v4.5.2'을(를) 대상으로 하는 'JsonTester' 프로젝트에 대한 'Newtonsoft.Json.12.0.1' 패키지의 종속성 정보를 수집하려는 중

종속성 정보 수집 시간: 22.36 ms

DependencyBehavior가 'Lowest'인 'Newtonsoft.Json.12.0.1' 패키지의 종속성을 확인하려는 중

종속성 정보 확인 시간: 0 ms

'Newtonsoft.Json.12.0.1' 패키지 설치 작업을 확인하고 있습니다.

'Newtonsoft.Json.12.0.1' 패키지 설치 작업을 확인했습니다.

'nuget.org'에서 'Newtonsoft.Json 12.0.1' 패키지를 검색하는 중입니다.

  GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/12.0.1/newtonsoft.json.12.0.1.nupkg

  OK https://api.nuget.org/v3-flatcontainer/newtonsoft.json/12.0.1/newtonsoft.json.12.0.1.nupkg 5ms

Newtonsoft.Json 12.0.1을(를) 설치하는 중입니다.

'D:\Project\shpark\sample\JsonTester\packages' 폴더에 'Newtonsoft.Json.12.0.1' 패키지를 추가하고 있습니다.

'D:\Project\shpark\sample\JsonTester\packages' 폴더에 'Newtonsoft.Json.12.0.1' 패키지를 추가했습니다.

'packages.config'에 'Newtonsoft.Json.12.0.1' 패키지를 추가했습니다.

JsonTester에 'Newtonsoft.Json 12.0.1'을(를) 설치했습니다.

Nuget 작업 실행 시간: 1.91 sec

경과 시간: 00:00:04.3644066

--------------------------------------- 설치 진행 로그


      => 참조에 Newtonsoft.Json 추가, packages.config 추가됨.


2. 구현추가

 - 코드 상단 namespace using 추가

   using Newtonsoft.Json;

   using Newtonsoft.Json.Linq;



 - Serialize (객체 -> JSON 문자열)

Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Sizes = new string[] { "Small" };

string json = JsonConvert.SerializeObject(product);
// {
//   "Name": "Apple",
//   "Expiry": "2008-12-28T00:00:00",
//   "Sizes": [
//     "Small"
//   ]
// }


- Deserialize (JSON 문자열 -> 객체)

string json = @"{
  'Name': 'Bad Boys',
  'ReleaseDate': '1995-4-7T00:00:00',
  'Genres': [
    'Action',
    'Comedy'
  ]
}";

Movie m = JsonConvert.DeserializeObject<Movie>(json);

string name = m.Name;
// Bad Boys


- LINQ to JSON (컬렉션 형태의 데이터 -> JSON 문자열

JArray array = new JArray();
array.Add("Manual text");
array.Add(new DateTime(2000, 5, 23));

JObject o = new JObject();
o["MyArray"] = array;

string json = o.ToString();
// {
//   "MyArray": [
//     "Manual text",
//     "2000-05-23T00:00:00"
//   ]
// }


끝.


테스트 해보니 잘 된다~ 보안 때문에 실제 테스트 코드와 캡쳐 이미지는 업로드 불가. ㅎㅎ

'Dev > C#' 카테고리의 다른 글

GetHostByName 경고문 발생시 처리방법  (0) 2019.05.10
사용자 컨트롤 만들기  (0) 2012.08.23
:

WoW64 활성화

OS/Windows 2014. 5. 22. 12:57


명령프롬프트를 실행후 다음 명령어를 실행한다.

 

Start /w ocsetup ServerCore-WOW64

OR

dism /online /enable-feature /featurename:ServerCore-WOW64

 

 

:

네트워크에 있는 다른 시스템과 IP주소가 충돌합니다.

Dev/Network 2014. 2. 4. 09:54


cmd를 실행해서 명령 프롬프트를 띄운다.

 

1. > ipconfig /release

2. > ipconfig /renew

 

정상적으로 된다.

'Dev > Network' 카테고리의 다른 글

COV (Change Of Value) - Protocol  (0) 2012.10.05
socket에서 한번에 전송 가능한 패킷의 최대 크기.  (0) 2012.08.20
: