오늘 분과장 컨택을 받았다 ㅠㅠ

ㅎㄷㄷㄷㄷ 떨려떨려 ㅋㅋㅋ

내가 낸 아이디어라 드랍되면 참 난감한 상황

옆에서 PL 지호햄이 말하고 추가 이어지는 질문..

은석햄이 받아치고 나도 아~~주 조금 받아치고

"음... 분량이 얼마 없네요...." 헐.....

나는 꽤 많다고 생각했는데 ㅠㅠ

아닌가벼... ㅋㅋㅋㅋ "아이가 폰 부수지 않을까요??"

헐.... 맞는 말이다.... 젠장..... 머리 위에 드랍쉽이 떠다닌다;..

아으,,,, 마치고 내려와서 코딩중에 뒤에 테트리스신 소분님...

"드랍이에요..." 헐.......... ㅠㅠㅠ (당황)"네..?"

"ㅋㅋㅋㅋ아니고 컨텐츠 추가 보안해서 시작하세요"

와우!! 다행이네 ㅋㅋㅋ

여튼 오늘 단기 컨택 이였습니다.^^^

'일기' 카테고리의 다른 글

시작 발표를 마치고...  (1) 2012.02.28
집중세미나를 마지막으로..  (3) 2012.02.25
역량평가 2일째  (1) 2012.02.22


C#을 사용하여 임계값을 주어서 그 값을 상대로 그림을 변환시킵니다.



<<소스>>
OpenFileDialog openFile = new OpenFileDialog();
            openFile.Filter = "All files(*.*)|*.*|jpg(*.jpg)|*.jpg";
            openFile.ShowDialog();

            if (openFile.FileName.Length > 0)
            {
                 Image image = Image.FromFile(openFile.FileName);
                 pictureBox1.Image = image;
                 gBitmap = new Bitmap(image);
                 grBitmap = new Bitmap(image.Width, image.Height);
                 arr = new int[image.Height, image.Width];
                 arr1 = new int[image.Height, image.Width];
                for (int y = 0; y < image.Height; y++)
                 {
                     for (int x = 0; x < image.Width; x++)
                    {
                    //RGB
                         m_color = gBitmap.GetPixel(x, y);
                         brightness = (m_color.R + m_color.G + m_color.B) / 3;
                         arr[y, x] = brightness;
                     }
                 }
                for (int y = 0; y < image.Height; y++)
                {
                    for (int x = 0; x < image.Width; x++)                    
                         if (100 < arr[y, x])//임계치 100
                         {//임계값보다 높으면 255
                             arr1[y, x] = 255;
                         }
                         else
                         {//임계값보다 낮으면 0
                             arr1[y, x] = 0;
                         }
                 }
                 for (int x = 0; x < image.Width; x++)
                 {
                     for (int y = 0; y < image.Height; y++)
                     {
                         //넣어주기
                         gray = Color.FromArgb(arr1[y, x], arr1[y, x], arr1[y, x]);
                         grBitmap.SetPixel(x, y, gray);
                     }
                 }

                 pictureBox2.Image = grBitmap;

             }

아 어려워잉.,.,ㅜㅜ

first-come first-served 선도착 선처리.

선입 선처리 스케줄링 (First-Come, First-Served / FCFS)

- 선입 선처리 정책의 구현은 선입선출(FIFO) 큐로 쉽게 관리할 수 있다. 프로세스가 준비 완료 큐에 진입하면, 이 프로세스의 프로세스 제어 블록(PCB)을 큐의 끝에 연결한다.
- 선입 선처리를 위한 코드는 작성하기 쉽고 이해하기 쉽다. 그러나 선입 선처리 정책 하에서 평균 대기 시간은 종종 대단히 길 수 있다.
- 그러므로 선입 선처리 정책 하에서 평균 대기 시간은 일반적으로 최소가 아니며, 프로세스 CPU 버스트 시간이 크게 변할 경우에는 평균 대기시간도 상당히 변할 수 있다.

- 선입 선처리 스케줄링 알고리즘은 비선점형이다. 이는 특히 시분할 시스템에서 문제가 되는데, 그 이유는 시분할 시스템에서는 각 사용자가 규칙적인 간격으로 CPU의 몫을 얻는 것이 매우 중요하기 때문이다.

소스 코드

public class process {
 public static void main(String args[]){
  new Scheduling();
 }
 
}

///////////////////////////////////////////////////////////

