본문 바로가기 메뉴 바로가기

MathTrauma

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

MathTrauma

검색하기 폼
  • 분류 전체보기 (105)
    • Mathematics (10)
      • Number Theory (5)
      • Real Analysis - 단편 (4)
      • Latex (0)
      • Inequality (1)
    • DS\Algo (38)
      • Dynamic Programming (16)
      • Tree (5)
      • Segment Tree (11)
      • 최단 경로 (4)
      • Mathematics (5)
      • Binary Search (1)
    • Programming Language (12)
      • Shell Programming (9)
      • Python3 and Ruby (1)
      • JavaScript [초급 -완결] (2)
      • C++ (0)
    • Computer 일반 (3)
      • Blender (0)
      • Jupyter Lab (0)
      • VIM (3)
      • Mac (0)
  • 방명록

Programming Language (12)
[python3] 파이썬 f-string

python3에는 이미 %-formatting 과 str.format( )이 있었다. 그런데 둘 모두 스트링 끝에 치환해야할 값을 따로 열거하는 방식(C-style)이다보니, 치환해야할 값이 많아지면 가독성이 떨어지고 매칭할 개수를 실수할 여지가 많았다. 치환해야할 자리에 바로 변수를 입력하는 방식이 적용된 것이 f-string 이다. 1. 형식 스트링 앞에 'f' 또는 'F'를 붙이고 치환되어야 할 자리를 {variable_name} 으로 하면 된다. 조금 더 게을러져 보자. 위의 예에서 name 값 앞에 '이름 : ' 을 붙이는 것도 귀찮다면 { } 안에서 변수명 뒤에 '='를 사용하면 변수명을 문자로 출력하고 값도 출력해주는 기특한 짓을 한다. 2. 제한 (1) f-string 의 치환 영역 { }..

Programming Language/Python3 and Ruby 2022. 12. 2. 17:17
Quick JavaScript (11) JSON

1. JSON 이란? JSON 은 JavaScript Object Notation 의 약어이고 Object Literal 을 스트링으로 표현한 것이다. 따옴표로 둘러싸인 JSON 의 표현과 일반적인 Object Literal 과의 차이점을 알아 보자. 1. 속성명은 반드시 큰 따옴표를 사용해야한다. (must be double-quoted) 2. 함수는 값으로 인정되지 않는다. 또한 값으로 사용된 스트링도 큰 따옴표만 허용된다. 주의하자. 다른 곳에서는 작은 따옴표와 큰 따옴표를 구별하지 않는 JavaScript 특성상 자주 실수를 하곤 했다. 현재는 아예 모든 스트링은 큰 따옴표를 사용하고 있다. 간단한 예를 하나 보자. const test='{ "name" : "mathtrauma", "age" : ..

Programming Language/JavaScript [초급 -완결] 2022. 10. 26. 13:50
Quick JavaScript (10) Object - MemberShip

1. 속성 존재 확인 객체는 여러 가지 정보를 모아둔 container 역할을 기본으로 한다. 따라서 내부에 어떤 정보가 있는지 확인할 수 있어야 한다. let obj = { id : 'trauma', test(){ console.log('Hi!'); } }; 1. 객체에 속성이 정의되지 않았다면 undefined 일 것이다. 이를 이용해서 특정 속성이 객체에 존재하는지 확인할 수 있다. 2. 우아하게 ' in ' 연산자를 이용해서 같은 일을 할 수 있다. obj.id !== undefined //true 'id' in obj; // true obj.address !== undefined //false 'address' in obj; //false 2. Object.hasOwnProperty( ) 'ha..

Programming Language/JavaScript [초급 -완결] 2022. 10. 24. 16:32
Bash Scripting 07 - if

