반응형
반응형


KPMG 보고서에 따르면 3당사자 모델은 다음과 같다.

  3당사자 모델의 경우 카드사가 가맹점 및 회원 서비스를 함께 수행한다. 따라서 3당사자 체제에서는 승인 및 매입 업무와 가맹점 모집 및 관리 업무를 위탁 수행하는 VAN사 또는 PG사가 개입하게 된다. VAN사가 주로 오프라인에서 신용카드사와 가맹점 간 네트워크를 구축해 신용카드 거래 승인, 매출 전표 매입 등 지급결제대행업을 수행한다면 온라인에서는 추가적으로 PG사가 전자상거래에서 가맹점과 구매자 간 결제에 참여한다. 이러한 프로세스에서 신용카드사는 가맹점으로부터 가맹점 수수료, 소비자에게 연회비 등 가입비, VAN사로부터는 VAN 수수료를 받게 된다.

 

https://brunch.co.kr/@delight412/560

 

신용카드 생태계는 어떻게 돌아가는가

결제의 세계는 참 복잡하다. 온라인 결제의 경우도 페이팔부터 스트라이프까지 다양한 스타트업들이 나와 있고 이들 서비스가 작동하는 방식들도 제각각이다. 많은 이들에게 친숙한 신용카드

brunch.co.kr

반응형
반응형

개발자로서 피해야 할 7가지 나쁜 습관

https://medium.com/quick-code/7-bad-habits-you-should-avoid-as-a-developer-2832c5aadbf1
 

7 Bad Habits You Should Avoid As a Developer

Avoid these five bad habits to grow into an outstanding developer.

medium.com

프로그래머는 엄격한 규칙을 따를 필요가 없습니다. 따라서 프로그래밍 스타일을 개발하는 데 아무런 문제가 없습니다. 그러나 나쁜 습관에 빠지는 것은 우리 모두가 겪은 일입니다. 최고의 개발자라도 단기적으로는 작업을 더 편리하게 만들 수 있지만 나중에는 자신과 동료, 고객에게 문제를 일으킬 수 있는 지름길, 방법 및 태도에 의존할 수 있습니다.

이 기사 전체에서 개발자가 즉시 버려야 하는 7가지 최악의 습관에 대해 논의할 것입니다. 이러한 습관을 알면 향후 이러한 습관을 피하고 개발자로서 성공하는 데 도움이 됩니다. 성공적인 소프트웨어 개발자와 비효율적인 소프트웨어 개발자 모두 이러한 불행한 습관에 빠지기 쉽습니다.

1. 코드 복제

소프트웨어가 올바르게 작동하면 중복 코드를 수정할 필요가 없다는 것이 프로그래머 사이의 일반적인 인식입니다. 당신이 하고 있는 유일한 일은 당신의 소프트웨어에 불필요한 벌크를 추가하는 것입니다. 대부분의 개발자가 몇 개의 코드 블록을 실행하는 데 몇 밀리초밖에 걸리지 않는다고 주장할 것이라는 데는 의심의 여지가 없습니다. 이는 소프트웨어를 몇 번 사용하려는 경우에만 가능합니다.

 

뿐만 아니라 중복 코딩은 코드 품질에도 영향을 미칩니다. 그것은 당신의 코드를 냄새나게 만들고 기술적 부채를 증가시킵니다. 이 부채를 복구하려면 개발자에게 비용을 지불하여 단순화하거나 중복을 제거해야 합니다.

코드의 중복이 적을수록 프로그램이 더 빨리 실행되고 공간이 덜 소모된다는 점을 항상 기억하십시오. 참을성 있게 기다리던 시대는 갔다. 이제 모든 것이 원활하고 빠르게 실행되어야 합니다.

2. 자신의 방식대로 일하기

우리 모두는 코딩 스타일이 있습니다. 그러나 당신의 방식대로 일을 쉽게 할 수 있음에도 불구하고 다른 사람들이 당신의 코드 스타일에 적응하지 못할 수도 있고, 그것이 일반적이지 않다면 당신을 따르는 누군가가 당신의 작업을 사용하는 데 어려움을 겪을 수도 있습니다. 그것을 하는 사람은 장기적으로 코드를 작성하는 것이 생산적이지 않거나 행복하지 않을 것입니다.

3. 코딩 스타일에서 문제 수정 미루기

