오늘 진행한 일정

- 자바스크립트와 제이쿼리 기초 55강까지 진행.

 

 

 

CSS

 


- 팝업을 띠웠을 때(기존 HTML 화면이 배경이 되는 경우), 기존 화면의 overflow를 hidden으로 주면 기존 화면의 스크롤바는 안 보이게 된다.


- overflow 될 경우에만 스크롤바가 생기도록 구현할 떄, overflow-y: auto을 사용한다. overflow에는 기준이 필요하기 때문에 max-height를 주는 방법이 있다.

 


flex-grow: 1; 의 의미
  - 해당 요소가 속한 부모 요소의 width 또는 height 중 남는 부분을 다 가져간다.
    - 부모 요소에 display: flex;  /  flex-direction: row(width) 또는 column(height)
  - 단, 값을 절대적으로 정해줘도 수축성이라는 게 존재해서 화면에 보이는 것들이 점점 작아질 수록 flex-grow:1의 형제들도 결국엔 작아진다. 이때, flex-shirink: 0을 주면 줄어들지 않는다.(기본값이 1)

 

- 가상 클래스 before, after
  - 전과 후로 생성해줄 요소를 지정한다.
  - content라는 요소를 반드시 사용해야 한다.

 

 

내일 할 일

- 자바스크립트와 제이쿼리 기초 69강까지 숙달시켜야 함.

'Records' 카테고리의 다른 글

2021-07-05 ( CSS )  (0) 2021.07.05
2021-07-03 ( CSS, JavaScript )  (0) 2021.07.05
2021-07-01 ( CSS )  (0) 2021.07.01
2021-06-30 ( JAVA )  (0) 2021.07.01
2021-06-29 ( JAVA )  (0) 2021.06.29
오늘 진행한 일정

- JavaScript 30강까지 진행.

 

 

CSS

- CSS visibility와 opacity로 구현한 버튼

어떤 요소가 천천히 사라지도록 구현하려할 때, display: none에 transition과 animation이 소용없기 때문에 display: none을 빼고 visibility와 opacity를 함께 적용해야한다. visibility는 요소가 클릭되는 것을 막아주고 opacity는 transition 효과를 담당해서 효과를 낼 수 있다.

'Records' 카테고리의 다른 글

2021-07-03 ( CSS, JavaScript )  (0) 2021.07.05
2021-07-02 ( CSS )  (0) 2021.07.03
2021-06-30 ( JAVA )  (0) 2021.07.01
2021-06-29 ( JAVA )  (0) 2021.06.29
2021-06-28 ( JAVA )  (0) 2021.06.28
오늘 진행한 일정

- JAVA Collections 내장 함수로 객체를 담은 배열 ( 2차원 배열 )의 필드값을 기준으로 오름차순, 내림차순 정렬하는 방법 습득.

 

- boolean은 데이터가 단순할 때만 사용하는 게 좋고, Map을 사용해서 여러 타입의 데이터를 취합하는 방법 습득.

 

 

 

JAVA

- 좋아요와 싫어요가 동시에 존재할 때, Controller에서 Repository까지 데이터를 전달하기 가장 좋은 자료구조는 Map이다.
- Stream sorted

public List<Article> getSortedArticles(List<Article> filteredArticles, String orderByColumn,
			  String orderAscTypeCode) {
  return filteredArticles.stream().sorted(Comparator.comparing(Article::getHitCount))
					.collect(Collectors.toList());
  }


 

 

내일 할 일

- 장기적으로 유리한 학습 방법을 고민해보는 시간 갖기.

  

'Records' 카테고리의 다른 글

2021-07-02 ( CSS )  (0) 2021.07.03
2021-07-01 ( CSS )  (0) 2021.07.01
2021-06-29 ( JAVA )  (0) 2021.06.29
2021-06-28 ( JAVA )  (0) 2021.06.28
2021-06-26 ( PHP, JAVA )  (0) 2021.06.26
오늘 진행한 일정

- Java 텍스트 게시판 제작

 

 

JAVA

