728x90

목동코딩학원:

리눅스 서버를 관리 하려면 직접 해결해야 할것이 많다.

예전에 호스트 컴퓨터로 작업을 할때엔 업무일지에 잘 적혀있는 명령어가 아주 큰 Know-How 였다

반면에 지금은 구글과 유튜브가 그역활을 대신 해준다.

중요한 내용이 암기가 실력이 아니라는 얘기다. 학습 능력이 정말 중요한 포인트인 것이다.

학원에서 수업을 하다 보면 아직도 선생님 수업만 받아적으려는 학습태도를 가진 학생을 볼때 마음이 답답하다

아래의 내용도 몇번의 구글 검색으로 해결했다.

볼륨추가 << 1000Giga

ubuntu@ubuntu1:~$ sudo su
root@ubuntu1:/home/ubuntu# fdisk -l

#파티션을 나눈다
root@ubuntu1:/home/ubuntu# fdisk /dev/vdc

Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x452e13e9.

Command (m for help): n
Partition type
p   primary (0 primary, 0 extended, 4 free)
e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-2097151999, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097151999, default 2097151999):

Created a new partition 1 of type 'Linux' and of size 1000 GiB.

Command (m for help): p
Disk /dev/vdc: 1000 GiB, 1073741824000 bytes, 2097152000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x452e13e9

Device     Boot Start        End    Sectors  Size Id Type
/dev/vdc1        2048 2097151999 2097149952 1000G 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

root@ubuntu1:/home/ubuntu# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           394M 1004K  393M   1% /run
/dev/vda1        97G  1.8G   95G   2% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/loop0       62M   62M     0 100% /snap/core20/1270
/dev/loop1       68M   68M     0 100% /snap/lxd/21835
/dev/vda15      105M  5.2M  100M   5% /boot/efi
tmpfs           394M     0  394M   0% /run/user/1000
/dev/loop3       50M   50M     0 100% /snap/snapd/18357
/dev/loop4       64M   64M     0 100% /snap/core20/1822
/dev/loop5       92M   92M     0 100% /snap/lxd/24061

#파티션을 포맷한다
root@ubuntu1:/home/ubuntu# mkfs.ext4 /dev/vdc1

#UUID를 확보한다
root@ubuntu1:/home/ubuntu# blkid

#디랙토리를 만든다
root@ubuntu1:/home/ubuntu# mkdir -p /home/ubuntu/storage

#재부팅시 자동 연결하기 위해서 파일에 설정한다
root@ubuntu1:/home/ubuntu# vi /etc/fstab
	LABEL=cloudimg-rootfs   /        ext4   defaults        0 1
	LABEL=UEFI      /boot/efi       vfat    umask=0077      0 1
	/dev/vdb        none    swap    sw,comment=cloudconfig  0       0
	UUID=0a76a959-85d1-4e8c-8fe6-6e8d036017f7 /home/ubuntu/storage ext4 defaults 0 0


root@ubuntu1:/home/ubuntu# mount -a
root@ubuntu1:/home/ubuntu# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           394M  992K  393M   1% /run
/dev/vda1        97G  1.9G   95G   2% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/loop0       62M   62M     0 100% /snap/core20/1270
/dev/loop1       68M   68M     0 100% /snap/lxd/21835
/dev/vda15      105M  5.2M  100M   5% /boot/efi
tmpfs           394M     0  394M   0% /run/user/1000
/dev/loop3       50M   50M     0 100% /snap/snapd/18357
/dev/loop4       64M   64M     0 100% /snap/core20/1822
/dev/loop5       92M   92M     0 100% /snap/lxd/24061
/dev/vdc1       984G   77M  934G   1% /home/ubuntu/storage

#볼륨을 해제하고 다시 사용할때 사용한다
umount /home/ubuntu/storage << 마운트 해제시
728x90
728x90

목동코딩학원,

 

부모님들이 엔트리는 코딩수업이고 로블록스는 게임인줄 아는 경우가 많다.

엔트리도 블록코딩 없이 오브젝트만 나열한다면 코딩공부가 아니다, 로블록스도 LUA 스크립트 없이 이것 저것 불러다 사용한다면 게임인 것이 맞다고 본다.

 

이번에 고등학교 신입생으로 1학면이 된 상민이는 유니티로 게임 개발을 하기 위해서 C#공부에 열심이고, 이번에 초등학교에 입학한 태준이는 LUA 스크립트를 적용하느라 아주 열심이다.

 

오늘 태준이는 수업을 한 주만 거르자는 아빠의 말에 대성 통곡을 해서 부리나케 학원에 보냈다면서 엄마의 카톡을 받았다 ㅎㅎ. 