public class FCFS {
 private int number;
 private int arrive_time;
 private int burst_time;
 private int wait_time;
 
 public FCFS(){
 }
 public FCFS(int number,int arrive,int burst){
  this.number=number;
  this.arrive_time=arrive;
  this.burst_time=burst;
  this.wait_time=0;
 }
 public int getNumber(){
  return number;
 }
 public int getArrive(){
  return arrive_time;
 }
 public int getBurst(){
  return burst_time;
 }
 public int getWait(){
  return wait_time;
 }
 public void setArrive(int arrive){
  this.arrive_time=arrive;
 }
 public void setBurst(int burst){
  this.burst_time=burst;
 }
 public void setWait(int wait){
  this.wait_time=wait;
 }
 
}

///////////////////////////////////////////////////////////


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

public class Scheduling {
 private ArrayList<FCFS> processList = new ArrayList<FCFS>();
 int count;
 int processcount=0;
 int headcount;
 Scheduling() {
  System.out.println("생성자 시작");
  int nextArrival = 0;
  int processIndex = 0;
  int waittime = 0;
  
  int temp;
  FCFS currentProcess = null;
  
  try {
   setFile("test\\1.inp.txt");
  }catch(NumberFormatException e){
   
  }catch (IOException e) {
   System.out.println("IOException!!");
  }
  waittime=processList.get(0).getBurst();//첫도착시간
  for(int i=1;i<processcount;i++){
   System.out.println(" "+i);
//   if(processList.get(i).getArrive()==-1)//종료
//    break;
   if(processList.get(i).getArrive()>waittime){
    temp=processList.get(i).getArrive()-waittime;
    if(temp<0)
     temp*=-1;
    waittime+=temp;
    System.out.println("if  temp111  "+temp);
    temp=processList.get(i).getBurst()-processList.get(i-1).getBurst();
    if(temp<0)
     temp*=-1;
    waittime+=temp;
    System.out.println("if  temp222  "+temp);
   }else{
    temp=processList.get(i).getBurst()-processList.get(i-1).getBurst();
    if(temp<0)
     temp*=-1;
    waittime+=temp;
    System.out.println("else  temp"+temp);
   }
   waittime+=count;
   headcount=i;
   System.out.println("head : "+processList.get(headcount).getBurst());
   System.out.println("waittime : "+waittime);
   
  }
  
  try {
   printProcess(waittime, processList.get(headcount).getBurst());
   System.out.println(waittime);
  } catch (IOException e) {
   System.out.println("IOException!!");
  }
 }
 
 private void printProcess(int waitingTime ,int head) throws IOException {
  System.out.println("파일 출력");
  FileWriter fw = new FileWriter("test\\2.out.txt");
  BufferedWriter bw = new BufferedWriter(fw);
  PrintWriter pw = new PrintWriter(bw);
  pw.println(waitingTime+" ");
  System.out.println(waitingTime);
  pw.close();
  bw.close();
  fw.close();
 }
  private void setFile(String filename) throws NumberFormatException,IOException {

  
  String str;

  FileReader fr = new FileReader(filename);
  BufferedReader br = new BufferedReader(fr);
  count = Integer.parseInt(br.readLine());//요청시간(3)
  System.out.println("요청시간 = " + count);
  
  for (int i = 0;; i++) { 
    
   String[] item = br.readLine().split(" ");
   if(Integer.parseInt(item[1])==-1 && Integer.parseInt(item[2])==-1){//종료 조건
    System.out.println("끝내라");
    break;
   }
   processcount++;  
   System.out.println("Number//Arrive//Burst");
   System.out.println(""+i+" "+Integer.parseInt(item[1])+" "+Integer.parseInt(item[2]));
   FCFS process = new FCFS(i,Integer.parseInt(item[1]),Integer.parseInt(item[2]));//입력
   processList.add(process);
  }
  br.close();
  fr.close();
 }
}


'IT 공부 > 자료구조' 카테고리의 다른 글

SRTF  (2) 2012.02.28
SSTF Scheduling  (0) 2012.02.28
SRTF 스케줄링  (0) 2012.02.25
[자료구조] Linked List(링크드리스트)  (0) 2012.02.22

JSON문법은 객체로 사용가능하다.

문자열로 이루어져 있다.

소스코드

메니페스트
 <uses-permission android:name="android.permission.INTERNET"/>
중요합니다.





XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="여기야" />

