javascript 문법 맛보기
javascript 기본 문법
언어를 이거저거 써보다보니 느끼는 건데 거의 비슷 비슷하다
생활코딩 보고 튜토리얼 따라하고 쉘 코딩 아니면 node.js 만져볼까 생각 중이다
와 오졌다 설레 미쳤어
Javascirpt가 시대가 흐름에 따라 확장성이라 해야하나 할 수 있는게 많아 졌는데 와우 그냥 다 할 수 있어 멋져 역동적이야 코오,,,
살짝 그래서 노마드 코더의 바닐라.JS 따라해볼까 생각중
주석
//
한 줄 주석
/* */
여러 줄 주석
문자
문자는 ‘ ‘나 “ “ 중 하나로 감싸야한다.
문자를 더할 땐 + 사용
1alert("안녕" + "요런 느낌이랄까?");
.length : 문자열의 길이를 계산하는 메소드
변수
모든 intruction은 다른 줄에 선언되어야 한다
그러고 싶지 않으면 ; 이용하자
변수 생성, 초기화, 사용 단계로 사용하자
기본이다!
123let a = 2 ...
코틀린3일차
시간 출력 오류 수정
분명히 시간과 함께 수정되도록 해놓았는데 [쓰레기 값].mp3로 저장되서 수정했다!
123val timeFormat = SimpleDateFormat("yyyyMMddHHmm")val time = timeFormat.format(java.util.Date())val fileName: String = time + ".mp3"
SimpleDateFormat()을 이용해 시간 포맷을 설정했더니 해결되었다.
listview listener 설정1234567891011121314setContentView(R.layout.playlist)view_mp3.adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, mp3List)view_mp3.onItemClickListener = AdapterView.OnItemClickListener { parent, vie ...
코틀린 2일차
2일 차를 시작하면서글을 쓸 때마다 코드를 다 붙여 넣을 수 없으니 커밋을 할 때 기능 별로 나눠서 해야겠다란 생각이 들었다. 그냥 남기기 용도라 팀플 할 때 빼면 거의 신경 안썼는데 이런게 기본이지 않나 습관 들여야겠다.
화면 추가 및 연결
원리는 간단하다. 액티비티 추가, manifest에 액티비티 추가, xml 파일 추가
액티비티(기능), xml(화면), manifest(허락 받기?)
1234button_list.setOnClickListener { var intent = Intent(this, PlaylistActivity::class.java) startActivity(intent)}
위의 코드는 mainActivity의 버튼 코드이다
intent 안에 PlaylistActivity 추가
액티비티 추가
레코딩 된 파일 읽어오기1234567891011121314151617181920212223242526class PlaylistAct ...
코틀린5일차
2주간 어데 도망갔나?7월 말에 정보처리 산업기사 시험이 있어서 그거 빡 준비해야겠다는 생각에 계속 그 공부만 했다. 뭐 사실 핑계인거 같긴하지만 결론적으로 정보처리 붙었으니까 후회 없다! 그러고는 중간중간 유튭이나 구글링으로 어떻게 하면 더 잘만들까? 찾아보다보니 시간이 훅가버렸다
진행 과정1.0 베타 버전?을 다 만들었다. 내가 원했던건 간단하게 그냥 카운트 타이머 시간 경과를 그래픽으로 보여주고 싶었다.
뭘 배웠냐?
안드로이드 스튜디오랑 친해졌다
이렇게 돌아간다. 이런 기능이 있다(단축키를 좀 더 외웠다던가, 뜬금포 오류의 원인)
파일 구조랑 친해졌다.
maven, gradle 원리 같은 것들
라이브러리랑 좀 놀아봤다.
깃허브 돌아다니면서 코드를 보고 참고했다.
라이브러리를 받아와서 좀 써봤다.
OOP에 대한 갈증이 생겼다.
내가 봐도 지금 짠 코드 난장판이다 휴
이대로 협업하면 난리나는 거야 분발하자
세부 기능TIMER12345678910111213141516 ...
toDoList완성
코드 리뷰What you learend in This Project
Javascript, HTML, CSS 과 조곰 친해졌다
Jascript의 기본 동작을 알게 됬다
이 녀석은 이런 느낌으로 움직이구나
왜 쓰는 구나
sexy한 언어군
html12345678910111213141516171819202122232425262728<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <link rel="stylesheet" href="index.css" /> <title>Test</title> </head> <body> <div class="js-clock"> <h1>00:00</ ...
코틀린 기초 문법
갑자기 군대가기 전에 앱 몇게 만들고 가고 싶어서 하게 됬다 별거 없는 동긴데 재밌어보여서 한 것도 크다.
Basic
package:source files 위치에 source file이 위치해야한다
자바랑 똑같다고 생각하자
programe entry point
컴파일하면 어디서부터 시작하는가?
main 함수부터 실행한다.123fun main(){ println("hello world!") }
function 정의는 어떻게 하나?
fun sum(a:Int, b: Int) : Int{} 순으로 진행한다
unit을 쓰면 리턴 값 생략 가능!
변수
val : 자바의 final
var : 변수
아래와 같이 사용한다1var a : Int = 1
string templates
12var a =1var s1 = = "a is $a"
보니까 루비 느낌으로 객체로 인식하는거 같음. 변수.replace() 이렇게 ...
나만의 앱만들기
휴,, 내 생각
소스 코드 레퍼지터리는 하이퍼 링크를 따라가면 볼 수 있다
에바 삽질을 너무 해버렸어 좀 배운 것들은 확실히 있는데 간단하게 만드려는 의도와 다르게 인터넷에서 배우다보니 나도 모르게 왜 안되지? 하면 데이터베이스 뿐 만아니라 mvmm 패턴도 같이 막 적용하려고 하다보니 걍 머리가 팡 터질 뻔 했다.
이제 Adapter 개념은 확실히 알 것 같다.
lifecycle 주기도 제대로 모르는데 이 곳 저 곳에서 배운 내 잘못이다. 휴
머리도 식힐겸 정리도 할 겸 글 쓴다.
circular view123456789101112131415161718192021222324 // oncreate가 붙은 함수는 생성 될 때 한 번 실행되는 메소드이다. // 커스텀한 뷰를 액티비티에 붙이기 위한 접착제이다 override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PlanAdapter.CustomViewH ...
코틀린4일차
Time Picker 추가
깔끔하게 시간을 설정하기 위해 time Picker을 이용하기로 했다.
second까지 표현 가능하는 것을 원해서 gradle로 모듈을 추가로 받았다
1implementation 'com.kovachcode:timePickerWithSeconds:1.0.1'
12345678910111213141516171819 val timePicker = MyTimePickerDialog( this, MyTimePickerDialog.OnTimeSetListener() { timePicker: TimePicker, hoursOfDay: Int, minute: Int, seconds: Int -> timeText.setText( String.format("%02d", hoursOfDay) + &qu ...
range() 와 enumerate() 차이
시작파이썬에서 for문은 for [변수] in [list, tuple dic 등 객체] 형태로 사용된다PS를 하다보면 인덱싱 할 일이 많은데 난 주로 주어진 리스트 등의 길이를 이용해서 인덱스에 접근했었다.
12for i in range(len(list)): print(list[i])
그런데 for 문을 파이썬 스타일로 사용하려면 enumetriate()를 사용하는게 나은 선택이란 글을 보았다.
왜 enumerate()를 써야하는지, range()와의 차이점은 무엇인지 알아보자
range()range()는 파이썬 기본 내장(built_in) 함수이다.주로 range(stop),range(start,stop,step) 두 형태로 매개 변수를 받는다.
python docs를 보면 range()는 함수보다는 범위와 불변 시퀀스형이라한다
즉 range()는 숫자의 시퀀스를 나타내기 위해 사용되는 수정할 수 없는 시퀀스형이다.
enumerate()enumerate는 “열거하다”란 뜻이다 ...
자료형에 따른 연산속도 차이
시작PS를 하다보면 여러 값을 접근할 일이 많다.list를 사용해서 인덱스에 접근하는 방식으로 주로 문제를 풀었는데, 어느 순간 시간 초과가 발생했다.알고보니 파이썬에서는 자료형에 따라 연산 속도가 달라, 때에 따라 dictionary 등을 이용하면 시간을 단축 할 수 있다고한다.
무엇을 사용해야하는가dictionary와 set의 인덱싱,저장,삭제,탐색의 시간 복잡도가 O(1)이다.반면 list는 데이터 삽입,삭제에서 O(N)의 시간 복잡도를 가진다.
즉 꼭 인덱싱을 해야하는 일이아니라면 dictionary와 set을 쓰는게 더 효율적이다.
실제로 그러한지 백준 10809번 문제로 테스트해 보았다.
각각의 코드는 변화를 최소화하고, 반복문의 수행 시간만 측정하였다.
12345678910111213141516## List로 짠 코드for i in range(len(val)): for j in range(a,a+26): if (val[i] == chr(j) and ...