아마도 태준이는 1주일간 쌓아논 말을 일요일에 다 푸는거 같다  아마 선생님 소리를 한 천번은 하는것 같다 ㅎㅎ.

10년, 20년 뒤가 기대되는 어린 학생들이다.....

  

목동코딩학원 : 온라인코딩교육, 유니티게임개발교육, 로블록스게임개발교육
목동코딩학원 : 온라인코딩교육, 유니티게임개발교육, 로블록스게임개발교육
목동코딩학원 : 온라인코딩교육, 유니티게임개발교육, 로블록스게임개발교육
목동코딩학원 : 온라인코딩교육, 유니티게임개발교육, 로블록스게임개발교육

 

 

목동코딩학원 : 온라인코딩교육, 유니티게임개발교육, 로블록스게임개발교육

 

목동코딩학원 : 온라인코딩교육, 유니티게임개발교육, 로블록스게임개발교육

 

728x90
728x90

목동코딩학원 :

날자 계산을 해야할 프로젝트는 항상 헤메게 된다.

자바스크립트, mysql, php 각기 문법이 조금씩 다르다.

그래서 이제는 기억할 생각을 안한다. 구글이 없었다면, 엄청 메모를 해야했을 걸 생각하면 아찔하다 ㅎㅎ

 

    <?php
    for($i=0;$i<7;$i++){
        $timestamp = strtotime("Now");
        $timestamp = strtotime("-$i days");

        // echo date("Y-m-d 00:00:00   ", $timestamp);
        $sDate =  date("Y-m-d 00:00:00   ", $timestamp);
        $tDate =  date("Y-m-d 23:59:59   ", $timestamp);
        // echo($sDate."    ");
        $data[] = Get7($tb,$sDate,$tDate);  
    }
    
    ?>
728x90
728x90
SELECT DAYNAME(date_column) as day, COUNT(*) as count
FROM table_name
WHERE date_column BETWEEN DATE_SUB(NOW(), INTERVAL 1 WEEK) AND NOW()
GROUP BY DAYNAME(date_column)

위 쿼리에서, table_name은 데이터를 가져올 테이블 이름을 나타내며, date_column은 날짜 정보가 저장된 컬럼 이름입니다. DAYNAME(date_column)을 통해 날짜 정보에서 요일 정보를 추출하고, COUNT(*)을 통해 해당 요일의 데이터 개수를 계산합니다. WHERE절에서 BETWEEN을 사용하여 1주일 전부터 현재까지의 데이터를 선택하고, GROUP BY절을 사용하여 요일별로 데이터를 그룹화합니다.

이렇게 작성한 쿼리를 실행하면, 각 요일별 데이터 개수를 나타내는 결과가 출력됩니다. 결과에서 day 열은 요일을 나타내는 문자열(예: Monday)이고, count 열은 해당 요일의 데이터 개수입니다. 필요에 따라 쿼리를 수정하여 요일별로 다른 계산을 수행할 수도 있습니다.

728x90
728x90
SELECT MONTH(date_column) as month, COUNT(*) as count
FROM table_name
WHERE date_column BETWEEN DATE_SUB(NOW(), INTERVAL 1 YEAR) AND NOW()
GROUP BY MONTH(date_column)

위 쿼리에서, table_name은 데이터를 가져올 테이블 이름을 나타내며, date_column은 날짜 정보가 저장된 컬럼 이름입니다. MONTH(date_column)을 통해 날짜 정보에서 월 정보를 추출하고, COUNT(*)을 통해 해당 월의 데이터 개수를 계산합니다. WHERE절에서 BETWEEN을 사용하여 1년 전부터 현재까지의 데이터를 선택하고, GROUP BY절을 사용하여 월별로 데이터를 그룹화합니다.

이렇게 작성한 쿼리를 실행하면, 각 월별 데이터 개수를 나타내는 결과가 출력됩니다. 결과에서 month 열은 월을 나타내는 숫자(1~12)이고, count 열은 해당 월의 데이터 개수입니다. 필요에 따라 쿼리를 수정하여 월별로 다른 계산을 수행할 수도 있습니다.

728x90
728x90
오늘 Data 가져오는 방법
SELECT regi_date, reg_member_name,reg_member_phone FROM bugo_member 
WHERE regi_date BETWEEN DATE_ADD(NOW(),INTERVAL -1 DAY ) AND NOW();

일주일 Data 가져오는 방법
SELECT regi_date, reg_member_name,reg_member_phone FROM bugo_member 
WHERE regi_date BETWEEN BETWEEN DATE_ADD(NOW(),INTERVAL -1 WEEK ) AND NOW();


