728x90

print: 괄호안 내용을 단순히 출력, 줄바꿈 안됨

printf: %d,%f 등을 쓸 때 사용. 

println: 괄호안 내용 출력한 후 한 줄 띄워짐

 

 

 

 

 

 

728x90
728x90

1. %d : 10진수로 출력 정수형
2. %f : 실수형
3. %e : 지수형
4. %o : 8진수로 출력
5. %x : 16진수로 출력
6. %u : 부호없는 10진수로 출력
7. %g : 실수형으로 자동 출력
8. %p : 포인터의 주소를 출력
9. %c : 하나의 문자로 출력 문자형
10. %s : 문자열을 출력

출처: https://clanguage.tistory.com/1 [프로그래밍 블로그]

728x90
728x90

11월 팀플 때 서버배포를 시도하면서 

aws를 썼다. 무료 프리티어지만 용량초과되면 돈 나간다길래 

나름 조심해서 썼다. 

 

(인스턴스를 여러 나라별로 만들어봐서 문제가 생긴걸까..?)

암튼 옆에서 이전달에 쓴게 청구됐다는 얘기를 들어서 쓰고 바로 

인스턴스 중지를 했다. 그리고 이번달, 다음달, 예상청구금액 없는것도 확인함.

 

 

 

하지만

며칠 전

돈 빠져나감!

 

찾아보고 청구서를 자세히보니까 "탄력적 ip"를 썼기 때문이었음 (블로그 보면서 무작정 따라하다보니..ㅜ)

그중에서도 

탄력적ip가 인스턴스랑 연결 안되어있어서 돈 나간다는 거. 

그래서 탄력적ip 바로 삭제하러 갔는데

 

연결해제나 다른 버튼은 활성화안되어있었음

찾아보니까 

릴리즈

가 삭제라길래 그거 누르니까 삭제됨

 

근데 문제는!!! 

심지어 12월 예상청구금액도 찍혀 있었음 충격

얘도 마찬가지로 탄력적 그 똑같은 서비스가 청구됐다고 뜸

 

혹시 몰라서 찾아보면서 있는거 다지움

 

이제 됐겠지 하고 

 

문의메일도 보냄

 

나 11월에 완전 조금 쓰고 중지할거했는데도 돈나갔고

무엇보다 12월에 요금이 자꾸 추가되고 오른다 문제있다 환불해달라

 

 

하니까 11월꺼 환불해줌 근데 문제에 대한 답장은 없음

 

 

 

됐으려나 기다림 

계정 삭제하고 싶은데 뭐가 문제인지 너무 알고 싶음(12월금액 자꾸오르는 이유)

 

 

근데 다음날 또 확인해보니 12월 예상청구금액 3배 오름 

안돼..

 

 

예약도 구독도 없어!

혹시 몰라서 비번도 바꿈

 

메일 답장왔는데 11월 환불잘해줬고 

12월은 너가 이전에 쓴거에 대한 요금이야

이러는데 

 

왜 추가돼? 지금 안쓰는데 왜 오르냐고요

 

 

근데 찾다보니 이거 봄 온디맨드 비용 

뭐 이런게 충당률 보고서에 있더라 

하지만 이게 언제 지출된건지 안나와서

11월꺼일수도 있음

 

(12월 청구된것도 마찬가지로 탄력적ip에서 나갔다하니까..)

 

문제는 계정을 해지해도

예약 인스턴스나 

구독인 애 있으면 돈 계속 나간다는 거야

그게 무서워

 

위에서 봤듯이 하나하나 다 눌러보고 확인해봤는데 없어

온디맨드 저게 예약 항목에 있어서 걱정되고...

온디맨드는 사용한 시간당 돈 지불하는 원래보다 저렴하게 하게 해주는 그런 서비스인거같던데

진짜 뭘까.

 

결론 아무리 찾아보고 해봐도 

나는 안쓰는게 맞는데 계속 12월 쌓이는거 보는거보다 

