=========================================
카테고리 분류
=========================================
=========================================
ACTION : 최초 로그인 후 메인 페이지 이동
http://URL
메인메뉴탭 > 서브메뉴탭
PAGE : /templates/page/index.html (/fragments/config.html header.html, footer.html)
CLI : js/page/functionService.js > function.init();
this.eventBinding
this.callAjax()
API :
url: '/getData.do',
data:{
userId: userId,
type: "T"
},
type: "GET",
dataType: "json"
PATH : controller/common/CommonController.java > getData()
DATA :
sqlmapper/sql.xml
DATATABLE where type={type}
CLI :
self.dataObject = result.data;
self.dataBinding();
dataBinding{
get row.column1, row.column2 -> set in rowList, columnNm
this.drawDataChart(); // 차트 그리기
this.drawTitle(this.dataCount); // 타이틀 및 갯수 표시
this.drawDataList(); // 데이터 렌더링
}
drawDataList{
set data.name, data.type, ... foreach data from dataList
}
=========================================
분석 팁
- SEARCH FOR HIGH FREQUENCY USAGE LINKS
(자주 사용하는 (각 언어의) 코드 패턴 찾기)
예)
// JS
hasClass("active")
toggleMerge
isPut
new Map().set
itemType.split(',')
itemList.sort(function(a, b) {return a.freq - b.freq;})
filter(list=>list.section===name)[0].itemList
itemList.find(i=>i.itemId === itemId?i.isPut = checked:"");
// JAVA
(type.equals("T")||type.equals("M")||type.equals("M2")
if(!bean.getitemList().containsKey(item.getItemId())) {
<!-- MYSQL - xml -->
<when test='type == "A" or type == "B"'>
INNER JOIN
(
SELECT id
FROM info
WHERE cd = #{cd}
) B ON A.id = B.id
WHERE A.section = #{section}
</when>
<otherwise>
WHERE A.section = #{section}
AND A.id = #{id}
</otherwise>
LIKE CONCAT('%',#{searchTerm},'%')
REPLACE(item, '%', 'NON%')
IF(D.item IS NULL, 'N', 'Y')
CAST(ROUND(freq, '2')
LIMIT 10
<foreach item="item" index="index" collection="listArray" open="(" close=")" separator=",">
#{item}
</foreach>