READ UNCOMMIT

- 다른 트랜젝션에서 아직 커밋 되지 않은 데이터를 읽어 올수 있는 level

- commit 되지 않아도 읽어 올 수 있기에 읽어 오고 난 뒤에 rollback 되서 읽어 온 값이 아무런 의미 없는 값이 될 수도 있다.

- 전체적으로 읽어온 데이터의 신뢰성이 낮다(낮다라는 의미는 신뢰 할수 없음이고 신뢰 할수 없다면 신뢰도가 0과 마찬가지다)

- 한 트랜젝션 내에서 동일한 select query의 결과가 다를 수 있다(select 하는 중에 해당 데이터가 변경 될수도 있다)

이전에 없던 row가 생겼거나 없어 졌을 수도 있다.

 

READ COMMITED

- 다른 트랜젝션에서 커밋된 데이터만 읽어 올수 있는 level

- 같은 트랜젝션에서 동일한 select query를 실행 한다고 하더라도 그 사이 다른 트랜젝션에서 commit이 발생 할 수 있으므로 동일 트랜젝션 같은 select query라도 결과가 다를 수 있다.

- 이전에 없던 row가 생겼거나 없어 졌을 수도 있다.

- select query 시 테이블 lock을 잡지 않고 매 select query 마다 snapshot을 구축하여 데이터를 읽어 온다

 

REPEATABLE READ

- 다른 트랜젝션에서 커밋된 데이터만 읽어 올수 있음

- 한 트랜젝션 내에서 동일한  select query의 결과가 같음

- 이전의 select query에 없던 row가 생기지 않는다

- select query 시에 테이블 lock을 잡지 않고 트랜젝션 시작시 구축한 snapshot에서 데이터를 읽어 온다
- 테이블 lock을 잡지 않았기에 select 결과는 같더라도 다른 트랜젝션에서 update, insert 한 것에 대해서는 영향을 받는다.

 

SERIALIZABLE

- 데이터 consistancy 100%

- 매 쿼리 마다 table, row lock 다 잡음

 

https://cecil1018.wordpress.com/2016/06/09/mysql-isolation-level/ 

 

MySQL Isolation level

MySQL은 innodb는  트랜잭션을 지원하며, 다양한 비즈니스 로직을 지원하기 위해 많이 사용되는 4가지 격리(isolation) 레벨을 지원한다. READ UNCOMMITTED 가장 낮은 수준의 격리 수준, 아래의 3가지 현상이 발생 dirty read: 트랜잭션을 수행하는 중 , 다른 트랜잭션에서 커밋하지 않은 수정 내용을 볼 수 있음 non-…

cecil1018.wordpress.com

https://jupiny.com/2018/11/30/mysql-transaction-isolation-levels/

Posted by kukuta
TAG MySQL

댓글을 달아 주세요

유니티를 사용하다 보면 디버깅을 위해 로그를 찍을때 리스트 뷰에서는 콜스택에 대한 정보를 볼수 없어 귀찮은 경우가 많다. 어셋 스토에서 판매하고 있는 'Console Pro'라는 어셋을 사용하면 편리하긴하지만..

using UnityEngine;


public static class LogHeader

{

    public static string Path

    {

        get

        {

#if UNITY_EDITOR || USE_DEBUGGING

            string callStack = StackTraceUtility.ExtractStackTrace();

            callStack = callStack.Substring(callStack.IndexOf("\n") + 1);

            callStack = callStack.Substring(0, callStack.IndexOf("\n") + 1);

            return callStack;

#else

            return "";

#endif

        }

    }


    public static string Function

    {

        get

        {

#if UNITY_EDITOR || USE_DEBUGGING

            string callStack = StackTraceUtility.ExtractStackTrace();

            callStack = callStack.Substring(callStack.IndexOf("\n") + 1);

            callStack = callStack.Substring(0, callStack.IndexOf("("));

            //callStack = callStack.Substring(0, callStack.IndexOf(" ") + 1);

            return "[" + callStack + "] ";

#else

            return "";

#endif

        }

    }


    // example :

    //     Debug.Log(LogHeader.Function + "any log text will be here");

    // result :

    //    CallStackLogMain:func_2() (at Assets/CallStackLogMain.cs:17)

    //    any log text will be here

}



Posted by kukuta
TAG C#, unity

댓글을 달아 주세요

1. jQuery CDN 연결

jQuery 자바스크립트를 다운 받고 서버에 다시 올리기 귀찮으니 구글과 MS에서 제공하는 CDN(Content Delivery Network)을 사용하도록 하자 :

Google CDN :

<head>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

</head>


Microsft CDN :

<head>

<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>

</head>



2. jQuery 문법 기본

$(selector).action()

  • '$' : jQuery를 사용하겠다는 선언
  • (selector) : html 엘리먼트를 찾고 접근하기 위한 selector
  • action() : 엘리먼트에 수행할 작업
  • jQuery selector는 css selector방식을 사용하고 있음. [진리는어디에/Web] - CSS Selectors 를 참고.
  • eg :
    • $(this).hide() - 현재 엘리먼트를 보이지 안도록 감추다
    • $("p").hide() - <p> 엘리먼트는 모두 보이지 않도록 감추다.
    • $(".test").hide() - class="test" 인 모든 엘리먼트를 보이지 않도록 감추다.
    • $("#test").hide() - id="test" 인 모든 엘리먼트를 보이지 않도록 감추다.

3. jQuery 시작

$(document).Ready(function() {

  // ...

});



jQuery Event

$(selector).click(function() {

});

* manual : https://www.w3schools.com/Jquery/jquery_events.asp

* reference : https://www.w3schools.com/Jquery/jquery_ref_events.asp


jQuery Effect :

$(selector).hide();

* manual : https://www.w3schools.com/Jquery/jquery_hide_show.asp

* reference : https://www.w3schools.com/Jquery/jquery_ref_effects.asp


jQuery HTML :

text() - Sets or returns the text content of selected elements

html() - Sets or returns the content of selected elements (including HTML markup). 위에꺼에 html도 같이 포함해서 리턴한다.

val() - Sets or returns the value of form fields. form에서 value에 매핑 된 값만 리턴한다.

attr() method is used to get attribute values.


append() - Inserts content at the end of the selected elements

 eg) ol 태그에 하위 li 태그를 append 할 수 있다

prepend() - Inserts content at the beginning of the selected elements

after() - Inserts content after the selected elements

before() - Inserts content before the selected elements


remove() - Removes the selected element (and its child elements)

empty() - Removes the child elements from the selected element


jQuery Traversing

* first()

* last()

* eq()

* filter() : https://www.w3schools.com/Jquery/jquery_filters.asp

* not()

* find()


jQuery AJAX(Asynchronous JavaScript and XML.)

* $(selector).load() : https://www.w3schools.com/Jquery/jquery_ajax_load.asp

* $.get(URL, callback)/$.post(URL, data, callback) : https://www.w3schools.com/Jquery/jquery_ajax_get_post.asp

* reference : https://www.w3schools.com/Jquery/jquery_ref_ajax.asp


Posted by kukuta

댓글을 달아 주세요