개발일지349 통신 프로토콜이란 통신 프로토콜이란? 웹 서버에 있는 리소스를 클라이언트가 받아 보려면, 클라이언트는 웹에게 특정 리소스를 지정하여 제공해달라고 요청해야 합니다. 그러면 서버가 해당 요청을 이해하고, 대응되는 동작을 통해 클라이언트에게 리소스를 반환합니다. 여기서 클라이언트의 행위를 요청(Request), 서버의 행위를 응답(Response)이라고 합니다. 요청과 응답은 우리의 일상에서도 빈번히 일어나는 상호작용입니다. 집에서, 가게에서, 회사에서 누군가에게 뭔가를 달라고 할 때는 항상 요청과 응답이 이뤄집니다. 눈여겨볼 점은 이러한 행위가 어느 정도 약속되어 있다는 것입니다. A에게 B를 요구할 때, “A야 B 좀 줘”라고 이야기하면, A가 B를 찾아서 건네줍니다. 상황에 따라 요청의 뉘앙스가 조금 바뀔 수는 있지만, .. 개발일지/Http통신 2022. 11. 14. 기반지식 - 인코딩과포트 언어에서의 약속 문장의 의미는 문장을 구성하는 단어의 의미, 문법 구조, 맥락, 독자의 배경 지식 등으로 결정됩니다. 이 중 단어의 의미와 문법은 사회적으로 합의되어 있습니다. 인코딩이란? 컴퓨터의 모든 데이터는 0과 1로 구성됩니다. 지금 보고 있는 글도 사실은 0과 1의 집합입니다. “사과”가 사과를 가리키는 데 약속이 필요하듯, 0과 1로 우리의 문자를 표현하는 것도 일종의 약속 덕분입니다. 이런 약속들을 특별히 인코딩(Encoding) 표준이라고 부르는데, 대표적으로 아스키(Ascii)와 유니코드(Unicode)가 있습니다. 아스키는 7비트 데이터에 대한 인코딩 표준입니다. 이를 이용하면 알파벳과 특수 문자 등을 표현할 수 있습니다. 예를 들어, 아스키에서 1 한 개, 0 다섯 개, 1 한 개를 .. 개발일지/Http통신 2022. 11. 14. # 36 두 숫자의 아크 탄젠트 변환(ATAN2) 두 숫자의 아크 탄젠트 변환(ATAN2) SELECT ATAN2(0.50, 1) AS "두수의 아크 탄젠트"; 개발일지/MySQL 문제모음 2022. 11. 14. # 35 숫자의 아크 탄젠트 반환(ATAN) 숫자의 아크 탄젠트 반환(ATAN) SELECT ATAN(2.5) AS "숫자의 아크 탄젠트 반환"; 개발일지/MySQL 문제모음 2022. 11. 13. # 34 아크 사인 반환(ASIN) 아크 사인 반환(ASIN) SELECT ASIN(0.25) AS "숫자의 아크 사인을 반환 (-1 ~ 1 != NULL값) "; 개발일지/MySQL 문제모음 2022. 11. 13. # 33 아크 코사인 반환(ACOS) 아크 코사인 반환(ACOS) SELECT ACOS(0.25) AS "숫자의 아크 코사인을 반환 (-1 ~ 1 != NULL값) "; 개발일지/MySQL 문제모음 2022. 11. 13. # 32 숫자의 절대값으로 변환 숫자의 절대값으로 변환(ABS) SELECT ABS(-123.12) AS "정수 절대값"; 개발일지/MySQL 문제모음 2022. 11. 13. # 31 문자열을 대문자로 변환(UCASE) 문자열을 대문자로 변환(UCASE),(UPPER) SELECT UCASE("sql tutorial is fun") AS "문자열을 대문자로 변환"; SELECT UPPER("sql tutorial is fun") AS "문자열을 대문자로 변환"; 개발일지/MySQL 문제모음 2022. 11. 13. Stream Stream이란 스트림은 데이터나 이벤트가 들어오는 통로이다. 앱을 만들다 보면 데이터를 처리할 일이 많은데, 어느 타이밍에 데이터가 들어올지 확실히 알기 어렵습니다. 스트림은 이와 같은 비동기 작업을 할 때 주로 쓰인다. 예컨대 네트워크에서 데이터를 받아서 UI에 보여주는 상황을 생각해보면, 언제 네트워크에서 데이터를 다 받을지 알기 어렵습니다. 신호가 약한 와이파이를 쓸 수도 있고, 빵빵한 통신을 쓰고 있을 수도 있다. 이런 문제를 스트림은 데이터를 만드는 곳과 소비하는 곳을 따로 둬서 이 문제를 해결할 수 있다. 스트림이란 데이터의 추가나 변경이 일어나면 이를 관찰하던데서 처리하는 방법이다. (옵서버 패턴이다) dart Stream 클래스는 dart:core 에서 사용가능 dart:async 패키지.. 개발일지/Dart 2022. 11. 13. Future(비동기) - async , await 활용 - 3 이 코드의 특징은 async 함수를 호출할 때, await 키워드를 사용한 것이다. 결과(동시) 개발일지/Dart 2022. 11. 10. Future(비동기) - async , await 활용 - 2 이 코드의 특징은 async 함수를 호출할 때, await 키워드를 사용하지 않는 것이다. 결과(3초뒤) 개발일지/Dart 2022. 11. 10. Future(비동기) - async , await 활용 - 1 https://dartpad.dev/? DartPad dartpad.dev void main() async { final future = await helloWorld(); print(future); } Future helloWorld() { return Future.delayed(Duration(seconds: 3),() { final hello = "Hello World"; print(hello); return hello; }); } 이 코드의 특징은 Future을 return 하는 함수를 호출할 때, await 키워드를 사용한 것이다. main() 함수에서 await 키워드를 사용했기 때문에 async 함수로도 만들어 주었다. 결과(동시) 아마 뭐지? 하면서 의문이 들것이다. helloWorld().. 개발일지/Dart 2022. 11. 10. 이전 1 ··· 12 13 14 15 16 17 18 ··· 30 다음