훌륭한 프로그래머는 코드의 모든 부분이 중요하다는 것을 알고 있으며 수정 사항을 찾는 과정에서 기능 뒤에 있는 디자인과 아이디어에 의문을 제기합니다. 수년 동안 저는 개발자가 다른 문제보다 코딩 스타일 문제를 수정하는 것을 더 미루는 경향이 있음을 알게 되었습니다. 코딩은 일반 개발자도 마스터가 되지 못하게 하는 수많은 나쁜 습관이 있는 기술이라는 점을 명심하십시오. 자신을 개선하고 더 나은 개발자가 되려면 자신의 나쁜 특성을 이해하고 수정하기 위해 노력해야 합니다.

 

4. 코드 최적화 방법을 모름

효과적인 최적화 전략을 개발하려면 경험이 필요합니다. 이 프로세스에는 관련된 각 시스템에 대한 탐색, 분석 및 지식이 필요합니다. 이러한 사항을 숙지해야 합니다. 일반적인 성능, 알고리즘 복잡성 및 데이터베이스 쿼리 평가를 측정하는 방법을 알아보세요.

성능은 알고리즘 복잡성, 비효율적인 데이터베이스 작업, 타사 API 사용 또는 N+1 쿼리 실행과 같은 일부 상황에서 큰 문제가 될 수 있습니다. 성능 문제를 분석하는 방법을 이해하고, 무엇이 시간이 걸리는지 파악하고, 문제가 발생하는 즉시 수정하는 것이 중요합니다. 알고리즘과 데이터 구조를 이해하는 것은 당신에게 큰 도움이 될 것입니다.

5. 도움 요청 거부

내 경험상 개발자는 이러한 습관을 가질 가능성이 가장 높습니다. 그렇다면 이 개발자들이 상사나 팀원에게 도움을 요청하지 않는 이유가 궁금하다면? 음, 두 가지가 이 요인으로 이어집니다. 첫 번째, 자부심, 두 번째는 그들이 부끄러워하고 승진이나 급여 인상의 기회에 영향을 미칠 수 있는 특정 사항에 대한 지식이 부족하다는 인상을 다른 사람들에게 주고 싶지 않다고 생각합니다.

 

우선, 더 높은 사람에게 도움을 요청하는 것을 부끄러워할 필요가 없습니다. 자기 의심을 경험하는 것은 흔한 일이지만, 그것에 매달리는 것은 흔한 일이 아닙니다. 자신감을 가지세요! 팀으로 작업하는 경우 팀이라고 하는 데에는 이유가 있습니다! 의심이 들 때마다 팀원이나 원하는 사람과 자유롭게 이야기하십시오. 긍정적인 태도를 유지하고 가능할 때마다 도움을 요청하십시오.

6. 건강에 집중하지 않음

프로그래머가 밤늦게까지 일하는 것은 흔한 일입니다. 일반적으로 이는 대부분의 프로그래머가 서버에 과부하를 주지 않고 디버그 및 컴파일할 수 있도록 밤늦게까지 일하고 낮에는 회의가 없기 때문입니다. 따라서 프로그래머는 일반적으로 늦은 밤에 가장 생산적입니다.

하지만 아침에 출근해야 한다는 걸 알면서도 밤늦게까지 일하는 것은 건강상의 문제를 누적시킨다. 지금은 기분이 좋지 않을 수도 있지만 직장에서 너무 많은 시간을 보내거나 재미로 코딩을 한다면 웰빙에 주의를 기울여야 합니다.

수면 부족은 정신 및 생리적 문제로 이어질 수 있으며, 소진, 우울증, 질병 등의 자기강화 주기로 이어집니다. 규칙적으로 충분한 수면을 취하고, 상쾌하고, 명상하고, 전체 기간 동안 생산적이고 집중하는 법을 배움으로써 이 문제를 해결할 수 있습니다. 낮.

7. 쉽게 포기한다

해결책을 찾을 수 없는 문제를 해결하는 데 어려움을 겪고 있습니까? 하나도 생각이 안난다면 당신은 굉장한 개발자임에 틀림없죠? 그것은 그것이 작동하는 방식이 아닙니다. 어딘가에 갇혀 있다고 해서 무능하다는 의미는 아닙니다. 그러나 포기는 이 개념이 사실임을 증명합니다.