일단 계정 자체를 해제하기로 마음먹음(예약인스턴스,구독없는거 확인했으니까)

 

 

 

이런 것도 발견함. 의심시작 얜가?

(뭔지 잘모르겠음 내 생각에 내가 사용했던 프리티어 그 크레딧인듯. 구독..그거랑 다르겠지

게다가 사용한 금액 0 이고 남은금액이 오히려 찍혀있는데..

 

확인했다고 없다고 구독같은거 안했다고)

 

 

 

만료 날짜까지 돈나가는거 아니야? 후덜덜해지기도 함

정말 aws 야금야금 돈 뜯어가네

 

해지해도 이전에 청구된거는 다 받아가고

구독,예약있음 뜯어간대 조심

 

결제 예정이거나 미납된 애들 없는거 다 확인하긴 했는데

12월 예상청구...저 놈이 있으니까

거기까지는 오케이해도

 

다음에 더 계속 나가면 문의해야쥐

 

 

 

찾아보면서 진짜 영어잘해야겠다 싶은게 타고 들어가다 보면 공식문서 영어임

거의 1000만원 나와서 취소하려는 사람도 프리토킹으로 해결했다고 하고

 

aws 뒤통수 때리기 멈춰!! 

 

(예산 제한 그것도 설정해봤는데 걍 내가 제한해놓은 값까지만 결제되는게 아니고 넘어갔다고 알람해주는 거였음.....ㅎ

얘네도 그거 알아서 그런지 처음에 환불문의하는거는 돌려주는 거 같긴함. 다른 사람들 중에서도 진짜 안쓰는데 계속 돈나가서 문의하니까 자기네들 설정이 잘못되어있는게 맞다고 너 안쓰는거 맞다고 취소해줬다고 함. )

 

 

 

 

 

 

 

조심...또 조심...

728x90
728x90
package main

import "fmt"

func main() {

   //a는 int 형 이라 선언
	var a int
	//p는 int형 포인트
	var p *int
	//p에 a 주소 대입, p의 값은 a의 주소를 가르키고 있다
	p = &a
	//a는 3으로 대입
	a=3
	//3
	fmt.Println(a)
	//0xc000100028 메모리의 주소 나옴
	fmt.Println(p)
	//포인터가 가르키는 값 3(주소가 가르키는 값)
	fmt.Println(*p)
    
    }

 

 

 

 

포인터 왜 쓰냐 

원래 a출력했을 때 

x++로 해도 

값만 복사됐지 a와 b는 다른거라서  1추가 안되고 여전히 1이었음

x는 괄호 밖에서 역할 못하고

 

포인터 쓰면

package main

import "fmt"

func main() {

//포인터가 왜 사용되는지 보자`~~~~`
var a int
  a=1
  //포인터형 *x으로 해서 a의 주소값으로 해야함
  Increase(&a)

  fmt.Println(a)
}

func Increase(x *int) {
	//x가 가지고 있는 값은 메모리 주소인데
	//그 메모리가 가르키는 주소의 값은 = 메모리가 가르키는 주소의 (원래)값 + 1
*x=*x+1

//얘는 아까 x++와 같은 거라 볼 수 있쥐, 그때 포인터로 안하면 a에서 값만 복사돼서 x++여도 x는 함수 안이라서 a가 늘어나진 않았어
}

 

 

 

 

 

 

이거 사용해서

 

structure로 만든 거 보기

 

함수는 값이 복사돼서 쓰이기만 하지 

안에 있는 s는 다 다른거임 그래서 결과도 넣은 거 안나오고 

수학,a라고 나옴

package main

import "fmt"


type Student struct {
name string
age int
grade string
class string

}

func (s Student) PrintSungjuk(){

	fmt.Println(s.class,s.grade)
}

func (s Student) InputSungjuk(class string, grade string){
    s.class = class
	s.grade =grade
}


