Skip to content

Instantly share code, notes, and snippets.

RestTemplate restTemplate = RestTemplateFactory.createTemplate(readTimeout, connectionTimeout);
String url = String.format("https://androidpublisher.googleapis.com/androidpublisher/v3/applications/%s/reviews?access_token=%s&startIndex=1&maxResults=20", packageName, accessToken);
restTemplate.getForObject(url, ReviewsListResponse.class);
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Google Cloud Platform에서 발급 받은 인증서 파일입니다.
InputStream inputStream = getClass().getResourceAsStream(p12FilePath);
// Google Cloud Platform에서 인증서를 발급 받은 서비스 계정명입니다.
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
@cg4jins
cg4jins / application.yaml
Created March 1, 2020 14:08
application.yaml
spring:
datasource:
master:
minimumIdle: 0
maximumPoolSize: 20
connectionTestQuery: 'select 1'
jdbcUrl: jdbc:mysql://localhost:3306/sa
username: sa
password: 'sa'
driverClassName: com.mysql.cj.jdbc.Driver
@cg4jins
cg4jins / RoutingDataSource.kt
Created March 1, 2020 14:05
RoutingDataSource.kt
class RoutingDataSource : AbstractRoutingDataSource() {
override fun determineCurrentLookupKey(): Any {
return if (TransactionSynchronizationManager.isCurrentTransactionReadOnly()) "slave" else "master"
}
}
@cg4jins
cg4jins / DataSourceConfig.kt
Last active March 1, 2020 14:04
DataSourceConfig.kt
@Configuration
@EntityScan(basePackages = ["com.beauty.domain"])
@EnableJpaRepositories(basePackages = ["com.beauty.repository"])
@EnableTransactionManagement
@EnableAutoConfiguration(exclude = [DataSourceAutoConfiguration::class])
class DataSourceConfig {
companion object {
const val MASTER = "master"
const val SLAVE = "slave"
class Solution {
fun solution(s: String, n: Int): String {
return s.toCharArray().map { map(it, n) }.joinToString("")
}
private fun map(s: Char, n: Int): Char {
val ch = s.toInt()
if (ch in 65..90){
class Solution {
fun solution(s: String): Int {
//return s.toInt()
if (s[0] == '-') {
return Integer.parseInt(s.substring(1)) * -1
}
return Integer.parseInt(s)
}
class Solution {
fun solution(numbers: IntArray): String {
val sorted = numbers.sortedWith(Comparator { o1, o2 -> compare1(o1, o2) })
if (sorted.stream().allMatch { it == 0 }){
return "0"
}
return sorted.joinToString("")
class Solution {
fun solution(seoul: Array<String>): String {
for ((idx, word) in seoul.withIndex()){
if (word == "Kim"){
return "김서방은 ${idx}에 있다"
}
}
class Solution {
fun solution(s: String): Boolean {
if (s.length != 4 && s.length != 6){
return false
}
for (c in s.toCharArray()){
if (!c.isDigit()){
return false