- 테스트 게시물, 게시판, 회원 만들기
  1) Service 파트에서 값을 넣어주고, add, write가 실행돼서 최종적으로 Repository에서 기존에 존재하는 함수가 실행시키도록 한다. (articleLastId가 Repository에서 작동하기 때문에 신경을 안 써도 된다는 장점이 있다)
  2) Controller의 생성자(프로그램이 실행됐을 때 딱 한번만 실행 됨)에서 Service에서 정의한 메서드를 호출한다.


- (테스트를 위해) 로그인한 상태로 접속
  1) App.java에 1번 member를 호출하고 rq객체를 생성해서 login 메서드에 호출한 member를 넣는 내부 메서드를 정의한다.
  2) run메서드에서 로그인에 따라 prompt에 값을 넣는 분기 이전에 위의 내부 메서드를 실행시킨다.

 


- 객체에 대해서
  - 각 컨트롤러의 생성자마다 동일한 클래스에 대해서 새로운 객체를 생성하게 되면, 객체의 세부적인 기능까지 객체마다 달라지게 된다. 가령, articleController와 boardController의 boardService 객체를 각 생성자에서 새로 생성한 경우, boardService에서 boards에 값을 넣었을 때, articleController에서 호출한 boardService.makeTestBoards()와 boardController에서 호출한 boardService.makeTestBoards()는 다른 값을 가져오게된다. 

 

- 삼항 연산자

  String boardName = board == null ? "전체" : board.getName();

 

 

내일 할 일

- 시험 마치고 URI 단축 서비스 만들기 시작

'Records' 카테고리의 다른 글

2021-07-01 ( CSS )  (0) 2021.07.01
2021-06-30 ( JAVA )  (0) 2021.07.01
2021-06-28 ( JAVA )  (0) 2021.06.28
2021-06-26 ( PHP, JAVA )  (0) 2021.06.26
2021-06-25  (0) 2021.06.26
오늘 진행한 일정

오늘 진행한 일정

- JAVA TEXT BOARD

  - 구동 방식의 구체적인 이해 완료.


  - SystemController, ArticleController ~ Repository까지 구현해야함
  - 테스트해보고 싶은 것
    1) System Controller의 break 위치에 따른 동작 차이.
    2) Interceptor를 왜 인터페이스로 구현했을까.(abstract class로 만들었는데 잘 작동하는지 확인하기.)

 

URI 줄여주는 서비스 방향

방향
- 큰 틀
  - 웹사이트에 대한 키워드를 저장할 때, 사람마다 어휘가 다르기 때문에 static하게(한 URI에 대해서 모든 사람이 키워드를 공유) 서비스를 제공하는 것보다, 로그인한 회원마다 다르게 URI에 대한 키워드를 저장해서 진입장벽은 더 높아지지만, 개인이 이 서비스를 더 효율적으로 이용할 수 있도록 한다.
- 메인 페이지
  URI를 입력하면, 주소를 줄여주는데, 옆에 옵션으로 저장할 수 있다.
- 키워드 검색이 가능한 URI에 대한 정보는 메인 페이지에서 알려준다.
  - URI를 키워드로 검색하는 방식
    - 사용자가 키워드로 검색할 수 있는 URI를 기억하고 있다가 해당 URI로 접속하면 키워드로 검색해서 이동이 가능하다.
      - 입력 키워드는 최소 1개, 최대 3개
        - 입력된 키워드로 조회된 페이지가 없을 경우, 없다고 알려준다.
        - 조회된 페이지가 하나일 경우, 해당 URI로 바로 보내준다.
        - 조회된 페이지가 두 개 이상일 경우, URI들을 리스팅해준다.

 

JAVA

- Container 제작 시, 객체들을 static으로 선언하고 아래처럼 초기화해야한다. 일반 생성자로는 초기화할 수 없다.

import lombok.Getter;
import ~.Session;

public class Container {
	@Getter
	private static Scanner sc;
    
    @Getter
    private static Session session;
	
    static{
    sc = new Scanner(System.in);
    session = new Session();
    }
}

 

내일 할 일

- JAVA TEXT BOARD

  1) SystemController, ArticleController ~ Repository까지 구현해야함
  2) 테스트 해보기
    1) System Controller의 break 위치에 따른 동작 차이.
    2) Interceptor를 왜 인터페이스로 구현했을까.(abstract class로 만들었는데 잘 작동하는지 확인하기.)

 