</LinearLayout>





중요소스
try{
   URL url=new URL("http://rlqks132.tistory.com/");
   URLConnection connection=url.openConnection();
   
   String line;
   StringBuilder sb=new StringBuilder();
   
   BufferedReader reader=new BufferedReader(new InputStreamReader(connection.getInputStream()));
   while((line=reader.readLine())!=null){
    sb.append(line);
   }
   
   JSONObject json=new JSONObject(sb.toString());
   sb.setLength(0);
   JSONObject resopnseData=(JSONObject)json.get("resonseDta");
   JSONArray results=(JSONArray)resopnseData.get("results");
   
   for(int i=0;i<results.length();i++){
    JSONObject result=(JSONObject)results.get(i);
    sb.append(result.get("title")).append("\n\n");
   }
   TextView tv = (TextView) findViewById(R.id.textView);
   tv.setText(sb.toString());
  }catch(Exception e){}

'IT 공부 > 안드로이드' 카테고리의 다른 글

Parser  (1) 2012.03.03
이클립스 느낌표 문제  (2) 2012.02.26
XML을 활용한 RSS리더기  (1) 2012.02.25
파서(Get)  (1) 2012.02.25
Activity 화면창  (3) 2011.11.03


우선,

RSS란?

RSS는 웹상에 존재하는 정보들을 배급 혹은 배포하기 위해 사용되는 방법 중 하나이다. 기존 W3C의 RDF의 XML을 응용한 형태이며, 최근에는 뉴스나 블로그 등 웹상에서 컨텐츠를 취급하는 경우에 있어서 안쓰이는 일이 없다. (중요하단말..)블라블라블라...





예제 소스
메니페스트
 <uses-permission android:name="android.permission.INTERNET"/>
꼭 추가하세요





XML파일
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>




