독하게 시작하는 C 프로그래밍 - 자료형


인프런, 독하게 시작하는 C 프로그래밍

  1. 자료형
    • 정의: 일정 길이의 메모리에 저장된 정보를 해석하는 방법
    • 자료 란: 수(숫자)
      • 전자식 계산기(컴퓨터) 에 status는 두가지 밖에 없다: 0(Off) / 1 (On)
        • 1 bit (0/1 상태를 하나 가지고 있다)
        • 1 byte (4bit) 2 의 4 승 16
        • 32 bit application 이란 memory 통제범위가 4 GB 이다
        • IP 주소 255.255.255.255 > 8bit x 4 == 32 bit
    • 종류
      • 확정여부에 따라
        • 상수: 확정된 수
          • 10 이라는 정수
        • 변수: 변할 수 있는 수, 확정되지 않은 수
          • 변수에는 이름를 붙이며, 메모리(주소)를 갖게 된다
          • 주소에 가면 값(데이터)이 있다
      • 숫자의 형태에 따라
        • 정수
          • 부호가 있느냐(8bit: ASCII), 없느냐
        • 실수: 근사값처리를 하기 때문에 오차가 존재한다
          • float(32bits, 단정도, 유효형식 6자리) 실수를 표현할 일이 있으면 쓰지마라
          • double(64 bit, 배정도, 유효형식 15자리) 16자리 연산이 필요한 경우 오차가 발생한다
          • longdouble(80 bit, 특수정도, windows 에서는 double 로 인식하여 처리함)

  2. 부호체계
    • ASCII(American Standard Code Information Interchange)
      • 7 bit 부호체계 == 27 128 개의 영문,숫자, 등을 제어한다
      • A == 0x41 (8bits)
    • Unicode
      • UCS16: windows 한글은 16bits
  3. C 자료형

  4. C99 에서의 자료형
    • longlongint: 64 bits integer (표현: %lld)


'개발 > C' 카테고리의 다른 글

독하게 시작하는 C 프로그래밍 - 1  (0) 2017.06.30
Posted by 감각적신사
,

Django 프로젝트에서 batch job 돌리기

  1. django-background-tasks 모듈 활용하기

    • docs
    • 샘플 프로젝트
    • 모듈 install:
      • $ pip install django-background-tasks
        # django-compat 에 대한 의존성이 있기 때문에 관련하여 추가 업데이트가 필요할 경우도 있다
        
    • 모듈 관련 설정
      • # settings.py
          INSTALLED_APPS = (
              # ...
              'background_task', # batch job 관련 library
              # ...
          )
        
      • $ python manage.py makemigrations background_task
        $ python manage.py migrate
        
  2. 동작방식

    • django 웹과 별도의 프로세스로 동작 시키기
      • 별도의 명령어 실행
      • $ python manage.py process_tasks
        
    • django 웹안에서 동작 시키기

      • API 형태로 호출하여 실행
      • # urls.py
            urlpatterns = [
                   url(r'^v1/tasks/$', views.tasks, name='tasks'),
              ]
        
        # views.py
         @csrf_exempt
         def tasks(request):
             if request.method == 'POST':
                 message = request.POST.get('message', False)
                 return demo_task(request)
             else:
                return JsonResponse({}, status=405)
        
         @background(schedule=60)
         def demo_task(message):
            logger.debug('demo_task. message={0}'.format(message))


'개발 > python' 카테고리의 다른 글

Python multiprocess vs multithread  (0) 2018.05.24
django mysql rest api project  (0) 2018.03.11
Django 프로젝트  (0) 2017.11.29
Django 프로젝트 생성 및 App 만들기  (0) 2017.08.27
Python Django WEB project 개발하기1  (0) 2016.08.17
Posted by 감각적신사
,

Javascript 로 파일 다운로드 구현하기

  1. 목적
    • 임시로 필요한 파일에 대한 다운로드를 구현하고자 한다
    • 서버에 있는 파일을 읽어서 다운로드 시켜주는 것이 아니라 js 단에서 파일을 만들어 다운로드 시켜준다
    • 서버의 불필요한 리소스를 사용하지 않는다
  2. 구현
    • HTML
        <button id="file_download">click</button>
        <a id="download" download="" href=""></a>
      
    • Javascript
        var abc = {};
        abc['aaa'] = 'bbb';
        $("#file_download").on("click", function (e) {
            $("a#download").attr({
                "download": "download.json",
                "href": "data:application/json;charset=utf8;base64," + window.btoa(JSON.stringify(abc))
            }).get(0).click();
        });
      
  3. 구현예제


'개발 > jquery' 카테고리의 다른 글

Javascript 테스트  (0) 2018.02.14
table rowspan 동적 적용  (1) 2017.11.28
Posted by 감각적신사
,