func main(){
	var s Student= Student{name: "t",age:23, class: "수학",grade: "A"}
 s.InputSungjuk("과학","c")
 s.PrintSungjuk();
}

 

 

s를 포인터형으로 받으면 해결됨!!!

*Student로 바꿔주면 됨

package main

import "fmt"


type Student struct {
name string
age int
grade string
class string

}

func (s *Student) PrintSungjuk(){

	fmt.Println(s.class,s.grade)
}

func (s *Student) InputSungjuk(class string, grade string){
    s.class = class
	s.grade =grade
}


func main(){
	var s Student= Student{name: "t",age:23, class: "수학",grade: "A"}
 s.InputSungjuk("과학","c")
 s.PrintSungjuk();
}

결과가 과학,c로 잘 나옴

 

 

 

복사될 때 student 메모리의 주소만 복사 되는거

s는 메모리 주소값을 가지고 있는거

s.class 한거는 

s 메모리 주소값이 가르키고 있는 값의 class를 변경. 

 

 

 

C++에서는 

메모리 주소가 가르키는 값의 뭘 변경하고 싶을 때 

p->grade  = "c" 이런 식으로 씀(-> 포인터 앞에 이 화살표 사용)

 

값value 형태에만 . 점 찍을 수 있음

(값)s.grade

 고랭에서는 화살표랑 점 구분 안해

p.grade = "c"  포인터여도 점

s.grade ="c"  그냥 내부 값이어도 점

 

 

 

 

structure 만들고 그안에 속성넣고

기능도 만들었을 때

 

그 기능이 그 값의 내용을 변경한다 할때는

값의 형태가 아니라 포인터의 형태로 받는다는거!

 

 

 

포인터 형태로 호출하면 메모리 주소만 복사 된다

값 형태로 호출하면, 인자를 값 형태로 받으면 전체 값이 다 복사 된다

 

 

 

 

 

강의 좋구만~~

 

https://youtu.be/nBAKHq12kew

 

728x90
728x90

함수 호출 과정은 무조건 복사로 이뤄진다

복사 일어날 때 값이 복사되는 거지

그 메모리가 그대로 전달되는 게 아님~~!!!

 

이걸 해결하기 위해서 포인터가 나옴

 

//

 

객체, 구조체에 대해 알아봤고

구조체는 속성 모아놓은거임

기능을 가질 수도 있음 (함수)

 

속성, 기능 가지고 있는게 구조체

 

 

 

 

 

https://youtu.be/59SpbJX5kTI

 

728x90
728x90

이해한 내용 적어보자면~~

 

값 연결된 형태

next 로 다음 값 가르키고 있음

 

array랑 많이 비교되곤 하는데

값을 삽입하고 뺄 때 array에 비해서 빠름!

대신 조회할 때는 상대적으로 느림 

 

링크드리스트

연결된 그 뭉텅이...를 노드라고 함

 

노드 안에는 값이랑 다음 노드를 가르키는 애(이름뭐였지)가 있음

 

맨앞에 있는 노드를 head

맨 뒤 꼬리에 있는거 tail

 

head를 찾아서 next로 값 빼고 넣고 함

 

변수로 새로 할당해서 하는데 삭제를 먼저 하는게 아니라

다음값 가르키고 나서 삭제해야 뒤에 안잃어~

https://visualgo.net/ko

 

VisuAlgo - 영상을 통한 자료구조와 알고리즘의 시각화 (한국어판) (Korean)<br>

VisuAlgo is free of charge for Computer Science community on earth. If you like VisuAlgo, the only payment that we ask of you is for you to tell the existence of VisuAlgo to other Computer Science students/instructors that you know =) via Facebook, Twitter

visualgo.net

-> 이 비주얼고로 알고리즘 어떻게 작동되는지 살펴볼 수 있음 좋구만

 

본 강의

https://youtu.be/sq49IpxBl2k

 

 

 

 

 

 

 

 

 

 

728x90

+ Recent posts