추정 : 통계량을 사용하여 모집단의 모수를 구체적으로 추측하는 과정
점추정(Point estimation) : 가장 참값이라고 여겨지는 하나의 모수를 추정하는 방법
구간추정(Interval estimation) : 모수가 포함되리라고 기대되는 ‘범위’(=신뢰구간)를 만들어서 추정하는 것으로, 점추정의 정확성을 보완하는 방법이다.
신뢰구간(Confidence interval)
신뢰수준(Confidence level)
- 모수값이 정해져 있을 때 다수의 신뢰구간 중 모수값을 포함하는 신뢰구간이 존재할 확률
- 신뢰수준 95%는 실제 모수값이 신뢰구간에 존재할 확률이 95%인 것을 의미한다.
가설 검정(Statistical hypothesis testing)
귀무가설(null hypothesis)
대립가설(alternative hypothesis)
기각역
어제 마져 하지 못한 부분을 마무리하고 이어서 2절을 마무리했다. 다른 기초지식도 동반되면 쉬울것 같다라는 느낌이든다.분석 쪽을 본격적으로 하다보니 기초통계분석의 어려움이 있었다. 조금더 데이터 분석가에 대한 공부를 위해선 좀 더 진행을 하며 어려움을 느꼇다. 이론적인 기반이라 쌓아감에 중요성을 느끼는 수업이였다.
2주차 강의 이어서 수강
<script>
//함수
function hey() {
alert("안녕하세요")
//onclick="hey()"
}
</script>
누군가가 만들어둔 라이브러리
쉬운 조작!!!!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
//를 이용
<!DOCTYPE html>
<html>
<head>
<title>문법 연습하기!</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<style>
.button-part {
display: flex;
height: 50px;
}
</style>
<script>
</script>
<body>
<div class="top-part">
<h1>자바스크립트 문법 연습하기!</h1>
</div>
<hr/>
<br>
<h2>1. 함수</h2>
<div class="button-part">
<button onclick="checkResult()">결과 확인하기!</button>
</div>
<div class="list-part">
<h2>2. 리스트</h2>
<div id="q1"></div>
</div>
<div class="dict-part">
<h2>3. 딕셔너리</h2>
<div id="q2"></div>
</div>
<div>
<h2>4. 리스트 딕셔너리</h2>
<div id="q3"></div>
</div>
</body>
</html>
위 코드에서 자료형 리스트를 이용하려면 script 부분을 변경
<script>
function checkResult() {
let a = ['사과', '배', '감', '귤']
$('#q1').text(a[2]);
}
</script>
딕셔너리형 자료
<script>
function checkResult() {
let b = {'name' : '영수','age' : 30}
$('#q2').text(b['name']).text(b['age']);
}
</script>
리스트-딕셔너리
<script>
function checkResult() {
let c = [
{ 'name': '영수', 'age': 30 },
{ 'name': '철수', 'age': 35 }
]
$('#q3').text(c[1]['age']);
}
</script>
결과물
<script>
function checkResult() {
let fruits = ['사과','배','감','귤','수박']
$('#q1').empty();
//다른값을 지운다는 말
let temp_html = `<p>감자</p>`;
$('#q1').append(temp_html);
//'감자로 대체하겠다'
}
</script>
<script>
function checkResult() {
let people = [
{ 'name': '서영', 'height': 165 },
{ 'name': '현아', 'height': 170 },
{ 'name': '영환', 'height': 175 },
{ 'name': '서연', 'height': 162 },
{ 'name': '지용', 'height': 190 },
{ 'name': '예지', 'height': 168 }
]
$('#q2').empty();
people.forEach(a => {
let name = a['name'];
let height = a['height'];
let temp_html = `<p>${name}의 키는 ${height}cm 입니다.</p>`;
$('#q2').append(temp_html);
});
}
</script>
완성모습은
자바 스크립트로 웹페이지 제어
2주차 복습
JQuery + fetch
JQuery toggle을 이용하여서 저번에 만들어뒀던 나의 추억 앨범에서 postingbox사라지게 하기
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
//JQuery 링크
<script>
function openclose(){
$('#postingbox').toggle();
}
</script>
<button onclick="openclose()">추억 저장하기</button>
버튼을 통하여 보임과 감춤 활용
<script>
function openclose() {
$('#postingbox').toggle();
}
function makeCard() {
let images = $('#images').val();
let title = $('#title').val();
let content = $('#content').val();
let date = $('#date').val();
let temp_html = `
<div class="col">
<div class="card h-100">
<img src="${images}"
class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">${title}</h5>
<p class="card-text">${content}</p>
</div>
<div class="card-footer">
<small class="text-body-secondary">${date}</small>
</div>
</div>
</div>`;
$('#card').append(temp_html);
}
</script>
결과값
이렇게 만들어도 새로고침을 하면 사라짐!
그 이유는 서버에 저장된 데이터를 활용해야하는데 그저 컴퓨터의 기록에서만 존재하기 때문이다
한번 더 복습을 위해 Yull's Cinema 이용
<script>
function openclose() {
$('#postingbox').toggle();
}
function makeCard(){
let images = $('#images').val();
let title = $('#title').val();
let comment = $('#comment').val();
let star = $('#star').val();
let temp_html = `
<div class="col">
<div class="card">
<img src="${images}"
class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">${title}</h5>
<p class="card-text">${star}</p>
<p class="card-text">${comment}</p>
</div>
</div>
</div>`;
$('#card').append(temp_html);
}
</script>
서버 -> 클라이언트 -> 서버
JSON으로 OpenAPI 봐보기
JSON은 Key와 value로 이루어 져있다
API란? 여러 서버중 특정 창구
허락된 사람만 이용 가능이지만 OpenAPI는 누구나 이용가능
클라이언트가 요청 할 때에도, "타입"이라는 것이 존재합니다.
GET → 통상적으로! 데이터 조회(Read)를 요청할 때
예) 영화 목록 조회
POST → 통상적으로! 데이터 생성(Create), 변경(Update), 삭제(Delete) 요청 할 때
예) 회원 가입, 회원 탈퇴, 비밀번호 수정
Ex)https://movie.daum.net/moviedb/main?movieId=68593
//서버의 위피 /창구의 이름 ? 이후 창구의 데이터
fetch(url).then(res => res.json()).then(data => {
console.log(data)
})
//늘 사용되는 코드
특정 데이터만 가져오기 위해서 (미세먼지 OpenAPI사용)
<head>
<meta charset="UTF-8">
<title>Fetch 시작하기</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
function hey() {
let url = 'http://spartacodingclub.shop/sparta_api/seoulair';
fetch(url).then(res => res.json()).then(data => {
let rows = data['RealtimeCityAir']['row'];
rows.forEach(a => {
let city = a['MSRSTE_NM'];
let air = a['IDEX_NM'];
console.log(city, air);
});
});
}
</script>
//지역 이름과 미세먼지의 정도를 확인하는 데이터만 가져옴
결과값
이러한 것으로 페이지에 사용하는 연습하기
<script>
function q1() {
let url = 'http://spartacodingclub.shop/sparta_api/seoulair';
$('#names-q1').empty(); //empty코드로 새로고침시 쌓이는 데이터 클리어해주기
fetch(url).then(res => res.json()).then(data => {
let rows = data['RealtimeCityAir']['row'];
rows.forEach(a => {
let city = a['MSRSTE_NM'];
let air = a['IDEX_MVL'];
let temp_html = `<li>${city}: ${air}</li>`;
$('#names-q1').append(temp_html);
});
});
}
</script>
미세먼지의 농도에 따라서 매우좋음, 좋음, 나쁨, 매우나쁨 각각색 부여하기
<script>
function q1() {
let url = 'http://spartacodingclub.shop/sparta_api/seoulair';
$('#names-q1').empty();
fetch(url).then(res => res.json()).then(data => {
let rows = data['RealtimeCityAir']['row'];
rows.forEach(a => {
let city = a['MSRSTE_NM'];
let air = a['IDEX_MVL'];
let temp_html = ``;
if (air >= 40){
temp_html = `<li class = "bad" >${city}: ${air}</li>`;
} else if (air >= 80){
temp_html = `<li class = "sobad">${city}: ${air}</li>`;
} else if (air <= 39){
temp_html = `<li class = "good" >${city}: ${air}</li>`;
} else {
temp_html = `<li class = "verygood">${city}: ${air}</li>`;
}
$('#names-q1').append(temp_html);
});
});
}
</script>
//각각의 클래스를 부여하고 그 클래스별 색을 스타일에서 주고 조건문을 부여
{
public static void main(String[] args) {
String s = "I like Java and Python and C.";
System.out.println(s);
//문자열의 길이
System.out.println(s.length()); //.을 찍어주면 여러 기능이 나온다 //29
//대소문자 변환
System.out.println(s.toUpperCase()); //대문자로 변경
System.out.println(s.toLowerCase()); //소문자로 변경
//포함관계
System.out.println(s.contains("Java")); //문장속에서 "~"안의 글자가 포함되면 true
System.out.println(s.contains("C#")); // 안된다면 false
System.out.println(s.indexOf("Java")); //"~" 의 위치정보
System.out.println(s.indexOf("C#")); //포함 안된 것은 -1
System.out.println(s.indexOf("and"));//처음으로 일치하는 위치정보 12
System.out.println(s.lastIndexOf("and"));//마지막 일치하는 위치정보 23
System.out.println(s.startsWith("I like")); // 이 문자열로 시작하면 ture 아니라면 false
System.out.println(s.endsWith("."));//이 문자열로 끝나면 true 아니라면 false
}
}
{
public static void main(String[] args) {
String s = "I like Java and Python and C.";
// 문자열 변환
System.out.println(s.replace(" and", ","));//and를 ,로 변환
System.out.println(s.substring(7)); //인덱스(indexOf) 기준 7부터 시작(이전 내용은 삭제)
System.out.println(s.substring(s.indexOf("Java"))); //위와 같은 뜻
System.out.println(s.substring(s.indexOf("Java"), s.indexOf("."))); //시작위치부터 끝 위치 "직전"까지
// 공백 제거
s = " I love Java. ";
System.out.println(s);
System.out.println(s.trim()); // 앞 뒤 공백을 모두 제거
// 문자열 결합
String s1 ="Java";
String s2 = "Python";
System.out.println(s1+s2);//JavaPython
System.out.println(s1 + "," + s2); //Java,Python
System.out.println(s1.concat(",").concat(s2)); //Java,Python
}
}
Javascript 에서 기본적인 사용법과 웹페이지를 가상으로 만들어 보았고 부트스트랩과 JQuery, JSON, 클라이언트 서버에 대한 기초를 알게 되는 시간이였다.
Java는 아직 부족한 부분이 많아서 조금 더 시간을 투자하며 쌓아 나가며 오늘은 문자열의 대략적인 부분을 진행했다.