Skip to content

EcoMaster - 그린 패턴 적용 코드 개선 및 탄소 배출량 분석 서비스

License

Notifications You must be signed in to change notification settings

skkuse/2024spring_41class_team8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ECO MASTER

프로젝트 소개

ECOMASTER 는 사용자로부터 컴파일 및 실행이 가능한 JAVA 코드를 입력받아 탄소 배출량을 계산하고, Green Pattern을 이용해 개선이 가능하다면 코드를 수정합니다. 개선을 통해 감소한 탄소 배출량을 원본 코드의 탄소 배출량과 비교해 제공합니다.

프로젝트 목표

본 프로젝트는 JAVA 코드 실행 시 발생되는 탄소 배출량을 측정한 후, 개선이 가능하다면 개선하여 사용자에게 제공하고 개선의 효과를 알리는 것을 1차 목표로 합니다. 이후 사용자가 다른 패턴에 대해서도 알 수 있도록 Green Quiz도 제공합니다. 사용자들이 발견한 새로운 정보나, 자유로운 사용자간의 소통을 위해 커뮤니티 기능도 포함합니다.

주요 기능

  1. 코드 컴파일 및 실행: 사용자는 Ecomaster 웹 페이지를 통해 JAVA 코드를 입력하고, 해당 코드가 서버에서 컴파일 및 실행됩니다.

  2. 실행 시간 및 메모리 측정: 코드 실행 과정에서 프로그램의 실행 시간과 메모리 사용량이 측정되어 기록됩니다.

  3. 탄소 배출 계산: 측정된 실행 시간 및 메모리 사용량을 기반으로 코드가 실행될 때 서버의 컴퓨팅 환경에서 발생하는 탄소 배출량이 계산되어 사용자에게 제공됩니다.

  4. 코드 개선: Green Pattern을 적용해 코드를 개선한 후 사용자에게 제공합니다.

  5. Green Quiz: 사용자에게 코드의 성능을 향상시킬 수 있는 여러 Green Pattern을 학습할 수 있도록 Quiz를 제공합니다.

  6. Community: 사용자들이 자유롭게 의견을 제시할 수 있도록 Community를 운영합니다.

사용법

  1. 코드 입력: ECOMASTER 웹 페이지에서 JAVA 코드를 입력합니다.

  2. 컴파일 및 실행: 입력한 코드는 서버에서 컴파일되고 실행됩니다.

  3. 측정 결과 확인: 코드 실행이 완료되면 실행 시간과 메모리 사용량이 측정된 결과를 확인할 수 있습니다.

  4. 탄소 배출량 확인: 측정된 결과를 기반으로 코드 실행 시 서버에서 발생한 탄소 배출량을 확인합니다.

  5. 개선 결과 확인: Green Pattern을 적용하여 개선한 코드가 'Modified Code'에 출력됩니다. 또한 실행 시간, 메모리 측정량, 탄소배출량의 개선도 아래 테이블에서 확인할 수 있습니다.

주의사항

  • 입력 가능한 코드는 JAVA로 제한되어 있습니다.
  • 코드 실행 결과 및 탄소 배출량은 참고용으로 제공되며, 정확성을 보장하지 않습니다.
  • 사용자의 입력 및 코드를 실행하고 결과를 저장하는 시간은 최대 30초로 제한되어 있습니다.
  • JAVA 코드는 1000줄 이상 입력할 수 없고, 코드의 최대 크기는 4KB 입니다.
  • Ecomaster는 Window 10 이상, Google Chrome 버전 96 이상을 타겟으로 하고 있으며, 이보다 낮은 버전으로 실행하거나 V8 Engine이 아닌 브라우저를 사용할 시 정상 동작 하지 않을 수 있습니다.

개발자 정보

  • 프로젝트 팀 이름: 8조
  • 팀장: 임성훈
  • 프로젝트 팀원
    • 프론트엔드
      • 김민성
      • 문수현
      • 양승환
    • 백엔드
      • 황인성
      • 임성훈

About

EcoMaster - 그린 패턴 적용 코드 개선 및 탄소 배출량 분석 서비스

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •