Dev Blog

스크립트 & 소스코드 공유

실무에서 유용하게 쓰는 스크립트와 코드 조각을 블로그 게시판으로 저장하고 공유합니다.

108건의 글

position:sticky로 헤더·타일 화면 상단에 고정시키기

position:sticky를 이용해 헤더나 타일 요소를 스크롤 중 화면에 고정시키는 방법을 보여주는 CodePen 예제다. 스크롤 위치가 top 기준점을 지나기 전에는 일반 문서 흐름을 유지하다가, 지나간 뒤에는 화면에 붙어 따라오는 sticky 동작을 JavaScript 없이 CSS만으로 구현한다.

See the Pen Untitled by H J (@H-J-the-typescripter) on CodePen.

순수 CSS로 3단 폭포수(Waterfall) 레이아웃 만들기

JavaScript 없이 순수 CSS만으로 3단 폭포수(벽돌형) 레이아웃을 구현하는 방법이다. column-count: 3으로 콘텐츠를 3개 열로 나누고 break-inside: avoid를 적용해 항목이 잘리지 않게 하거나, grid 템플릿과 함께 사용해 높이가 서로 다른 이미지·카드가 자연스럽게 채워지도록 배치하는 HTML·CSS 예제를 제공한다.

.container {
display: flex;
flex-flow: column wrap;
align-content: space-between;
/* 容器必须有固定高度
* 且高度大于最高的列高 */
height: 660px;

/* 非必须 */
background-color: #f7f7f7;
border-radius: 3px;
padding: 20px;
width: 60%;
margin: 40px auto;
counter-reset: items;
}

.item {
width: 32%;
/* 非必须 */
position: relative;
margin-bottom: 2%;
border-radius: 3px;
background-color: #a1cbfa;
border: 1px solid #4290e2;
box-shadow: 0 2px 2px rgba(0,90,250,0.05),
0 4px 4px rgba(0,90,250,0.05),
0 8px 8px rgba(0,90,250,0.05),
0 16px 16px rgba(0,90,250,0.05);
color: #fff;
padding: 15px;
box-sizing: border-box;
}

/* 仅用于打印数字 */
.item::before {
counter-increment: items;
content: counter(items);
}

/* 将内容块重排为3列 */
.item:nth-child(3n+1) { order: 1; }
.item:nth-child(3n+2) { order: 2; }
.item:nth-child(3n)   { order: 3; }

/* 强制换列 */
.container::before,
.container::after {
content: "";
flex-basis: 100%;
width: 0;
order: 2;
}
<div class="container">
<div class="item" style="height: 140px">1</div>
<div class="item" style="height: 190px">2</div>
<div class="item" style="height: 170px">3</div>
<div class="item" style="height: 120px">4</div>
<div class="item" style="height: 160px">5</div>
<div class="item" style="height: 180px">6</div>
<div class="item" style="height: 140px">7</div>
<div class="item" style="height: 150px">8</div>
<div class="item" style="height: 170px">9</div>
<div class="item" style="height: 170px">10</div>
</div>

CSS animation으로 텍스트 색상이 번지는 효과 만들기

CSS @keyframes를 이용해 텍스트 색상이 번지듯 변하는 애니메이션 예제다. h2 요소에 animation: spread 1s ease-in-out infinite alternate를 적용하고, @keyframes spread의 to 단계에서 색상을 파란색에서 빨간색으로 전환한다. 제목 텍스트에 간단히 적용할 수 있는 전체 코드를 제공한다.

<style type="text/css">
H2{text-align:center; font-size:5em; color:blue; animation:spread 1s ease-in-out infinite alternate }

@keyframes spread{
to{
color:red;
}
}
</style>

<h2>미래를 향한 기업</h2>

frpc 내부망 터널 자동 실행 스크립트

frpc 내부망 터널 프로세스가 꺼져 있을 때 자동으로 다시 실행해주는 셸 스크립트다. ps -fe | grep frpc로 프로세스 실행 여부를 확인하고, 실행 중이 아니면 nohup으로 frpc를 백그라운드에서 시작하며 로그를 /var/log/frp.log에 남긴다. 반복 실행이 이미 진행 중이면 메시지를 출력한다.

ps -fe|grep frpc |grep -v grep
if [ $? -ne 0 ] ;
then
echo "启动内网穿透....."
nohup /www/wwwroot/frpc/frpc -c /www/wwwroot/frpc/frpc.ini >/var/log/frp.log 2>&1 &
else
echo "内网穿透运行中....."
fi

[개발 개념] Ubuntu에서 yum 패키지를 찾을 수 없음 오류 해결

Ubuntu 20.04에서 yum을 설치하려 할 때 패키지를 찾을 수 없다는 오류(E: 패키지 yum을 찾을 수 없습니다)가 발생하는 원인과 해결 방법이다. /etc/apt/sources.list에 우분투 패키지 저장소 주소를 추가하고 apt-get update를 실행한 뒤, 관련 패키지들을 순서대로 설치하면 yum을 정상적으로 사용할 수 있다.

제시해주신 Ubuntu 20.04 환경에서 yum 설치 오류를 해결하고 성공적으로 설치하는 과정을 마크다운 형식으로 깔끔하게 정리해 드립니다.


Ubuntu 20.04에서 Yum 설치 오류 해결 및 설치 가이드

Ubuntu 환경에서 yum을 설치하려 할 때, 패키지 저장소 주소가 누락되어 있거나 의존성 패키지가 부족하여 설치가 실패하는 경우가 있습니다. 아래 단계에 따라 설정을 변경하면 문제를 해결할 수 있습니다.

1. APT 소스 리스트 수정

Ubuntu 패키지를 다운로드할 수 있는 공식 저장소 주소를 추가해야 합니다. /etc/apt/sources.list 파일을 열어 아래 내용을 추가합니다.

수정할 파일: /etc/apt/sources.list
추가할 내용:

deb http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse

내용을 추가한 후, 아래 명령어를 입력하여 패키지 리스트를 업데이트합니다.

sudo apt-get update

2. 필수 의존성 패키지 설치

소스 리스트를 업데이트한 후에도 오류가 발생한다면, yum 실행에 필요한 Python 관련 의존성 패키지들을 수동으로 설치해 주어야 합니다. 터미널에 다음 명령어들을 순서대로 입력하세요.

sudo apt install python-lzma 
sudo apt install python-sqlitecachec 
sudo apt install python-pycurl 
sudo apt install python-urlgrabber

3. Yum 최종 설치

모든 의존성 패키지 설치가 완료되었다면, 이제 다시 yum 설치를 진행합니다.

sudo apt install yum

설치가 완료되면 Ubuntu 환경에서도 yum 패키지 관리자를 사용할 수 있게 됩니다.




Let's create something great together.

프로젝트 문의 및 견적 요청은 언제든 환영합니다.