모든 문제는 코드로 해결할 수 있음을 항상 기억하십시오. 정확한 시간과 자원을 확보하는 것이 관건입니다. 문제에 갇혀 있다고 느낄 때마다 포기하지 마십시오. 문제를 해결하기 전에 시간과 조사가 필요할 것입니다.

"명랑한 마음은 인내하고 강한 마음은 천 가지 어려움을 헤쳐나갑니다." — 스와미 비베카난다

 

 

반응형
반응형

Python Script to Shutdown Computer

 

컴퓨터를 종료하는 Python 스크립트

Python은 다양한 기능으로 인해 널리 사용되는 스크립팅 언어입니다. 이 기사에서는 컴퓨터를 종료하는 Python 스크립트를 작성합니다. Python 스크립트를 사용하여 컴퓨터/PC/노트북을 종료하려면 “ ” 코드가 있는 기능을
사용해야 합니다 

 

import os
  
shutdown = input("Do you wish to shutdown your computer ? (yes / no): ")
  
if shutdown == 'no':
    exit()
else:
    os.system("shutdown /s /t 1")

 

반응형
반응형

"안되는게 정상이야! 

중요한 건 긍정과 인내심!"

 

출발할 때는 "와우 드디어 꿈을 이루기 위해 시작했어" 😁 
좀 지나면 "어...이게 아닌데 현실은 시궁창이야!"  😆
더 지나면 "이러다 망하는 건가." 😂 
더더 지나면 "오 그래도 뭔가 될 것 같아". 😊
이후 "나이스! 뭔가 될 것 같아." 😊  
그 이후 "이런 이건 또 뭐지."😰
더 그 이후  "예스 되는 것 같아." 😀   
더 이후 "안 되는 건가봐" 😱

우리가 아는 성공 스토리는 항상 일직선으로 보이지만, 현실은 이처럼 매우 울퉁불퉁하다는 것이 벨스키의 교훈.
 
들쭉날쭉한 인생에는 항상 저점과 고점을 오락가락하는데 성공하는 사람들은 그럼에도 저점과 고점을 끌어올려 성공에 도달한대요. 그래서 저점에서는 인내하고 버티는 방법을 익혀야하고, 고점에서는 고점을 끝까지 유지하려는 최적화 전략이 필요하다는 것이 벨스키의 생각. 시작은 항상 즐겁지만 곧 흥분은 가라앉고 현실의 연속이 이어지기 때문인데요. 그래서 끝까지 달릴 수 있는 지구력(인내심)과 그리고 긍정적 마인드야말로 성공을 향한 여정을 지탱해줄 수 있는 힘이에요. 어떤 일에 부딪힐 때 "젠장!"하고 외치는 것은 사실 지극히 정상! 왜? 지금은 저점이니까요.!

성공의 진짜 여정은 이렇대요👆

때론 스스로 두뇌를 긍정적으로 세뇌시키는 법을 익히는 것도 중요해요. 왜? 힘드니까요. 그래서 아주 작은 목표 달성에도 스스로를 축하! 축하! 하라고 조언을 합니다. 그래야 뇌가 긍정적인 힘을 얻어요. 아주 작은 고객을 유치할 때? 아니면 아주 작은 문제를 해결 할 때? "거봐! 우리는 할 수 있어"하는 긍정의 세레머니가 필요.
 
벨스키는 조직을 위해 몇 가지를 조언하기도 했는데요. 가장 위대한 기업가는 리스크 킬러로 잦은 실패 경로를 잘라낼 줄 알아야 하고, 성공을 잘게 쪼개 항상 마일스톤을 만들어 조직이 끝없이 목표를 달성하는 습관을 익히게 한다고 합니다. 효과가 있는 방법들은 매우 끝없이 기록하고 사용하는 습관도 중요! A/B테스트(두 집단을 상대로 다른 방법을 사용해서 우수한 결과를 채택하는 방식)은 단순히 디지털 마케터만 하는 것이 아니라, 모든 조직이 해야하는 이유.
 
