목록development (75)
코딩하는 오징어
@Beanpublic class RedisConfig { private @Value("${spring.redis.host}") String redisHost; private @Value("${spring.redis.port}") int redisPort; private @Value("${spring.redis.password}") String password; @Bean public JedisPoolConfig jedisPoolConfig() { JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); jedisPoolConfig.setMaxTotal(30); jedisPoolConfig.setTestOnBorrow(true); jedisPoolConfig.s..
Redis의 ZSET구조를 이용하여 LEADER BOARD 구현하기 @Repository public class LeaderBoardRedisRepository { public static final String KEY = "leaderBoard"; @Autowired private RedisTemplate redisTemplate; private ZSetOperations zSetOps; @PostConstruct public void init() { zSetOps = redisTemplate.opsForZSet(); } public List getPlayersRankOfRange(int startIndex, int endIndex) { Set rankReverseSet = zSetOps.reverse..
# 서버개발캠프 3기 1월2일 ~ 2월23일 8주 동안 스마일게이트에서 진행하는 서버개발캠프3기로 참여하여 개발을 신나게 하고 왔습니다. 사실 면접을 보고난 뒤에 떨어질 줄 알고 너무 아쉬웠는데 합격 메일을 받고나서 세상을 다 가진것만 같아서 기말 던졌습니다. ㅎㅎ저는 백엔드개발자가 되고 싶어서 mash up이라는 동아리에서 프로젝트도 하며 여러 공부를 진행하고 있었지만 여전히 조금은 막막했습니다. 내가 개발자가 될 수 있을까라는 의심도 많이했습니다.. 하지만! 서버개발캠프에 참여하여 두달이 지난 후 저는 그냥 개발자가 되어있었습니다. 학교에서나 동아리에서 진행하는 프로젝트에서 고려해보지 못한 Scale Out과 무정지서비스라던지 서버 아키텍처등을 세미나를 통해 배우고 이것을 진행하는 프로젝트에 적용하고..
좋아요 싫어요 관련해서 MySQL procedure를 만들일이 있었다. procedure를 적용하려고 했더니 denied permission super privilege error가 발생해서 검색을 하다 해결방법을 찾았다. RDS 서비스 메뉴에서 Parameter Groups 메뉴로 간다. 현재 MySQL 인스턴스에 적용된 Parameters Group을 편집한다. 항목중 log_bin_trust_function_creators라는 있는데 이것을 0에서 1로 바꿔준다.(default값으로 0이 설정 되어있다.)저장 후 Parameter Group이 적용되면 유저가 만든 데이터베이스에 관해서는 super권한을 가질 수 있다.
안녕하세요. 코딩하는 오징어입니다. 오늘은 C와 C++의 차이점인 클래스에 대해서 포스팅하겠습니다! 드디어 클래스 단계까지 왔습니다. 객체지향언어에서 클래스는 상당히 중요한 자리를 차지하고 있죠!먼저 용어를 좀 정리하고 시작하겠습니다. 첫 번째로 OOP에서 클래스와 객체는 다른 의미를 가진 단어입니다. 클래스는 객체를 만들기 위한 설계도이고 이 설계도를 가지고 공간을 할당 받아 실체화 한 것이 객체입니다. 즉 어떤 특정한 객체에 대한 클래스는 하나라고 할 수 있고 어떤 클래스에대한 객체는 여러개라고 말 할 수 있습니다. 설계도 하나 가지고 여러개의 똑같은 것을 찍어 낼 수 있으니까요. 두 번째로 클래스안에는 멤버 변수와 멤버 함수를 선언할 수 있습니다. 멤버변수는 C의 구조체에도 있지만 멤버 함수는 클래..
안녕하세요. 코딩하는 오징어입니다. 긴 연휴들 잘 보내시고 계신가요?? 저는 하루종일 과제만하다 머리도 식힐겸 포스팅을 하게 됐네요.ㅠㅠ 과제를 하다 C로 명령어들을 파싱하고 쓰레드를 돌리는 부분이 있었는데 꽤 괜찮아 보여서 이 부분은 linux나 os 공간에 포스팅을 하겠습니다. 관심이 있으신 분들은 와서 구경 한번 하고 가세요~ 오늘은 C 에서 사용하는 malloc()과 free(), C++에서 사용하는 new, delete를 비교해보겠습니다.먼저, malloc()함수와 free()함수 그리고 new, delete연산자는 런타임 도중에 공간을 새로 할당받아서 동적으로 메모리를 관리 하는 것입니다. 메모리상에는 heap공간을 사용하게 됩니다. 위에 말씀드린 것과 같이 malloc과 free는 함수이지만..
안녕하세요. 코딩하는오징어입니다. 오늘은 함수 오버로딩과 매개변수의 디폴트 값을 알아 보겠습니다. 먼저 함수 오버로딩에 대해서 알아 보겠습니다. 함수 오버로딩은 어려운 개념이 아닙니다. 함수의 이름이 같더라도 함수의 시그니처(signature)가 다르면 시그니처에 따라 함수를 구분 지어주는 것인데요. 여기서 함수의 시그니처에 해당하는 부분을 알아보겠습니다. 위와 같이 함수명, 매개변수의 타입, 매개변수의 갯수에 해당하는 것들이 함수의 시그니처입니다. 이것을 가지고 어떤 함수가 호출 될것인지 컴파일러가 정하게 되는 것입니다. 따라서 이것들 중 하나라도 다른 것이 있다면 다른 함수로 구분되어 지는 것입니다. 예제 코드를 보겠습니다. (return type은 함수의 시그니처로 포함되어 있지않습니다. 따라서 r..
안녕하세요. 코딩하는오징어 입니다. 오늘은 참조에 대해서 알아보려합니다. 사실 참조변수는 java에서도 똑같이 적용되는 부분이죠? 여기는 C++게시판이니 C++에 관점에서 살펴보도록 하겠습니다. 먼저 참조변수를 선언할 때 룰 부터 외워두고 갑시다. 룰은 룰이니 그냥 외우세요. 참조자는 변수에 대해서만 선언이 가능하고, 선언됨과 동시에 누군가를 참조해야만 합니다. 즉, 다음의 선언은 유효하지 않습니다. int &ref = 20; 20은 변수가 아니라 상수죠?? int &ref;ref = var; 선언과 동시에 초기화 되어야하는데 룰에 어긋났기 때문에 이러한 선언도 안됩니다. 자, 그럼 룰은 룰대로 외워주시고 참조자에 대해 설명해드리겠습니다. 참조자는 변수에 별명을 붙여준다고 생각하면 편리합니다. 사실 참조..