- shortenUri 서비스 개발 착수

'Records' 카테고리의 다른 글

2021-06-30 ( JAVA )  (0) 2021.07.01
2021-06-29 ( JAVA )  (0) 2021.06.29
2021-06-26 ( PHP, JAVA )  (0) 2021.06.26
2021-06-25  (0) 2021.06.26
2021-06-24 ( JAVA )  (0) 2021.06.24
오늘 진행한 일정

- PHP
  - 메타 태그 적용 완료(사이트 링크 시, 아이콘, 페이지 내용 출력 및 사이트 아이콘 등록)
  - article/list 페이징 처리 및 게시물 검색 기능 추가
  - MYPAGE 없애고, ABOUTME 페이지 추가.

  - 로그인, 회원가입 없애고 나만 글작성 가능하고, github 댓글을 통해서만 소통이 가능한 블로그로 구현 예정.

 

 

 

PHP

- 두 비교 연산자 ==와 ===의 차이
  - == 은 비교 대상의 데이터 타입을 자동 형변환해서 값이 같은지 다른지 비교한다.
  - === 은 비교 대상의 데이터 타입이 같은지도 먼저 비교하고 을 비교한다.

 


- PHP의 연관 배열(associative array)  

  $articles = [];
  
  foreach($articles as $article){
    print_r($article['id']);
    print_r($article['tittle']);
    print_r($article['body']);
  }

 

 

JAVA

 

- static을 통해 최초에 한번만 객체를 만들어서 항상 그 객체를 사용하는 방식을 Singletone 패턴이라고한다.


- 어떤 클래스의 메소드를 실행하려면, 해당 클래스의 객체를 만들어줘야 한다.

 

- 네이밍 규칙
  - 대문자로 시작하는 파일은 클래스를 포함하고 있다는 것을 의미한다.

 

 

내일 할 일

- PHP 구현

    - 로그인, 회원가입 없애고 나만 글작성 가능하고, github 댓글을 통해서만 소통이 가능한 블로그로 구현 예정.

 

- JAVA TEXT BOARD 복습

'Records' 카테고리의 다른 글

2021-06-29 ( JAVA )  (0) 2021.06.29
2021-06-28 ( JAVA )  (0) 2021.06.28
2021-06-25  (0) 2021.06.26
2021-06-24 ( JAVA )  (0) 2021.06.24
2021-06-23 ( AJAX )  (0) 2021.06.24
오늘 진행한 일정

- 기존 PHP 블로그를 어떻게 개선할지 방향 파악.

 

내일 할 일 

- PHP 블로그 AJAX로 좋아요 구현 완료 후, JAVA MVC 구조가 적용된 버전으로 갈아탈 예정

  - 기존 댓글은 utterances의 github 댓글로 변경 예정.

  - META 태그 적용 및 Google search console에 직접 요청해서 구글에서 블로그 내용이 검색될 수 있도록.

  - library manager인 composer를 적용해서 라이브러리 관리하도록 할 것.

'Records' 카테고리의 다른 글

2021-06-28 ( JAVA )  (0) 2021.06.28
2021-06-26 ( PHP, JAVA )  (0) 2021.06.26
2021-06-24 ( JAVA )  (0) 2021.06.24
2021-06-23 ( AJAX )  (0) 2021.06.24
2021-06-22 ( JAVA )  (0) 2021.06.22
오늘 진행한 일정

- PHP 게시물 좋아요 AJAX 구현 - 완료
- 블로그에 글 2개 작성 - 완료
- 자바 기초 영상 촬영 및 제출 - 완료

 

 

 

JAVA

- printf("%d, %s", intValue, stringValue)

 

- 문자 ?를 사용하려면, "\\?"

 

 

 

 

 

내일 할 일

- PHP 진도 나가기

- java_text_board 복습

'Records' 카테고리의 다른 글

2021-06-26 ( PHP, JAVA )  (0) 2021.06.26
2021-06-25  (0) 2021.06.26
2021-06-23 ( AJAX )  (0) 2021.06.24
2021-06-22 ( JAVA )  (0) 2021.06.22
2021-06-21 ( JSP )  (0) 2021.06.21

+ Recent posts