728x90
반응형
금요일[이번 주 한 주는 어떻게 이렇게 빨리 지났는지 모르겠다. ㅎㄱㅇ은 어떻게 하지..]
1. 수업내용 기재
2. 자바 공부
1. 몽고 DB 1일차
그래픽 User InterFace
오라클 - Table 관계형 데이터 베이스
몽고디비란 nosql 형식 X dynamic
응용프로그램을 쉽게 개발하고 확장할 수 있도록 고안
도큐먼트 데이터베이스
collection 관계형 DB 테이블에 해당 db 선택된 db출력
show dbs:db 목록 출력
use<데이터 베이스명> : 기존의 데이터 베이스를 선택 또는 새 dB 생성
insertOne/insertMany : 컬렉션에 도큐먼트를 삽입, 컬렉션에 존재하지 않으면 생성 후 삽입
find: 컬렉션에서 저장된 모든 도큐먼트를 조회
crud
db.collectioninsert
Qruery Selector
$eq = 턱정값과 같은 값 참
$qt = 특정ㄱ밧과 다른 값 참
...
몽고디비 에 new connection 입력 mongodb://localhost/ > db test > show dbs admin 0.000GB config 0.000GB local 0.000GB > use bitDB switched to db bitDB > db.movies.insertMany([ { title: 'Titanic', year: 1997, awards: { wins: 127, nominations: 63, text : 'Won 11 Oscars. Another 116 wins & 63 nominations.' }, cast: [ 'Leonardo Dicaprio','Kate Winslet','Billy Zane' ,'Kathy Bates'] }, { title: 'The Dark Knight', year: 2008, awords: { wins : 144, nominations: 106, text: 'Won 2 Oscars.Anthher 142 wins & 106 nominations.' }, cast: ['Christian Bale','Heath Ledger','Aaron Eckhart','Micheal Caine'], directors: ['Christopher Nolan']} ]) > db.movies.find().pretty() movie = {"title" : "Strar Wars : Episode IV - A new Hope", "director" : "George Lucas", "year" : 1977} db.mobies.insertOne(movie) db.movies.find().pretty() db.movies.find({"year":{$in:[1997,1998]}}) 객체 안 객체 gt(greater than) 크다 sd db.movies.find({"awards.wins":{$gt:100}}) --특정 필드만 나오게 반환될 거는 1로 지정, 아니면 0 앞{}는 전체를 포함한다는 뜻 db.movies.find({},{"title":1, "directors" :1, "year" :1}); --id를 빼는 명령 db.movies.find({},{"_id"=0,"title":1,"genres":1}); --collection create db.createCollection("log",{capped: true, size : 542880, max: 5000}) --삭제 db.log.drop() --새로운 movies 생성 db.movies.insertMany([ {"title":"Ghostbusters"}, {"title" : "E.T."}, {"title" :"Bleade Runner"}]); --동일한 id값을 넣어보기 db.movies.insertMany([ {"_id":0, "title" : "Top Gun"}, {"_id" : 1, "title" : "Back to the Future"}, {"_id" : 1, "title" : "GreLins"}, {"_id" : 2, "title" : "Aliens"}]) -- db.movies.insertMany([ {"_id": 3, "title" : "Sixteen Candles"}, {"_id" : 4, "title" : "The Terminator"}, {"_id" : 4, "title" : "The Princess Bride"}, {"_id" : 5, "title" : "Scarface"}]) db.inventory.insertOne( {item:"canvas",qty:100,tags:["cotton"],size : {h:20,w:30,uom:"cm"}}) 조회 db.inventory.find({item:"canvas"}) 다수의 도큐먼트 삽입 db.inventory.insertMany([ {item: "note", qty : 25, tags : ["blank","red"],size:{h : 14, w:21, uom:"cm"}}, {item: "mat", qty : 85, tags : ["gray"],size:{h : 28, w:36, uom:"cm"}}, {item: "mousepad", qty : 25, tags : ["gel","blue"],size:{h : 19, w:23, uom:"cm"}} ]) 출력 db.inventory.find().pretty() 쿼리예제 도큐먼트 삽입 db.inventory.insertMany([ {item : "journal", qty : 25, size : {h:14, w:21, uom:"cm"}, status:"A"}, {item : "notebook", qty : 50, size : {h:9, w:11, uom:"in"}, status:"A"}, {item : "paper", qty : 100, size : {h:9, w:11, uom:"in"}, status:"D"}, {item : "planner", qty : 75, size : {h:23, w:30, uom:"cm"}, status:"D"}, {item : "postcard", qty : 45, size : {h:10, w:16, uom:"cm"}, status:"A"} ]); 동등비교 db.inventory.find({status:"D"}) == select * from inventory where status = "D" db.inventory.find({status:{$in:["A","D"]}}); == select * from inventory where status in ("A","D") and조건/ less than lt오른쪽에 있는값보다 적은 왼쪽 필드 값 db.inventory.find({status:"A",qty:{$lt:30}}) == select * form inventory where status = "A" and qty <30; or조건 / 배열로 표현 db.inventory.find({$or : [{status:"A"}, {qty:{$lt:30}}]}) == select * from inventory where status = "A" or qty<30; and, or조건 db.inventory.find({ status:"A", $or : [{qty:{$lt:30}},{item:/^p/}] }) ==select * from inventory where status = "A" and (qty<30 or item like "p%") 도큐먼트 안에 있는 특정값 find db.inventory.find( {size: {h:14, w:21, uom:"cm"}} ) nested field 에 대해 동등 비교 조건 지정 db.inventory.find({"size.uom" : "in"}) db.inventory.find({"size.h":{$lt:15}}) and 조건 지정hdptj 15미만 이고, uom이 in이며 D인 경우 db.inventory.find({"size.h":{$lt: 15}, "size.uom" : "in", status:"D"}) db.inventory.insertMany([ {item: "journal", qty : 25, tags : ["blank","red"],dim_cm:[14,21]}, {item: "notebook", qty : 50, tags : ["red","blank"],dim_cm:[14,21]}, {item : "paper", qty : 100, tags : ["red","blank", "plain"],dim_cm:[14,21]}, {item : "planner", qty : 75, tags : ["blank", "red"],dim_cm:[23,30]}, {item : "postcard", qty : 45, tags : ["blue"],dim_cm:[10,15]} ]); --값이 일치하는 경우 찾기 db.inventory.find({tags: ["red","blank"]}) --값을 포함하고 있는 요소조회 db.inventory.find( {tags:{$all:["red","blank"]}} ) db.inventory.find( {tags:"red"}) db.inventory.find({dim_cm:{$gt:25}}) --여러가지 조건 지정하기 db.inventory.find({dim_cm: {$gt: 15, $lt: 20}}) --지정된 조건을 모두 충족하는 것 db.inventory.find({ dim_cm: {$eleMatch: {$gt: 22, $lt: 30}} }) 배열 인덱스로 쿼리 db.inventory.find({"dim_cm.1" : {$gt:20}}) 배열의 길이로 쿼리 db.inventory.find({"tags" : {$size :3}}) db.inventory.insertMany([ {item: "journal",instock: [{warehouse: "A", qty: 5},{warehouse: "C", qty: 15}]}, {item: "notebook",instock: [{warehouse: "C", qty: 5}]}, {item : "paper",instock: [{warehouse: "A", qty: 60},{warehouse: "B", qty: 15}]}, {item : "planner",instock: [{warehouse: "A", qty: 40},{warehouse: "B", qty: 5}]}, {item : "postcard",instock: [{warehouse: "B", qty: 15},{warehouse: "C", qty: 35}]}, ]); 배열 내부의 도큐먼트 쿼리 db.inventory.find({"instock" : {warehouse:"A", qty: 5}}) db.inventory.find({'instock.qty' : {$lte:20}}) --인덱스를 이룡해서 도큐먼크 쿼리 /작거나 같은 값 db.inventory.find({"instock.0.qty": {$lte:20}}).pretty() --다중조건 지정하기 db.inventory.find({"instock":{$elemMatch:{qty:{$gt:10, $lte:20}}}}) db.inventory.insertMany([ {item : "journal", size : {h:14, w:21, uom:"cm"}, status:"A", instock:[{warehouse:"A",qty:5}]}, {item : "notebook", size : {h:9, w:11, uom:"in"}, status:"A", instock:[{warehouse:"C",qty : 50}]}, {item : "paper", size : {h:9, w:11, uom:"in"}, status:"D", instock:[{warehouse:"A",qty : 60}]}, {item : "planner", size : {h:23, w:30, uom:"cm"}, status:"D", instock:[{warehouse:"A",qty : 40}]}, {item : "postcard", size : {h:10, w:16, uom:"cm"}, status:"A" ,instock:[{warehouse:"B",qty:15},{warehouse:"C",qty : 35}]} ]); 특정필드 지정하기 db.invertory.find({status:"A"},{item:1, status:1}) --특정필드들 제외 시키기 db.inventory.find({status:"A"},{status:0, instock:0}) --내장 도큐먼트의 특정필드 반환 db.inventory.find( {status :"A"}, {item : 1, status : 1, "size.uom" :1} ) --특정 필드만 제외시키기 db.inventory.find( {status : "A"}, {"size.uom":0}) --배열 내의 내장 도큐먼트 프로젝션 db.inventory.find({status : "A"},{item:1, status:1, "instock.qty" : 1}) -- zjffprtus이 동적 db.inventory.insertMany([ {_id:1, item:null}, {_id:2} ]) item 필드가 null이거나 없는 경우 쿼리 db.inventory.find({item:null}) 필드를 포함하지 않는 도큐먼트 쿼리 db.inventory.find({item : {exists:false}}) _______________create(insert), read(find)_________________end update db.inventory.updateOne({item : "paper"}, { $set: {"size.uom" :"cm", status : "P"}, $currentDate: {lastModified:true} }) 여러 도큐먼트 갱신 db.inventory.updateMany( {"qty" :{$lt: 50}}, { $set:{"size.uom" : "in", status: "P"}, $currentDate : {lastModified: true} }) 도큐먼트 갱신 db.invetory.replaceOne( {item: "paper"}, {item : "paper", instock: [{warehouse: "A", qty:60}, {warehouse: "B", qty : 40}]}) 특정 튜ㅜ플 삭제 db.movies.deleteOne({"_id" : 3]) db.movies.deleteMany(["year" : 1984]) 진입 후 use bitDB로 들어가야함 |
시간 상 중략
2.
package algorithm; import java.util.Scanner; public class blackjak { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); int result = 0; boolean run = true; int num = 0; int nums = 0; int num2 = 0; System.out.println("3이상의 카드를 입력해주세요.(*100장을 초과한 숫자는 입력할 수 없습니다.)"); int card = scan.nextInt(); if(card <3) { System.out.println("3장 이하의 카드는 뽑을 수 없습니다."); }else if(card > 101){ System.out.println("100장 이상의 카드는 뽑을 수 없습니다."); }else { while (run) { System.out.println("접근할 숫자를 기재해주세요.(10이상 , 30000미만)"); int match = scan.nextInt(); if(match <10) { System.out.println("10장 이상의 숫자를 기입해주세요."); }else if(match >300001) { System.out.println("300000미만의 숫자를 기입해주세요."); }else { for(int i = 0 ; i < card; i++) { System.out.println((i+1)+"번째 카드의 숫자를 넣어주세요."); num = scan.nextInt(); for(i=0; i< (card-1); i++) { System.out.println((i+2)+"번째 카드의 숫자를 넣어주세요."); nums = scan.nextInt(); }for(i=0; i <(card -2); i++) { System.out.println((i+3)+"번째 카드의 숫자를 넣어주세요."); num2 = scan.nextInt(); int a = (num+nums); int fj = (a+num2)-match; if(fj<0) { result = fj; } } // for(i = 0; i < num ; i++) { // //카드 한 장 뽑기 // num += num; // for(i=0; i< num; i++) { // num+=num; // for(i=0; i<num; i++) { // result = num+=num; // // } // } // } } System.out.println("답은 :"+result); run = false; } |
블랙잭 알고리즘 중본 |
//yesterday wished to today list
. 몽고DB 나에게 좋은 각인 시키기✔
tomorrow wish list
. 친구들과 사이좋게 지내고 긍정적인 추억만 만들고 오기
728x90
반응형
'IT To do and To was' 카테고리의 다른 글
22년 2월 13일_강릉여행 마지막 및 현재 심정 (+ 내일 및 이번주 계획 (0) | 2022.02.13 |
---|---|
22년 2월 12일_강릉여행 1일 (코딩X) (0) | 2022.02.13 |
22년 2월 10일_2월이 벌써 10일이나 지났네..?! java last class (0) | 2022.02.10 |
22년 2월 9일_자바 list, set (0) | 2022.02.09 |
22년 2월 8일_자바 접근제한자 (0) | 2022.02.08 |