
제가 오늘 프로그래밍언어론을 공부하면서 정리한 내용입니다. 1.일반적으로 언어와 사고는 밀접한 관게를 가진다 ex) 에스키모 쓰는 눈에 대한 단어 1.하늘에서 내려오고 있는 눈 (gana) 2.땅에 내려앉아 쌓여있는 눈 (aput) 3.바람에 이리저리 휘날리는 눈 (pigsirpog) 4.바람에 휘날려 무더기로 쌓여있는 눈 (gimugsug) 프로그래밍 언어 = 사고에 영향을 미치는 도구 사용하는 프로그래밍 언어에 따라 문제를 보는 시각이 달라진다. -> (유연한 사고를 해야된다.) 프로그래밍 언어 = 추상화의 도구 2.추상화란(abstract): 사전적 의미 1)existing as a quality or concept rather than as something real or sold 2) to ma..

저번에 socket.io를 구현한 메시지 기능을 구현했습니다. 하지만 데이터베이스 없이 기능 구현을 한다면 이때까지의 메시지의 기록이 다 사라지게 됩니다 ㅎㅎ 그래서 이번에는 mysql을 이용한 메시지 기록남기기를 해보겠습니다. 먼저 프런트는 이렇게 나오게됩니다. (주의 휴대폰 전용 프런트입니다! 지금 랜덤채팅 웹을 만들고 있어서요 ㅎㅎ) 그리고 2개의 클래스 컴포넌트가 있습니다. 제가 메시지를 보낸 컴포넌트 제가 받은 메시지 컴포넌트 먼저 코드를 봅시다. Message.js import React, { Component } from "react"; import ScrollToBottom from 'react-scroll-to-bottom'; import './message.css'; import Mes..

폰트적용하기위해 assets폴더 생성 [NEW->FOLDER->ASSETS->FOLDER] assets폴더안에 XmasTree.ttf 파일 넣기 https://ko.cooltext.com/download-font-xmas+tree xml 파일 코드 채크박스 이벤트위한 자바파일 작성 package com.example.part2_3; import android.graphics.Typeface; import android.os.Bundle; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; ..

디자인 모드로 해도되지만 저는 가장 기본이되는 텍스트 모드로 xml 코드를 작성을 하겠습니다. 코드로 xml을 만들어 봐야지 디자인 모드가 어떤식으로 동작하는지 알수있기 때문이죠 오늘은 이런 화면이 처음에 나오고 만약 visible true 라는 버튼을 클릭할시에 이렇게되어지는 컴포넌트를 만들어 보겠습니다. 자 처음에 액티비티 파일 Lab3_3Activity 라는 파일을 만들어 주시고 그러면 res하위 폴더에 layout에 activity_lab3_3.xml 자동으로 만들어져 있을거에요 그파일코드를 이렇게 만들어줍니다. 저기서보시면 각각의 id 값이 있고 textview부분을 보시면 visibility에 "invisible"이라고 속성을 정해주었습니다. 그래서 처음에 textview는 보이지가 않습니다...

앱 개발자 관점에서 플랫폼의 아키텍처를 자세히 이해하기나 응용할 필요는 없다고 한다. 하지만 안드로이드 플랫폼이 어떻게 설계되었는지 앱이 어떤 환경에서 수행되는지를 조금 아는 것도 좋을 거 같아서 이 부분을 조금 공부를 해보았습니다. ㅎㅎ 안드로이드 플랫폼은 리눅스 커널 기반이라고합니다. 여기서 HAL은 자바 API 플레임 워크에 하드웨어 가능을 이용하는 표준 인터페이스를 제공한다고 합니다. 자바 API 플레임 워크에서 하드웨어 기기를 이용하기 위한 코드가 실행되면 내부적으로 HAL의 라이브러리 모듈이 로딩되어서 처리를 한다고 합니다. 안드로이드 런타임은 ART 가상 머신을 이용하여 그위에 일반 애플리케이션 개발 시 이용할 수있는 자바 API 플레임 워크를 제공합니다. 대부분 앱 개발자들은 이 자바 AP..
이번에는 안드로이드가 어떻게 돌아가는지 그리고 무슨 특징이 있는지 공부를 해보았습니다. 뭐든지 어떻게 돌아가고 무슨 특징이 있는지 잘 잡아야지만 그것에 대해서 공부를 할 때 덜 헷갈리더군요 ㅎㅎ 안드로이드의 특징입니다. 안드로이드는 공개 운영체제인 리눅스 기반이다. 안드로이드 앱 개발은 자바 와 코틀린을 이용해 개발합니다. 운영체제의 핵심 코드,라이브러리 코드, 스마트폰에 기본으로 탑재된 구글에서 만든 앱 코드 등 대부분 코드가 오픈되어 있습니다. 안드로이드 플랫폼 기반의 스마트폰을 여러 제조업체에서 만들 수 있습니다. 개발자가 만든 앱은 구글 play 스토어뿐만 아니라 다양한 방법으로 사용자에게 배포할 수 있습니다. 안드로이드 기반의 모든 애플리케이션은 평등하다는 사상으로 스마트폰에 기본 탑재된 앱과 ..

오늘은 안드로이드 새 프로젝트를 생성하여 모든언어들의 기본인 hello world를 출력하는 기본앱을 만들어 볼것이다. 그리고 앱을 만들고 난뒤에 에뮬레이터에서 실행해보는것까지 해보겠습니다. 여기서 project와 module이라는 개념이 나오는데 project는 일종의 작업공간(workspace)을 의미합니다. module 이란 안드로이드 스튜디오에서 앱의 단위를 말합니다. 즉 여러 모듈을 묶어서 관리하고자 하는 개념이 project입니다. 일단 처음에는 를 클릭하여 새 프로젝트 마법사를 실행합니다. 새 프로젝트 마법사를 실행시키면 액티비티 추가설정이 나오는데 이것은 화면을 제공하는 안드로이드의 구성요소를 설정하는 부분입니다. 그다음 프로젝트 구성입니다. 프로젝트명과 프로젝트 폴더위치 그리고 지원하는 ..

블로그를 운영하기로 마음먹은순간 내가 이때까지 공부했던 react.js와 node.js 자바스크립트를 올리지못한 아까움과 새로운걸 공부를 시작하기로 다짐했다. 그래서 한번 공부해 보고 싶었던 앱공부를 해보고싶었는데 하이브리드앱인 react-native로 만들수있었지만 하이브리드앱은 한계점이 있었고 그래서 제일 근본이되는 안드로이드 스튜디오로 공부를 하기로 마음먹었다. 그래서 오늘 안드로이드기초부터 차근차근 공부를 시작하여 하루하루 나의 공부 발자취를 남기려고한다. 그리고 마지막엔 기초적인 to-do앱을 개발해서 배포하는것 까지 해볼 생각이다. 화이팅!

server.js message.js 예제를 사용합니다. 이번에 두 개의 프로젝트를 만들게 되었는데 이 두 프로젝트 두 개다 실시간 채팅 기능이 필요합니다. ㅠㅠ 그래서 socket.io 를 이용한 실시간 채팅 기능을 만들어보려고 노력해 보았습니다. express설치와 기본설정 react의 설치와 기본 설정은 건너뛰겠습니다. 설명에 앞서 app.js에서 뿌려지는 message.js와 express서버를 만드는 server.js의 예로 설명을 해보겠습니다. 일단 socket.io는 중요한 3가지를 기억을 해야 됩니다. emit join on 첫 번째로 emit입니다. emit은 단어 그대로 이벤트를 발생시키는 것입니다. 예를 들어 server.js에서 socket.emit('your id',socket.i..