벨스키는 집중의 힘을 믿어요. 일반적인 기업들이 처음 프로덕트를 만들 때는 단순하게 제작해 고객을 유치하는데요. 시간이 지날수록 더 많은 고객을 유치하고자 기능들이 마구 추가되면서 복잡해지고 산만해져요. 그래서 누군가는 한쪽에서 기능을 보다 간편하게 만드는, 일종의 집중하는 작업을 꾸준할 필요. 이건 꼭 조직만을 위한 조언 같지는 않아요. 공부할 때도 그렇잖아요. 하나도 제대로 못하는데, 이것저것 손만 대면서 결국에는 전부 다 못하는 것 말이죠. 저만 그런가요. 

 

https://stibee.com/api/v1.0/emails/share/PDW8ARkIZ_1IHyLmdiH0QDYIi3u0H9Y=

 

인생은 있잖아.. 메시 미들 이야!

성공하는 사람의 두 가지 특징, 긍정과 인내심!

stibee.com

 

반응형
반응형

"AI는 인간을 대체하는 것이 아니라 인간을 증강하고 개선하기 위해 존재한다. 세상을 이해하고 의사 결정을 내릴 때는 사람이 함께해야 한다. AI가 할 수 있는 일은 우리가 가치 있고 창의적인 일에 더 많은 뇌파를 적용해 하루에 더 많은 시간을 중요한 일에 할애할 수 있을 뿐만 아니라 최고 업무에 집중할 수 있도록 도와주는 것이다."

 

https://brunch.co.kr/@delight412/559

 

생성 AI 앱이 B2B 시장에서 통하기 위한 조건

학습 차원에서 틈틈이 해외 전문가들이 블로그나 미디어 그리고 책에서 쓴 글을 번역 또는 요약 정리하고 있습니다. 이번 포스팅도 그중 하나고요. 거칠고 오역된 부분이 있을 수 있습니다. 제

brunch.co.kr

AI가 업무 방식을 변화시킬 수 있는 잠재력은 무궁무진하지만 아직은 초기 단계에 머물러 있다. B2B 애플리케이션에서 생성 AI는 더 많은 콘텐츠를 생성하는 것을 넘어 업무를 더 빠르고 효과적으로 수행할 수 있는 합성 AI로 발전해야 한다. B2B 애플리케이션에서는 누가 워크플로우를 소유할 수 있는지에 대한 끊임없는 경쟁이 벌어지고 있으며, AI 네이티브 애플리케이션들은 이러한 경쟁을 더욱 흥미진진하게 만들 것이다.

반응형
반응형

[백준] 1021번 회전하는 큐
    https://www.acmicpc.net/problem/1021

 

1021번: 회전하는 큐

첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가

www.acmicpc.net


    문제
    지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다.

    지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다.
     1.첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..., ak이었던 것이 a2, ..., ak와 같이 된다.
     2.왼쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 a2, ..., ak, a1이 된다.
     3.오른쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 ak, a1, ..., ak-1이 된다.
    
    큐에 처음에 포함되어 있던 수 N이 주어진다. 그리고 지민이가 뽑아내려고 하는 원소의 위치가 주어진다. (이 위치는 가장 처음 큐에서의 위치이다.) 이때, 그 원소를 주어진 순서대로 뽑아내는데 드는 2번, 3번 연산의 최솟값을 출력하는 프로그램을 작성하시오.

    입력
    첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 순서대로 주어진다. 위치는 1보다 크거나 같고, N보다 작거나 같은 자연수이다.
    
    예제 입력 1 
    10 3
    1 2 3
    예제 출력 1 
    0
    예제 입력 2 
    10 3
    2 9 5
    예제 출력 2 
    8

import sys

N, M = map(int, sys.stdin.readline().split())
targets = list(map(int, sys.stdin.readline().split(' ')))
queue = [i for i in range(1, N+1)]

ans = 0
for target in targets:
    plus_index = queue.index(target) # 앞에꺼를 뒤로 넘기는 연산 수
    minus_index = len(queue) - plus_index # 뒤에꺼를 앞으로 넘기는 연산 수
    steps = min(plus_index, minus_index) # 둘 중 최솟값

    # plus는 2번 연산
    # minus는 3번 연산
    if steps == plus_index: sign = 'plus' 
    else: sign = 'minus'

    if sign == 'plus':
        for _ in range(steps):
            temp = queue.pop(0)
            queue.append(temp)
    else:
        for _ in range(steps):
            temp = queue.pop(-1)
            queue.insert(0, temp)
    
    ans += steps
    queue.pop(0)

print(ans)


# 참고  : https://www.acmicpc.net/problem/1021
반응형

+ Recent posts