주요 메인 소스
try {
   StringBuilder sb = new StringBuilder();
   URL url = new URL(
     "http://news.chosun.com/site/data/html_dir/2012/02/25/2012022500120.html?news_top");
   XmlPullParser parser = XmlPullParserFactory.newInstance()
     .newPullParser();
   parser.setInput(url.openStream(), null);

   int eventType = parser.getEventType();
   String tag;
   boolean inTitle = false;

   while (eventType != XmlPullParser.END_DOCUMENT) {
    Log.d("END_DOCUMENT", "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
    switch (eventType) {
    case XmlPullParser.TEXT:
     tag = parser.getName();
     if (inTitle) {
      sb.append(parser.getText()).append("\n");
     }
     break;
    case XmlPullParser.END_TAG:
     Log.d("END", "EEEEEEEEEEEENNNNNNNNNNNNNNNNDDDDDDDDDDDDDD");
     tag = parser.getName();
     if (tag.compareTo("titile") == 0) {
      inTitle = false;
     }
     break;
    case XmlPullParser.START_TAG:
     Log.d("START",
       "SSSSSSSSSSSTTTTTTTTTTTTAAAAAAAAAAAAAARRRRRRRRRRRRRTTTTTTTTTTT");
     tag = parser.getName();
     if (tag.compareTo("title") == 0) {
      inTitle = true;
     }
     break;
    }
    eventType = parser.next();
   }
   TextView tv = (TextView) findViewById(R.id.textView);
   tv.setText(sb.toString());
  } catch (Exception e) {

  }

하 오늘도 가는구나

'IT 공부 > 안드로이드' 카테고리의 다른 글

이클립스 느낌표 문제  (2) 2012.02.26
JSON을 활용한 검색기  (2) 2012.02.25
파서(Get)  (1) 2012.02.25
Activity 화면창  (3) 2011.11.03
Animation effect  (1) 2011.11.03

HTTP REST
웹서버 구축시 사용되는 웹서비스 이다.

Get요청
우선 메니페시트 파일에
 <uses-permission android:name="android.permission.INTERNET"/>
꼭 추가하시고!!

 try{
         HttpClient client=new DefaultHttpClient();
         HttpGet get=new HttpGet();
         get.setURI(new URI("http://rlqks132.tistory.com/"));
         HttpResponse resp=client.execute(get);
         BufferedReader br=new BufferedReader(new InputStreamReader(resp.getEntity().getContent()));
         
         String str=null;
         StringBuffer sb=new StringBuffer();
         while((str=br.readLine())!=null){
          sb.append(str).append("\n");
         }
         br.close();
         TextView tv=(TextView)findViewById(R.id.textView);
         tv.setText(sb.toString());
        }catch(Exception e){
        }

예제 입니다.^^

'IT 공부 > 안드로이드' 카테고리의 다른 글

JSON을 활용한 검색기  (2) 2012.02.25
XML을 활용한 RSS리더기  (1) 2012.02.25
Activity 화면창  (3) 2011.11.03
Animation effect  (1) 2011.11.03
화면 변화  (1) 2011.11.02

드디어 기대하고 기대하던 집중 세미나가 끝났습니다...!!

와~~~~~~~~~

그러나.........

저희에겐 단기 과제라는 큰 산이 남아있답니다.....

그게 오늘 토요일 저녘쯤에? 분과장 컨택이 있습니다.

그리고 오늘 시간을 다 보냈던 운영체제.... 참 재밌습니다.???

보람행님께서 주신 충고 잘 새겨 듣겠습니다...

잠줄이며... 공부에 매진 하겠습니다. 아자아자!!

그래도 집중 세미나 기간이 끝나서 기쁩니다.^^ 우후!!

내일은 단기 과제 안드로이드 좀 만들고 테트리스 하는거 좀 보고

운영체제 과제에 온 힘들 쏟겠습니다. 그리고...

CV는 과제가 먼지도 몰라 ㅠㅠㅠㅠ

우짜지 ㅠㅠ 도와주세요

'일기' 카테고리의 다른 글

시작 발표를 마치고...  (1) 2012.02.28
단기 컨택의 하루  (1) 2012.02.26
역량평가 2일째  (1) 2012.02.22


오늘... 시간을 다 버린 주요인 소스!! ㅠㅠ

SRTF 스케줄링....

디스크 스케줄링....

아직도 잘 몰라 ㅠㅠ

그러나 어찌저찌해서 제출.. 아 공부 하자.
//메인 소스
public class process {
 
 STRF STRF[];
 public static void main(String[] args) {
  new Scheduling();
 }
}

//설정
public class STRF {
 private int number;
 private int arrive_time;
 private int wait_time;
 private int burst_time;
 
 public STRF(int number,int arrive,int brust){
  this.number=number;
  this.arrive_time=arrive;
  this.burst_time=brust;
  this.wait_time=0;
 }

 public void addwaittime(){
  wait_time++;
 }
 public void deletetime(){
  burst_time--;
 }
  
 public int getNumber() {
  return number;
 }
 public void setNumber(int number) {
  this.number = number;
 }
 public int getArrivalTime() {
  return arrive_time;
 }
 public void setArrivalTime(int arrive) {
  this.arrive_time = arrive;
 }
 public int getBurstTime() {
  return burst_time;
 }
 public void setBurstTime(int burstTime) {
  this.burst_time = burstTime;
 }

 public int getWaitingTime() {
  return wait_time;
 }

 public void setWaitingTime(int waitingTime) {
  this.wait_time = waitingTime;
 } 

}

//주요소스
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;


public class Scheduling {
 
 private ArrayList<STRF> processList = new ArrayList<STRF>();
 private ArrayList<STRF> waitingList = new ArrayList<STRF>();
 
 Scheduling() {
  System.out.println("생성자 시작");
  int nextArrival = 0;
  int processIndex = 0;
  int waitingTime = 0;
  STRF currentProcess = null;
  
  try {
   setFile("test\\2.inp.txt");
  }  catch (IOException e) {
   System.out.println("IOException!!");
  }
  
  sortProcess();  
  
  nextArrival = processList.get(0).getArrivalTime();
  int time=0;
  for(time =0;;time++){
   while(time == nextArrival){
    if(currentProcess == null){
     currentProcess = processList.get(processIndex);
    }else {
     waitingList.add(processList.get(processIndex));
    }
    processIndex++;
    if(processIndex == processList.size()){
     nextArrival = 0;
    } else {
     nextArrival = processList.get(processIndex).getArrivalTime();
    }
   }
   if(currentProcess != null) {
    if(waitingList.size() != 0) {
     sortWaitingList();
     if(currentProcess.getBurstTime() > waitingList.get(0).getBurstTime()){
      waitingList.add(currentProcess);
      currentProcess = waitingList.get(0);
      waitingList.remove(0);
     }
    }    
    if(currentProcess.getBurstTime() == 0) {
     if(waitingList.size() != 0) {
      currentProcess = waitingList.get(0);
      waitingList.remove(0);
     } else if(nextArrival == 0) {
      break;
     } else {
      continue;
     }
    }    
    currentProcess.deletetime();
    waitingTime += waitingList.size();
   }   
   System.out.println("타임 플러스");
  }
  
  try {
   printProcess(waitingTime);
  } catch (IOException e) {
   System.out.println("IOException!!");
  }
 }
 
 void setFile(String filename) throws NumberFormatException, IOException{
  
  int count;

  FileReader fr = new FileReader(filename);
  BufferedReader br = new BufferedReader(fr);
  
  count = Integer.parseInt(br.readLine());
  System.out.println("count = "+count);
  for(int i=0;i<count;i++){
   System.out.println("asdf");
   String[] item = br.readLine().split(" ");
   STRF process = new STRF(Integer.parseInt(item[0]), Integer.parseInt(item[1]), Integer.parseInt(item[2]));
   processList.add(process);
  }   
  
  br.close();
  fr.close();
 }
 
 void printProcess(int waitingTime) throws IOException {
  System.out.println("파일 출력");
  FileWriter fw = new FileWriter("test\\2.out.txt");
  BufferedWriter bw = new BufferedWriter(fw);
  PrintWriter pw = new PrintWriter(bw);
  pw.println(waitingTime);
  System.out.println(waitingTime);
  pw.close();
  bw.close();
  fw.close();
 }
 
 void sortProcess() {
  System.out.println("프로세스 시작");
  for(int i=0;i<processList.size()-1;i++){
   for(int j=0;j<processList.size()-1-i;j++){
    if(processList.get(j).getArrivalTime() > processList.get(j+1).getArrivalTime() ||
     (processList.get(j).getArrivalTime() == processList.get(j+1).getArrivalTime() && processList.get(j).getNumber() > processList.get(j+1).getNumber())){
     STRF temp = processList.get(j);
     processList.remove(j);
     processList.add(j+1, temp);
     
    }
   }
  }  
 }
 
 void sortWaitingList() {
  for(int i=0;i<waitingList.size()-1;i++){
   for(int j=0;j<waitingList.size()-1-i;j++){
    if(waitingList.get(j).getBurstTime() > waitingList.get(j+1).getBurstTime() ||
     (waitingList.get(j).getBurstTime() == waitingList.get(j+1).getBurstTime() && waitingList.get(j).getBurstTime() > processList.get(j+1).getBurstTime())){
     STRF temp = waitingList.get(j);
     waitingList.remove(j);
     waitingList.add(j+1, temp);
    }
   }
  }
 }
}


하.. 답답하네 ㅠㅠ 이거 엄청 오래 했네요 ㅠㅠ

내일부터 FCFS하고 SSTF 공부해서 올릴께요

'IT 공부 > 자료구조' 카테고리의 다른 글

SRTF  (2) 2012.02.28
SSTF Scheduling  (0) 2012.02.28
FCFS  (2) 2012.02.25
[자료구조] Linked List(링크드리스트)  (0) 2012.02.22

오늘 구상을 꾸몄다.

우선 구상을 꾸민것이라서 컴퓨터로 하지 않고

종이에 끄젹여서 만들었다.

부족하지만 우선 내생각대로 옮겨 적었다.

첫장은 서버로써 탭에 해당하는 부분,

두번째 장은 스마트폰에 클라이언트 해당한다.

<<내일>>

구성만들기!

Connectivity Application SmartPhone에 해당하는
구성도 만들기

'IT 공부 > 과제' 카테고리의 다른 글

"동기화와 비동기화 소켓 사용시 장단점"  (1) 2012.03.04
시작  (1) 2012.02.22
<<과제>>

탭, 스마트폰을 이용한 Connectivity를 이용한 유아 컨텐츠,

우선, UI설정 Contents구성했다.

우선 탭(Server),스마트폰(Client)를 이용해서 보드게임형식의 게임

폰으로 게임을 진행하고, 탭으로 게임현황을 파악하는 형식


-->오늘 구상했으니, 내일은 이제 시작해봅시다.
<<내일>>

예상용 UI구상설계 해보기!
스마트폰 - Client만들기
탭 -  서버 보드판 구상하기

'IT 공부 > 과제' 카테고리의 다른 글

"동기화와 비동기화 소켓 사용시 장단점"  (1) 2012.03.04
구상1-1  (2) 2012.02.24

+ Recent posts