한달 Data 가져오는 방법
SELECT regi_date, reg_member_name,reg_member_phone FROM bugo_member 
WHERE regi_date BETWEEN DATE_COLUMN BETWEEN DATE_ADD(NOW(),INTERVAL -1 MONTH ) AND NOW();
728x90
728x90

목동코딩학원:

초등학생이 코딩을 배우는 가장 좋은 방법은 즐겁게 배우면서 창의적인 문제 해결 능력을 기를 수 있는 환경을 만드는 것입니다. 이를 위해서 몇 가지 방법을 제안해드릴게요. 다만 모든 학생이 코딩을 이해가기는 어렵습니다.

여러해 코딩 수업을 하면서 알게된 점은, 특히 수학을 잘하지는 않아도 이해 하는데 어려움울 느끼거나, 길 눈이 어두운 경우는 학습하기가 어렵다는 것을 느꼈습니다.

예전에는 주의가 산만하다고 핀잔을 듣던 친구글이 오히려 코딩에는 더 적합 하다는 생각입니다.

  1. 코딩 교육 프로그램 활용하기: 초등학생용 코딩 교육 프로그램은 다양한 형태로 제공되고 있습니다. 예를 들어, '스크래치(Scratch)'나 '타이거브리즈(Tynker)' 등의 웹 기반 코딩 교육 프로그램을 활용하여 쉽고 재미있게 배울 수 있습니다. 이러한 프로그램은 무료로 제공되는 경우도 많아서 집에서도 쉽게 학습할 수 있습니다.
  2. 코딩 교육용 앱 활용하기: 코딩 교육용 앱을 활용하여 코딩 기초를 배울 수도 있습니다. 예를 들어, '코딩몬스터(Coding Monsters)'나 '스타코딩(StarCoding)' 등이 좋은 선택이 될 수 있습니다. 이러한 앱을 활용하여 언제 어디서든 쉽게 코딩을 배울 수 있습니다.
  3. 코딩 교육용 책 구매하기: 코딩 교육용 책을 구매하여 독학하는 것도 좋은 방법입니다. 이러한 책은 초등학생들이 이해하기 쉽게 쓰여져 있으며, 예제와 함께 설명이 되어 있어 코딩 초보자들도 이해하기 쉽습니다.
  4. 코딩 동아리 참여하기: 학교나 지역 커뮤니티에서 운영하는 코딩 동아리에 참여하여 다른 학생들과 함께 코딩을 배우는 것도 좋은 방법입니다. 이러한 동아리는 현장에서 코딩을 실습해볼 수 있는 기회를 제공하며, 같은 목표를 가진 학생들과 함께하는 경험을 통해 친구도 만들 수 있습니다.
  5. 코딩 관련 이야기 듣기: 코딩과 관련된 이야기를 듣는 것도 코딩 교육에 도움이 될 수 있습니다. 유튜브나 팟캐스트를 활용하여 코딩의 개념이나 코딩을 이용한 실제 문제 해결 과정 등을 듣는 것이 좋습니다.

목동코딩학원: 코딩교육, 온라인코딩교육

728x90
728x90

 

1. Linear Search Algorithm: Linear search is a basic searching algorithm that searches for a target value in an array by iterating over each element of the array one by one.

int linearSearch(int arr[], int n, int x) {
   int i;
   for (i = 0; i < n; i++) {
      if (arr[i] == x) 
         return i; //return the index of the found value
   }
   return -1; //if value is not found, return -1
}
 
 

2. Bubble Sort Algorithm: Bubble sort is a simple sorting algorithm that repeatedly steps through the list, compares adjacent elements and swaps them if they are in the wrong order.

void bubbleSort(int arr[], int n) {
   int i, j, temp;
   for (i = 0; i < n-1; i++) {
      for (j = 0; j < n-i-1; j++) {
         if (arr[j] > arr[j+1]) {
            temp = arr[j];
            arr[j] = arr[j+1];
            arr[j+1] = temp;
         }
      }
   }
}
 

3. Factorial Algorithm: Factorial is a mathematical function that multiplies a given number with all the natural numbers below it. This algorithm calculates the factorial of a given number using recursion.

int factorial(int n) {
   if (n == 0) {
      return 1;
   } else {
      return n * factorial(n-1);
   }
}
 

4. Binary Search Algorithm: Binary search is a fast searching algorithm with time complexity O(log n). It searches for a target value in a sorted array by repeatedly dividing the search interval in half.

int binarySearch(int arr[], int l, int r, int x) {
   if (r >= l) {
      int mid = l + (r - l) / 2;
      if (arr[mid] == x)
         return mid;
      if (arr[mid] > x)
         return binarySearch(arr, l, mid - 1, x);
      return binarySearch(arr, mid + 1, r, x);
   }
   return -1; //if value is not found, return -1
}
 

 

728x90

+ Recent posts