단순하게 함수 이름이나 바꾸고 그러는걸 리팩토링이라고 하는줄 알았는데
어떻게 보면, 내부 루틴을 함수로 꺼내내거나 하는식으로 유지보수가 편하도록 하는 행위이다.

소프트웨어 공학에서 리팩토링(refactoring)은 주로 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다. 주로 가독성을 높이고 유지보수를 편하게 한다. 버그를 없애거나 새로운 기능을 추가하는 행위는 아니다. 사용자가 보는 외부 화면은 그대로 두면서 내부 논리나 구조를 바꾸고 개선하는 유지보수 행위이다. 

[링크 : http://ko.wikipedia.org/wiki/리팩토링]   

[링크 : http://www.ibm.com/developerworks/kr/library/os-ecref/]

'Programming > 소프트웨어 공학' 카테고리의 다른 글

디자인 패턴 - singleton  (0) 2014.04.02
매번 느끼는 서글프지만 인정하고 싶지 않은 것  (0) 2012.02.08
간트차트  (0) 2012.01.31
SRS / SDS  (0) 2011.06.20
CMMI / TMMI  (0) 2011.06.20
Posted by 구차니
Programming/forth2012. 1. 14. 11:15
forth는 꽤 좋다는데 흐음.. 머가 좋은진 미지수 -ㅁ-
안정적이고 저용량에 킹짱왕이라는데.. 공부할 자료가 그리 많지 않은건 좀... OTL
그리고 AVR용으로도 나와있다고 하니 한번 공부해볼만 할 듯. (디버깅 용도로 많이 쓰는것 같다)

[링크 : http://www.forth.org/] << 공식
[링크 : http://www.delorie.com/gnu/docs/gforth/gforth_toc.html] << 메뉴얼(tutorial)
[링크 : http://no-smok.net/nsmk/ForthLanguage

[링크 : http://win32forth.sourceforge.net/]
    [링크 : http://sourceforge.net/projects/win32forth/] << win32용 forth

[링크 : http://amforth.sourceforge.net/]



'Programming > forth' 카테고리의 다른 글

스택기반의 프로그래밍 언어 - forth  (2) 2012.01.15
Posted by 구차니
Programming/openGL2011. 11. 22. 21:04
소스들을 보면 glsl을 위해서는 항상 glew를 사용하는데
왜 사용하는지 문득 궁금해져서 뒤져보니

과거에 GLSL은 OpenGL 1.4의 extension으로 시작되었다고 한다.
그리고 ARB는 OpenGL ARB에 의해 공식적으로 승인된 Extension이라고 한다.

즉, GLSL 역시 Extention 이므로, GLEW(GL Extention Wrangler) 를 사용해서 
편리하게(?) 확장하여 사용을 하게 된다.

ARB - Extensions officially approved by the OpenGL Architecture Review Board
[링크 : http://www.opengl.org/resources/features/OGLextensions/]
[링크 : http://glew.sourceforge.net/basic.html]

Originally introduced as an extension to OpenGL 1.4, GLSL was formally included into the OpenGL 2.0 core by the OpenGL ARB.
[링크 : http://en.wikipedia.org/wiki/GLSL]
[링크 : http://en.wikipedia.org/wiki/OpenGL#Extensions


사족 : 그러고 보니. Nvidia는 Geforce 8000 이상부터 ATI는 HD 급 부터라고 한거 봐서는..
         Nvidia의 CUDA / ATI의 ATI Stream(OpenCL) 적용 하드웨어와 일치하는 느낌이 드는데..
         결국에는 GLSL은 특화된 CUDA/OpenCL 이라고 보면 되려나?

'Programming > openGL' 카테고리의 다른 글

openGL에서 AVI 동영상 재생하기  (0) 2013.04.09
openGL gcc에서 컴파일 하기  (0) 2012.06.02
GLSL 관련 링크  (0) 2011.11.20
GLSL 함수목록 정리  (0) 2011.11.20
GLSL 은.. intel 내장형으로는 무리?  (0) 2011.11.19
Posted by 구차니
Programming/openGL2011. 11. 20. 14:40
GLSL 관련 문서들 링크

개인적으로 in vec3 val, 이런게 보이길래 찾다보니
pdf 문서가 무진장 정리 잘되어 있는것 같아서 득템한기분임 ㅋㅋ

in 은 함수 안으로 들어가는 변수. 없으면 in과 비슷하다고 보면 될 듯하고
uniform은 GLSL과 어플리케이션의 변수를 공유하도록 하는 구분자이다.


[링크 : http://www.jrr.kr/entry/8-GLSL-Animation] << 펄럭이는 예제

[링크 : http://en.wikibooks.org/wiki/GLSL_Programming/Vector_and_Matrix_Operations] << 벡터 업 캐스팅/다운캐스팅
[링크 : http://www.opengl.org/documentation/glsl/]
    [링크 : http://www.opengl.org/sdk/docs/tutorials/TyphoonLabs/]
        [링크 : http://www.opengl.org/sdk/docs/tutorials/TyphoonLabs/Chapter_2.pdf] << 요거 좋은듯
 [링크 : http://en.wikipedia.org/wiki/GLSL]

'Programming > openGL' 카테고리의 다른 글

openGL gcc에서 컴파일 하기  (0) 2012.06.02
glsl과 glew의 연관관계  (0) 2011.11.22
GLSL 함수목록 정리  (0) 2011.11.20
GLSL 은.. intel 내장형으로는 무리?  (0) 2011.11.19
GLSL 관련 링크  (0) 2011.11.12
Posted by 구차니
Programming/openGL2011. 11. 20. 11:27
예제소스를 보고 정리한 GLSL에서 사용하는 함수들 목록
glShaderSource()의 경우에는 파일의 내용을 직접 넣어주고
glCompileShader()를 통해 모종의 작업을 하는듯 -_-

[링크 : http://www.opengl.org/sdk/docs/man/xhtml/glCreateShader.xml ]
[링크 : http://www.opengl.org/sdk/docs/man/xhtml/glShaderSource.xml]
[링크 : http://www.opengl.org/sdk/docs/man/xhtml/glCompileShader.xml]
[링크 : http://www.opengl.org/sdk/docs/man/xhtml/glAttachShader.xml]
[링크 : http://www.opengl.org/sdk/docs/man/xhtml/glCreateProgram.xml]
[링크 : http://www.opengl.org/sdk/docs/man/xhtml/glLinkProgram.xml]

'Programming > openGL' 카테고리의 다른 글

glsl과 glew의 연관관계  (0) 2011.11.22
GLSL 관련 링크  (0) 2011.11.20
GLSL 은.. intel 내장형으로는 무리?  (0) 2011.11.19
GLSL 관련 링크  (0) 2011.11.12
gluUnProject / glRenderMode(GL_SELECT)  (0) 2011.10.19
Posted by 구차니
Programming/openGL2011. 11. 19. 00:03
다뤄지지 않은 예외가 발생해서 이래저래 뒤적여 보는데..

OpenGL Version = '1.4.0 - Build 7.14.10.4704'
Shading Language Version = '(null)'
Warning: Your graphics card or the driver may be old.
   The next assignment will require OpenGL 3.2 and GLSL 1.50 support.
   Please change the "#version" tag to 110 in your GLSL shader file.
   Compiling shader "..\shaders\blinn_phong_vert.glsl". 

Intel 945GM 으로는 openGL 1.4만 지원하고
965나 946GZ에서나 openGL 2.1을 지원한다고 한다.
[링크 : http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=248717]

6) What NVIDIA hardware will support OpenGL 3?

The new features in OpenGL 3 require G80, or newer hardware. Thus OpenGL 3.0/3.1/3.2/3.3 is not supported on NV3x, NV4x nor G7x hardware. This means you need one of the following NVIDIA graphics accelerators to use OpenGL 3:

Desktop
Quadro FX 370, 570, 1700, 3700, 4600, 4700x2, 4800, 5600, 5800, Quadro VX200, Quadro CX
GeForce 8000 series or higher; Geforce G100, GT120, 130, 220, GTS 150, GTS 250, GT310, 320, 330, 340, GeForce GTX 260 and higher, any ION based products.
 
Notebook
Quadro FX 360M, 370M, 570M, 770M, 1600M, 1700M, 2700M, 2800M, 3600M, 3700M, 3800M
GeForce 8000 series or higher
 
[링크 : http://developer.nvidia.com/opengl-driver

OpenGL 3.2
Released on August 3, 2009 and updated on December 7, 2009.
Supported Cards: GeForce 8, GeForce 9, GeForce 100, GeForce 200 and GeForce 300 series, Radeon HD series
Features:
OpenGL Shading Language revision 1.50 (GLSL)

[링크 : http://en.wikipedia.org/wiki/OpenGL]

결론 : Intel 내장형으로는 포기하면 편해~ 라는거?

'Programming > openGL' 카테고리의 다른 글

GLSL 관련 링크  (0) 2011.11.20
GLSL 함수목록 정리  (0) 2011.11.20
GLSL 관련 링크  (0) 2011.11.12
gluUnProject / glRenderMode(GL_SELECT)  (0) 2011.10.19
glNormal()  (0) 2011.10.18
Posted by 구차니
Programming/Java2011. 11. 15. 22:04
Posted by 구차니
Programming/openGL2011. 11. 12. 21:27
GLSL 샘플 코드라는데..
ARB와 openGL 2.0 버전과 차이점은 먼지 공부할게 많은듯 -_-

[링크 : http://www.lighthouse3d.com/tutorials/glsl-tutorial/setup-for-glsl-example/]

----
2011.1120 추가
Intel 945에서는 ARB 버전으로 해봐도 안된다 -_-
[링크 : http://lighthouse3d.com/wptest/wp-content/uploads/2011/03/glutglsl.zip]
-----
GLEW
[링크 : http://glew.sourceforge.net/]

공식 glsl 사이트
[링크 : http://www.opengl.org/documentation/glsl/]

쉐이더 개발 프로그램
[링크 : http://www.opengl.org/sdk/tools/ShaderDesigner/] Shader Designer
[링크 : http://developer.amd.com/archive/gpu/rendermonkey/pages/default.aspx] render monkey

디버거 - glslDevil 

[링크 : http://cumbia.informatik.uni-stuttgart.de/glsldevil/]
    [링크 : http://cloudlucifer.tistory.com/entry/GLSL-디버거-발견]


튜토리얼
[링크 : http://zach.in.tu-clausthal.de/teaching/cg_literatur/glsl_tutorial/index.html]
[링크 : http://www.lighthouse3d.com/opengl/glsl/]
[링크 : http://www.clockworkcoders.com/oglsl/tutorials.html]

용어정리
ARB - OpenGL Architecture Review Board 
[링크 : http://en.wikipedia.org/wiki/OpenGL_ARB ]

'Programming > openGL' 카테고리의 다른 글

GLSL 함수목록 정리  (0) 2011.11.20
GLSL 은.. intel 내장형으로는 무리?  (0) 2011.11.19
gluUnProject / glRenderMode(GL_SELECT)  (0) 2011.10.19
glNormal()  (0) 2011.10.18
glut Menu 관련 함수들  (0) 2011.10.10
Posted by 구차니
Programming/Java2011. 11. 2. 23:35
public boolean matches(String regex)

matches() 메소드는 정규표현식으로 나타낸 검색어가 String내에 있는지 확인해준다.
정규표현식을 잘 모르지만.. 아무튼 *Manager 로 문자열내에 검색하고 싶으면
matches(".*Manager") 로 하면 된다.

[링크 : http://download.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#matches(java.lang.String)]
[링크 : http://mwultong.blogspot.com/2006/12/java-find-sub-string-in-string.html]
Posted by 구차니
Programming/Java2011. 10. 29. 22:25
정확하게는 추가가 아니라, 목록을 작성하고 새로운 목록으로 대체하는 것이지만..
CListBox 에서 처럼 JList에는 AddItem이나 AddString이 존재하지 않는다.

기본 컨셉인진 모르겠지만
DefaultListModel() 를 이용해서 addElement() 메소드로 원하는 String을 추가하고
추가된 ListModel을 JList의 setModel() 을 통해 대체한다.

import javax.swing.*; // javax.swing.FilenameFilter 

    public class FileUtil {
        public void listFiles(String dir) {
            File directory = new File(dir);
            if (!directory.isDirectory()) {
                System.out.println("No directory provided");
                return;
            }
            //create a FilenameFilter and override its accept-method
            FilenameFilter filefilter_java = new FilenameFilter() {
                public boolean accept(File dir, String name) { //if the file extension is .txt return true, else false
                    return name.endsWith(".java");
                }
            };

            String[] filenames = directory.list(filefilter_java);
            DefaultListModel listModel = new DefaultListModel();

            for (String name : filenames) {
                System.out.println(name);
                listModel.addElement(name);
            }
            jList1.setModel(listModel);
        }
    }

[링크 : http://kldp.org/node/110528]
    [링크 : http://download.oracle.com/javase/tutorial/uiswing/components/list.html]
Posted by 구차니