처음 shell programming 관련 글에서 if 를 만났을 때, 당황스러웠습니다. if 가 사용되는 기본형을 봅시다. if [ expression ] then ... fi 그 글에서 if 와 [ 사이에 공백이 필요하고 [ 와 expression 사이에도 공백이 필요하다고 강조를 하더군요. 공백이 왜 필요하지? if 다음에 ( 가 따라와야 하는 C/C++ 혹은 Java 등과 비교해보면 이상합니다. 그 언어들에서 if 와 ( 사이, ( 와 expression 사이에 공백을 요구하지 않았거든요. 그래서 이유를 알아 보았습니다. 다른 프로그래밍 언어에서는 if 는 뒤에 논리식(logical expression)이 따라 옵니다. 하지만 bash 는 사정이 다릅니다. if command #command 위치..

Programming Language/Shell Programming 2022. 7. 27. 01:04
Bash Scripting 06 - 문자열

bash 에서 모든 변수는 '문자열' 입니다. 따라서 변수의 확장, 명령어 대치 등이 일어나지 않는다면 다음은 모두 같습니다. name=mathtrauma name='mathtrauma' name="mathtrauma" 일단 누구나 짐작할 수 있는 '공백을 포함하는 문자열'을 한 묶음으로 만드는 기능 외에 따옴표는 왜 필요할까요? 1. Single Quotes 작은 따옴표로 묶인 문자열은 어떤 경우에도 확장이나 치환이 일어나지 않습니다.(No interpolation) $(command ~) 형태를 사용하여 command 가 shell 에서 수행한 결과를 문자열로 확보할 수 있습니다. 이를 명령어 치환(command substitution) 이라고 부르나 봅니다. 위의 예에서 보듯이 $(echo ~) 는..

Programming Language/Shell Programming 2022. 7. 20. 16:41
Bash Scripting 05 - 변수확장 (3)

기본값을 사용하거나 치환하는 것들을 정리해 봅니다. 위의 스크립트를 'first.sh' 로 저장하고 실행시킨 결과를 보겠습니다. 3 행은 bash version 확인을 한 것인데, mac에서는 기본적으로 제공하는 /bin/bash가 낡아서... version 에 따라 다른 결과를 주는 경우는 따로 표시할 것이고 여기서는 중요하지 않습니다. 5 행을 보면 정의한 적이 없는 변수 'num'이 등장했습니다. ${name-value} name 변수가 정의되지 않은 경우 value(기본적으로 문자열)을 사용합니다. 7 행에서는 위와 같은 방식으로 기본값을 사용한 경우 name 값이 정의되는 것이 아님을 확인할 수 있습니다. 이번에는 변수 num 의 값을 null 로 두었습니다. 실행 결과는 ? 기본값이 적용되지 ..

Programming Language/Shell Programming 2022. 7. 20. 12:22
Bash Scripting 04 - 변수확장(2)

name=-9021 what=${name%${name#?}} 변수확장이란 변수명 앞에 $를 붙이는 것이었습니다. 덧붙여서 { } 를 이용하여 변수를 다른 문자열과 구분지을 수도 있고 다양한 조작도 가능합니다. ${ something } 일단 세 가지를 다루었습니다. echo ${#name} # 변수 길이 출력 echo ${name:index:length} # 부분 문자열 추출 echo ${name#pattern} # name 의 앞부분에서 globbing pattern 에 해당되는 문자열 제거 # 이 들어간 것을 하나 더 공부합니다. ${name##pattern} 앞서 # 이 하나 들어간 것과의 차이는? greedy match 여부입니다. # 가 하나일 때는 짧게 ## 는 최대한 길에 match 되는 것..

Programming Language/Shell Programming 2022. 7. 14. 01:57
Bash Scripting 03 - Globbing

Shell 이 수행하는 filename expansion 을 globbing 이라고 한다네요. 파일이나 디렉토리 이름을 매치시키키 위해 사용됩니다. 테스트를 위해 몇 개의 파일을 만듭니다. globbing pattern으로 간주되지는 않지만 curly brace { } 를 이용해서 한꺼번에 여러 개의 파일을 만들 수 있습니다. 이를 중괄호 확장이라고 한답니다. {a,b,c} 어느 부분에도 공백을 집어넣어 띄어쓰기하면 안되는 이유는 첫 글에서 다루었습니다. 이왕 중괄호 확장이 나왔으니 하나만 더! {1,2,3,4,5,6,7} 대신 {1..7} 을 사용할 수 있네요. globbing 패턴은 와일드 카드 문자 * , ? 와 대괄호 [ ] 를 사용합니다. ? 는 아무거나 한 문자, * 는 아무 문자열을 뜻합니다..

Programming Language/Shell Programming 2022. 7. 11. 19:08
이전 1 2 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • BOJ
  • 민코프스키 부등식
  • max flow
  • number theory
  • 다익스트라
  • C++ big number
  • bash
  • Minkowski's Inequality
  • fenwick tree
  • persistent segment tree
  • 코시 부등식
  • lazy propagation
  • shell
  • script
  • 정수론
  • 세그먼트 트리
  • segment tree
  • 백준
  • Young's Inequality
  • Aho-Corasick
  • Shell Programming
  • 헬더 부등식
  • 영 부등식
  • bash script
  • nearest common ancestor
  • Dijkstra
  • Cauchy's Inequality
  • dynamic programming
  • 완전잉여계
  • Vim
more
«   2026/04   »
일 월 화 수 목 금 토
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바