- 掃描 ID:
- 577f795e-8bee-408e-8fee-1eabb2676e70已完成
- 已提交的 URL:
- https://zupzup.org/
- 報告完成時間:
連結 · 找到 1 個
從頁面中識別的傳出連結
連結 | Text |
---|---|
https://github.com/zupzup | github |
JavaScript 變數 · 找到 3 個
在頁面的視窗物件上載入的全域 JavaScript 變數是在函數外部宣告的變數,可從目前範圍內程式碼中的任何位置存取
名稱 | 類型 |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
主控台記錄訊息 · 找到 0 條
記錄到 Web 主控台的訊息
HTML
頁面的原始 HTML 主體
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="title" content="zupzup">
<meta name="description" content="A blog about the joy of Programming">
<link id="feedLink" rel="alternate" type="application/rss+xml" title="RSS" href="/index.xml">
<meta name="referrer" content="always">
<meta name="keywords" content="programming, golang, rust, go, javascript, development, software, opensource, oss">
<meta name="author" content="Mario Zupan">
<link rel="canonical" href="/">
<title>zupzup</title>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<style>
html {
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
hr {
width: 200px;
margin-top: 40px;
margin-bottom: 40px;
}
body {
margin: 0;
background-color: #fafafa;
}
a:link, a:visited, a:hover, a:active {
text-decoration: none;
color: #008080;
}
#contactmobile {
display: none;
}
#footer {
display: flex;
flex-direction: column;
background-color: #008080;
align-items: center;
justify-content: center;
color: #fff;
font-size: small;
}
#footer a {
color: #fff;
text-decoration: underline;
}
#footer a:hover {
color: #eee;
text-decoration: none;
}
#header {
display: flex;
width: 100%;
background-color: #008080;
color: #fff;
}
#header #header-inner {
display: flex;
width: 740px;
margin-left: auto;
margin-right: auto;
background-color: #008080;
color: #fff;
}
#header a {
color: #fff
}
#header ul li{
display: inline-block;
}
#header #logo {
flex: 1;
padding: 1em 0 1em 0;
vertical-align: top;
}
#header #logo #logotext {
display: inline-block;
margin-left: 5px;
}
#header #logo #logotext small {
font-size: small;
}
#header #logo strong {
display: block;
font-size: 1.2rem;
}
#header #menu {
flex: 2.5;
padding: 1em;
vertical-align: middle;
margin: auto;
text-align: center
}
#header #menu .menuitem {
width: 70px;
}
#header #menu .menuitem a, svg {
display: block;
text-align: center;
font-size: 12px;
}
#header #menu .menuitem div {
margin-top: 2px;
}
#header #contact {
flex: 0.5;
padding: 1em 0 1em 0;
vertical-align: middle;
margin: auto;
text-align: right;
}
#header #contact svg {
width: 40px;
height: 40px;
display: inline-block;
fill: white;
}
#taglist {
list-style-type: none;
}
#pagetitle {
margin-top: 5px;
}
#content {
max-width: 740px;
margin-left: auto;
margin-right: auto;
padding: 1em;
background-color: #fafafa;
}
#content p, li, table {
font-family: medium-content-serif-font,Georgia,Cambria,"Times New Roman",Times,serif;
font-weight: 400;
font-style: normal;
font-size: 21px;
line-height: 1.58;
letter-spacing: -.003em;
color: #000;
word-break: break-word;
word-wrap: break-word;
text-align: justify;
}
#content p {
text-align: justify;
}
#content .short p {
text-align: justify;
word-break: break-word;
word-wrap: break-word;
font-weight: 400;
font-style: normal;
font-size: 18px;
line-height: 1.58;
letter-spacing: -.004em;
margin: 10px 0 10px 0;
}
#content .short h2 {
margin-bottom: 10px;
font-size: 22px;
}
#content .short .tags, .readmore, .datettr {
font-size: 14px;
}
#content img {
max-width: 500px;
}
.old-articles-link {
text-align: center;
margin: 1.5rem 0;
}
code[class*="language-"] {
font-size: 16px;
}
@media only screen and (max-width: 768px), screen and (orientation: landscape) and (max-width: 640px) {
#header {
display: block;
}
#header #logo {
display: inline-block;
max-width: 10%;
padding: .5em 0 .5em .5em;
}
#header #header-inner {
display: flex;
max-width: 740px;
width: auto;
margin-left: auto;
margin-right: auto;
background-color: #008080;
color: #fff;
}
#header #logo #logotext {
display: none;
}
#header #menu {
padding: .2em 0 .2em 0;
display: inline-block;
width: 80%;
text-align: center;
}
#header #menu .menuitem {
width: 55px;
}
#header #menu .menuitem svg {
width: 55px;
height: 30px;
}
#header #contact{
display: none;
}
#content p, li, table {
font-size: 18px;
word-break: break-word;
word-wrap: break-word;
line-height: 1.58;
letter-spacing: -.004em;
text-align: justify;
}
#content .short p {
font-size: 16px;
}
#content h1 {
font-size: 1.4rem;
}
#content h2 {
font-size: 1.2rem;
}
#content h3 {
font-size: 1.1rem;
}
#content img {
max-width: 300px;
}
code[class*="language-"] {
font-size: 14px;
}
#content .short h2 {
margin-bottom: 10px;
font-size: 1.2em;
}
#contactmobile {
display: flex;
background-color: #008080;
}
#contactmobile svg {
width: 40px;
height: 40px;
fill: white;
}
}
/* Background */ .chroma { background-color: #ffffff }
/* Error */ .chroma .err { background-color: #a848a8 }
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; }
/* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #e5e5e5 }
/* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* Keyword */ .chroma .k { color: #2838b0 }
/* KeywordConstant */ .chroma .kc { color: #444444; font-style: italic }
/* KeywordDeclaration */ .chroma .kd { color: #2838b0; font-style: italic }
/* KeywordNamespace */ .chroma .kn { color: #2838b0 }
/* KeywordPseudo */ .chroma .kp { color: #2838b0 }
/* KeywordReserved */ .chroma .kr { color: #2838b0 }
/* KeywordType */ .chroma .kt { color: #2838b0; font-style: italic }
/* NameAttribute */ .chroma .na { color: #388038 }
/* NameBuiltin */ .chroma .nb { color: #388038 }
/* NameBuiltinPseudo */ .chroma .bp { font-style: italic }
/* NameClass */ .chroma .nc { color: #287088 }
/* NameConstant */ .chroma .no { color: #b85820 }
/* NameDecorator */ .chroma .nd { color: #287088 }
/* NameEntity */ .chroma .ni { color: #709030 }
/* NameException */ .chroma .ne { color: #908828 }
/* NameFunction */ .chroma .nf { color: #785840 }
/* NameFunctionMagic */ .chroma .fm { color: #b85820 }
/* NameLabel */ .chroma .nl { color: #289870 }
/* NameNamespace */ .chroma .nn { color: #289870 }
/* NameTag */ .chroma .nt { color: #2838b0 }
/* NameVariable */ .chroma .nv { color: #b04040 }
/* NameVariableGlobal */ .chroma .vg { color: #908828 }
/* NameVariableMagic */ .chroma .vm { color: #b85820 }
/* LiteralString */ .chroma .s { color: #b83838 }
/* LiteralStringAffix */ .chroma .sa { color: #444444 }
/* LiteralStringBacktick */ .chroma .sb { color: #b83838 }
/* LiteralStringChar */ .chroma .sc { color: #a848a8 }
/* LiteralStringDelimiter */ .chroma .dl { color: #b85820 }
/* LiteralStringDoc */ .chroma .sd { color: #b85820; font-style: italic }
/* LiteralStringDouble */ .chroma .s2 { color: #b83838 }
/* LiteralStringEscape */ .chroma .se { color: #709030 }
/* LiteralStringHeredoc */ .chroma .sh { color: #b83838 }
/* LiteralStringInterpol */ .chroma .si { color: #b83838; text-decoration: underline }
/* LiteralStringOther */ .chroma .sx { color: #a848a8 }
/* LiteralStringRegex */ .chroma .sr { color: #a848a8 }
/* LiteralStringSingle */ .chroma .s1 { color: #b83838 }
/* LiteralStringSymbol */ .chroma .ss { color: #b83838 }
/* LiteralNumber */ .chroma .m { color: #444444 }
/* LiteralNumberBin */ .chroma .mb { color: #444444 }
/* LiteralNumberFloat */ .chroma .mf { color: #444444 }
/* LiteralNumberHex */ .chroma .mh { color: #444444 }
/* LiteralNumberInteger */ .chroma .mi { color: #444444 }
/* LiteralNumberIntegerLong */ .chroma .il { color: #444444 }
/* LiteralNumberOct */ .chroma .mo { color: #444444 }
/* Operator */ .chroma .o { color: #666666 }
/* OperatorWord */ .chroma .ow { color: #a848a8 }
/* Punctuation */ .chroma .p { color: #888888 }
/* Comment */ .chroma .c { color: #888888; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #287088; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #888888; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #888888; font-style: italic }
/* CommentSpecial */ .chroma .cs { color: #888888; font-style: italic }
/* CommentPreproc */ .chroma .cp { color: #289870 }
/* CommentPreprocFile */ .chroma .cpf { color: #289870 }
/* GenericDeleted */ .chroma .gd { color: #c02828 }
/* GenericEmph */ .chroma .ge { font-style: italic }
/* GenericError */ .chroma .gr { color: #c02828 }
/* GenericHeading */ .chroma .gh { color: #666666 }
/* GenericInserted */ .chroma .gi { color: #388038 }
/* GenericOutput */ .chroma .go { color: #666666 }
/* GenericPrompt */ .chroma .gp { color: #444444 }
/* GenericStrong */ .chroma .gs { font-weight: bold }
/* GenericSubheading */ .chroma .gu { color: #444444 }
/* GenericTraceback */ .chroma .gt { color: #2838b0 }
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
/* TextWhitespace */ .chroma .w { color: #a89028 }
.chroma .err {
background-color: transparent;
color: #272822;
}
.chroma {
overflow: auto;
min-height: 30px;
}
</style>
</head>
<body>
<div id="header">
<div id="header-inner">
<div id="logo">
<a href="/">
<img alt="logo - small dude in pixel art" id="logoimage" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAC2UlEQVRYR72YS5LTMBCG5evEj+IE2TCV7FnwCHAJCnKJoTgFhBkWrJPFsMgeisJyVhyBMyC6W2pHVuxRy9ijqlRspa3+9He3JCdT8WbAJIOP/81PYT+20CY+6oAFD3jfAOhsTJOMfTGu5KGxQKGKokk9BBCCSPwQsMTwfxVKUmoUkPn1qUd+y51Vr4ZCI/GVplALMlRzDiWrXvZBTQ/kezH1TmXl5sKxqUE9EKsHajogY1w4Mjsm3evPShUvbJjCfuirwabqKjU30A0APR8E0vBL2VVwQqAa1GiHGxjXqWhjaBQCYfOgpgMiFxoUiTYIpVsktLuYA8imTQeobwuztI1TyApmWCGROpSP0Um7GGgCipkbVUBeWVtIMZdjggdbjJgHNjRa30I1DeOjIkXx7AIGK9JVociXyIi0x3A0t53J5vnTC0IERzBsWkMmAVBZluJoSIEoIZrmy4BE5+0uz88weZ63a5Q0bElATNMPZhTDoCpN04BSBT1yPB7VcrkUqZQCZMsm0sJVfb/fq/V6Lc6jZKDdbqc2m+4ehn3Ywv7D4aBWqxX9Jk3sUUC+SAjBQKF4VVVBGPN5gTA3/IYOsa/93gLAX2uhr+0GklJpyQpxjpxOJ7VYLCgUCITX2LA/f2tVQaDZFeIZh0DomKuLIVi5WXMIB/fDxqHiMLKCWPLBwkhckSKNGwQD2C0T1pmYQhhKBEpdHKPEfUCsUl8OcZgQqK5rWhz5RDm1QnAEwb0MdKdN1FYQh4a/uc/goc7WGH2ykg7+UQGiBp5C7ZkooyPGORx8zcpxmPBFgCjsUVbkS2TkQ/F1CIQKYW5hP+9hKaHicVOB+Dk4H3VDxtXl55w7dojVSTIcSu6gv+82adJJxn7oHj15E2X5+fVD8qRHA11t7fv9n9/fFTrmez90d9f0np/kI8nYV+hq+9EB/SCgx+/sPb1t0P9pRn17/3p2oOgBrSeOSZP+B7Q7ZDSN5kdTAAAAAElFTkSuQmCC">
<div id="logotext">
<strong>zupzup</strong>
<small>I ♡ Programming</small>
</div>
</a>
</div>
<ul id="menu">
<li>
<div class="menuitem">
<a href="/">
<svg width="70px" height="35px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>home</title>
<g id="Octicons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="home" fill="#ffffff">
<path d="M16,9 L13,6 L13,2 L11,2 L11,4 L8,1 L0,9 L2,9 L3,14 C3,14.55 3.45,15 4,15 L12,15 C12.55,15 13,14.55 13,14 L14,9 L16,9 L16,9 Z M12,14 L9,14 L9,10 L7,10 L7,14 L4,14 L2.81,7.69 L8,2.5 L13.19,7.69 L12,14 L12,14 Z" id="Shape"></path>
</g>
</g>
</svg>
<div>Home</div>
</a>
</div>
</li>
<li>
<div class="menuitem">
<a href="/about/">
<svg width="70px" height="35px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>about</title>
<g id="Octicons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="light-bulb" fill="#ffffff">
<path d="M6.5,0 C3.48,0 1,2.19 1,5 C1,5.92 1.55,7.25 2,8 C3.34,10.25 3.78,10.78 4,12 L4,13 L9,13 L9,12 C9.22,10.78 9.66,10.25 11,8 C11.45,7.25 12,5.92 12,5 C12,2.19 9.52,0 6.5,0 L6.5,0 Z M10.14,7.48 C9.89,7.92 9.67,8.28 9.47,8.59 C8.61,10 8.22,10.65 8.02,11.82 C8,11.87 8,11.93 8,11.99 L5,11.99 C5,11.93 5,11.86 4.98,11.82 C4.78,10.65 4.39,9.99 3.53,8.59 C3.33,8.28 3.11,7.92 2.86,7.48 C2.44,6.78 2,5.65 2,5 C2,2.8 4.02,1 6.5,1 C7.72,1 8.86,1.42 9.72,2.19 C10.55,2.94 11,3.94 11,5 C11,5.66 10.56,6.78 10.14,7.48 L10.14,7.48 Z M4,14 L9,14 C8.77,15.14 7.7,16 6.5,16 C5.3,16 4.23,15.14 4,14 L4,14 Z" id="Shape"></path>
</g>
</g>
</svg>
<div>About</div>
</a>
</div>
</li>
<li>
<div class="menuitem">
<a href="/projects/">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="70px" height="35px">
<title>projects</title>
<g id="Octicons" stroke="none" stroke-width="5" fill="none" fill-rule="evenodd">
<g id="tag" fill="#ffffff">
<path d="M7.875 2.292a.114.114 0 0 0-.032.018A7.239 7.239 0 0 0 4.75 8.25a7.248 7.248 0 0 0 3.654 6.297c.57.327.982.955.941 1.682v.002l-.317 6.058a.75.75 0 1 1-1.498-.078l.317-6.062v-.004c.006-.09-.047-.215-.188-.296A8.749 8.749 0 0 1 3.25 8.25a8.738 8.738 0 0 1 3.732-7.169 1.547 1.547 0 0 1 1.709-.064c.484.292.809.835.809 1.46v4.714a.25.25 0 0 0 .119.213l2.25 1.385c.08.05.182.05.262 0l2.25-1.385a.25.25 0 0 0 .119-.213V2.478c0-.626.325-1.169.81-1.461a1.547 1.547 0 0 1 1.708.064 8.741 8.741 0 0 1 3.732 7.17 8.747 8.747 0 0 1-4.41 7.598c-.14.081-.193.206-.188.296v.004l.318 6.062a.75.75 0 1 1-1.498.078l-.317-6.058v-.002c-.041-.727.37-1.355.94-1.682A7.247 7.247 0 0 0 19.25 8.25a7.239 7.239 0 0 0-3.093-5.94.114.114 0 0 0-.032-.018l-.01-.001c-.003 0-.014 0-.031.01-.036.022-.084.079-.084.177V7.19c0 .608-.315 1.172-.833 1.49l-2.25 1.385a1.75 1.75 0 0 1-1.834 0l-2.25-1.384A1.752 1.752 0 0 1 8 7.192V2.477c0-.098-.048-.155-.084-.176a.068.068 0 0 0-.031-.011l-.01.001Z">
</path>
</g>
</g>
</svg>
<div>Projects</div>
</a>
</div>
</li>
<li>
<div class="menuitem">
<a href="/tags/">
<svg width="70px" height="35px" viewBox="0 0 14 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>tags</title>
<g id="Octicons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="tag" fill="#ffffff">
<path d="M7.73,1.73 C7.26,1.26 6.62,1 5.96,1 L3.5,1 C2.13,1 1,2.13 1,3.5 L1,5.97 C1,6.63 1.27,7.27 1.73,7.74 L7.79,13.8 C8.18,14.19 8.81,14.19 9.2,13.8 L13.79,9.21 C14.18,8.82 14.18,8.19 13.79,7.8 L7.73,1.73 L7.73,1.73 Z M2.38,7.09 C2.07,6.79 1.91,6.39 1.91,5.96 L1.91,3.5 C1.91,2.62 2.63,1.91 3.5,1.91 L5.97,1.91 C6.39,1.91 6.8,2.07 7.1,2.38 L13.24,8.51 L8.51,13.24 L2.38,7.09 L2.38,7.09 Z M3.01,3 L5.01,3 L5.01,5 L3,5 L3,3 L3.01,3 Z" id="Shape"></path>
</g>
</g>
</svg>
<div>Tags</div>
</a>
</div>
</li>
<li>
<div class="menuitem">
<a href="/archive/">
<svg width="70px" height="35px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>archive</title>
<g id="Octicons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="book" fill="#ffffff">
<path d="M3,5 L7,5 L7,6 L3,6 L3,5 L3,5 Z M3,8 L7,8 L7,7 L3,7 L3,8 L3,8 Z M3,10 L7,10 L7,9 L3,9 L3,10 L3,10 Z M14,5 L10,5 L10,6 L14,6 L14,5 L14,5 Z M14,7 L10,7 L10,8 L14,8 L14,7 L14,7 Z M14,9 L10,9 L10,10 L14,10 L14,9 L14,9 Z M16,3 L16,12 C16,12.55 15.55,13 15,13 L9.5,13 L8.5,14 L7.5,13 L2,13 C1.45,13 1,12.55 1,12 L1,3 C1,2.45 1.45,2 2,2 L7.5,2 L8.5,3 L9.5,2 L15,2 C15.55,2 16,2.45 16,3 L16,3 Z M8,3.5 L7.5,3 L2,3 L2,12 L8,12 L8,3.5 L8,3.5 Z M15,3 L9.5,3 L9,3.5 L9,12 L15,12 L15,3 L15,3 Z" id="Shape"></path>
</g>
</g>
</svg>
<div>Archive</div>
</a>
</div>
</li>
</ul>
<div id="contact">
<a href="https://github.com/zupzup" class="github" target="_blank" title="GitHub">
<svg viewBox="0 0 512 512">
<title>github</title>
<g fill="FA9B39">
<path d="M256 70.7c-102.6 0-185.9 83.2-185.9 185.9 0 82.1 53.3 151.8 127.1 176.4 9.3 1.7 12.3-4 12.3-8.9V389.4c-51.7 11.3-62.5-21.9-62.5-21.9 -8.4-21.5-20.6-27.2-20.6-27.2 -16.9-11.5 1.3-11.3 1.3-11.3 18.7 1.3 28.5 19.2 28.5 19.2 16.6 28.4 43.5 20.2 54.1 15.4 1.7-12 6.5-20.2 11.8-24.9 -41.3-4.7-84.7-20.6-84.7-91.9 0-20.3 7.3-36.9 19.2-49.9 -1.9-4.7-8.3-23.6 1.8-49.2 0 0 15.6-5 51.1 19.1 14.8-4.1 30.7-6.2 46.5-6.3 15.8 0.1 31.7 2.1 46.6 6.3 35.5-24 51.1-19.1 51.1-19.1 10.1 25.6 3.8 44.5 1.8 49.2 11.9 13 19.1 29.6 19.1 49.9 0 71.4-43.5 87.1-84.9 91.7 6.7 5.8 12.8 17.1 12.8 34.4 0 24.9 0 44.9 0 51 0 4.9 3 10.7 12.4 8.9 73.8-24.6 127-94.3 127-176.4C441.9 153.9 358.6 70.7 256 70.7z"></path>
</g>
</svg>
</a>
<a href="/index.xml" target="_blank" class="rss" title="RSS">
<svg title="rss" viewBox="0 0 512 512">
<title>rss</title>
<g fill="FA9B39">
<path d="M201.8 347.2c0 20.3-16.5 36.8-36.8 36.8 -20.3 0-36.8-16.5-36.8-36.8s16.5-36.8 36.8-36.8C185.3 310.4 201.8 326.8 201.8 347.2zM128.2 204.7v54.5c68.5 0.7 124 56.3 124.7 124.7h54.5C306.7 285.3 226.9 205.4 128.2 204.7zM128.2 166.6c57.9 0.3 112.3 22.9 153.2 63.9 41 41 63.7 95.5 63.9 153.5h54.5c-0.3-149.9-121.7-271.4-271.6-271.9V166.6L128.2 166.6z"></path>
</g></svg>
</a>
</div>
</div>
</div>
<div id="content">
<div class="short">
<h2><a href="/rust-polars/">Using Polars in Rust for high-performance data analysis</a></h2>
<div class="datettr">
<span class="date">05.11.2024</span> - <span class="ttr">44m read</span> - <span class="tags">
<span><a href="/tags/rust/">rust</a></span>
<span><a href="/tags/polars/">polars</a></span>
<span><a href="/tags/data/">data</a></span>
<span><a href="/tags/analysis/">analysis</a></span>
</span>
</div>
<div>
<a href="/rust-polars/">
<p>
In this post, we'll build a basic data analysis pipeline using Rust and Polars.
</p>
</a>
</div>
<div class="readmore">
<a href="/rust-polars/">read more...</a>
</div>
</div>
<br><div class="short">
<h2><a href="/rust-egui/">Building cross-platform GUI apps in Rust using egui</a></h2>
<div class="datettr">
<span class="date">06.09.2024</span> - <span class="ttr">57m read</span> - <span class="tags">
<span><a href="/tags/rust/">rust</a></span>
<span><a href="/tags/egui/">egui</a></span>
<span><a href="/tags/gui/">gui</a></span>
</span>
</div>
<div>
<a href="/rust-egui/">
<p>
In this post, we'll build a simple cross-platform GUI using Rust and egui.
</p>
</a>
</div>
<div class="readmore">
<a href="/rust-egui/">read more...</a>
</div>
</div>
<br><div class="short">
<h2><a href="/rust-wgpu/">Leverage Rust and wgpu for effective cross-platform graphics</a></h2>
<div class="datettr">
<span class="date">11.06.2024</span> - <span class="ttr">96m read</span> - <span class="tags">
<span><a href="/tags/rust/">rust</a></span>
<span><a href="/tags/wgpu/">wgpu</a></span>
</span>
</div>
<div>
<a href="/rust-wgpu/">
<p>
In this post, we'll check out wgpu and see how we can build a very basic GUI out of triangles using the GPU.
</p>
</a>
</div>
<div class="readmore">
<a href="/rust-wgpu/">read more...</a>
</div>
</div>
<br><div class="short">
<h2><a href="/rust-ai-chatbot-ollama/">Building a simple AI chatbot using Rust and Ollama</a></h2>
<div class="datettr">
<span class="date">08.03.2024</span> - <span class="ttr">9m read</span> - <span class="tags">
<span><a href="/tags/rust/">rust</a></span>
<span><a href="/tags/async/">async</a></span>
<span><a href="/tags/ai/">ai</a></span>
<span><a href="/tags/llm/">llm</a></span>
<span><a href="/tags/ollama/">ollama</a></span>
<span><a href="/tags/llama2/">llama2</a></span>
</span>
</div>
<div>
<a href="/rust-ai-chatbot-ollama/">
<p>
In this post, we'll build a simple AI chatbot, leveraging a locally running LLM, using Rust and Ollama.
</p>
</a>
</div>
<div class="readmore">
<a href="/rust-ai-chatbot-ollama/">read more...</a>
</div>
</div>
<br><div class="short">
<h2><a href="/rust-crdt/">Using CRDTs to build collaborative Rust web applications</a></h2>
<div class="datettr">
<span class="date">23.02.2024</span> - <span class="ttr">54m read</span> - <span class="tags">
<span><a href="/tags/rust/">rust</a></span>
<span><a href="/tags/crdt/">crdt</a></span>
</span>
</div>
<div>
<a href="/rust-crdt/">
<p>
In this post, I’ll show how to build a simple web app leveraging CRDTs for keeping consistent state between all clients.
</p>
</a>
</div>
<div class="readmore">
<a href="/rust-crdt/">read more...</a>
</div>
</div>
<br><div class="short">
<h2><a href="/rust-capnproto/">Using Cap'n Proto with Rust</a></h2>
<div class="datettr">
<span class="date">09.08.2023</span> - <span class="ttr">22m read</span> - <span class="tags">
<span><a href="/tags/rust/">rust</a></span>
<span><a href="/tags/capnproto/">capnproto</a></span>
<span><a href="/tags/serialization/">serialization</a></span>
<span><a href="/tags/rpc/">rpc</a></span>
</span>
</div>
<div>
<a href="/rust-capnproto/">
<p>
Cap'n Proto is a binary serialization and RPC system optimized for performance. In this article, we'll take a look at how we can use it within Rust.
</p>
</a>
</div>
<div class="readmore">
<a href="/rust-capnproto/">read more...</a>
</div>
</div>
<br><div class="short">
<h2><a href="/typescript-trpc/">Build a full-stack TypeScript app using tRPC and React</a></h2>
<div class="datettr">
<span class="date">30.06.2023</span> - <span class="ttr">28m read</span> - <span class="tags">
<span><a href="/tags/typescript/">typescript</a></span>
<span><a href="/tags/trpc/">trpc</a></span>
<span><a href="/tags/react/">react</a></span>
</span>
</div>
<div>
<a href="/typescript-trpc/">
<p>
In this post, I’ll show how to use tRPC to build a full-stack TypeScript app.
</p>
</a>
</div>
<div class="readmore">
<a href="/typescript-trpc/">read more...</a>
</div>
</div>
<br><div class="short">
<h2><a href="/rust-webpack-swc/">Writing webpack plugins in Rust using SWC for faster builds</a></h2>
<div class="datettr">
<span class="date">21.06.2023</span> - <span class="ttr">17m read</span> - <span class="tags">
<span><a href="/tags/rust/">rust</a></span>
<span><a href="/tags/webpack/">webpack</a></span>
<span><a href="/tags/swc/">swc</a></span>
</span>
</div>
<div>
<a href="/rust-webpack-swc/">
<p>
In this post, I’ll show how to use SWC for writing Webpack plugins in Rust.
</p>
</a>
</div>
<div class="readmore">
<a href="/rust-webpack-swc/">read more...</a>
</div>
</div>
<br><div class="short">
<h2><a href="/rust-websocket/">How to build a WebSocket server with Rust</a></h2>
<div class="datettr">
<span class="date">12.05.2023</span> - <span class="ttr">20m read</span> - <span class="tags">
<span><a href="/tags/rust/">rust</a></span>
<span><a href="/tags/web/">web</a></span>
<span><a href="/tags/websocket/">websocket</a></span>
</span>
</div>
<div>
<a href="/rust-websocket/">
<p>
In this post, I’ll show how implement a WebSocket server with Rust.
</p>
</a>
</div>
<div class="readmore">
<a href="/rust-websocket/">read more...</a>
</div>
</div>
<br><div class="short">
<h2><a href="/rust-web-async-warp/">Create an async CRUD web service in Rust with warp</a></h2>
<div class="datettr">
<span class="date">09.05.2023</span> - <span class="ttr">32m read</span> - <span class="tags">
<span><a href="/tags/rust/">rust</a></span>
<span><a href="/tags/async/">async</a></span>
<span><a href="/tags/crud/">crud</a></span>
<span><a href="/tags/warp/">warp</a></span>
</span>
</div>
<div>
<a href="/rust-web-async-warp/">
<p>
In this post, I’ll show how to implement an async CRUD Rust web application using Warp.
</p>
</a>
</div>
<div class="readmore">
<a href="/rust-web-async-warp/">read more...</a>
</div>
</div>
<div class="old-articles-link">
<a href="/archive/">Older Articles (98)</a>
</div>
</div>
<div id="footer">
<p>2016-2024 Mario Zupan | <a href="/imprint/">Imprint</a></p>
<div id="contactmobile">
<a href="https://github.com/zupzup" class="github" target="_blank" title="GitHub">
<svg viewBox="0 0 512 512">
<g fill="FA9B39">
<path d="M256 70.7c-102.6 0-185.9 83.2-185.9 185.9 0 82.1 53.3 151.8 127.1 176.4 9.3 1.7 12.3-4 12.3-8.9V389.4c-51.7 11.3-62.5-21.9-62.5-21.9 -8.4-21.5-20.6-27.2-20.6-27.2 -16.9-11.5 1.3-11.3 1.3-11.3 18.7 1.3 28.5 19.2 28.5 19.2 16.6 28.4 43.5 20.2 54.1 15.4 1.7-12 6.5-20.2 11.8-24.9 -41.3-4.7-84.7-20.6-84.7-91.9 0-20.3 7.3-36.9 19.2-49.9 -1.9-4.7-8.3-23.6 1.8-49.2 0 0 15.6-5 51.1 19.1 14.8-4.1 30.7-6.2 46.5-6.3 15.8 0.1 31.7 2.1 46.6 6.3 35.5-24 51.1-19.1 51.1-19.1 10.1 25.6 3.8 44.5 1.8 49.2 11.9 13 19.1 29.6 19.1 49.9 0 71.4-43.5 87.1-84.9 91.7 6.7 5.8 12.8 17.1 12.8 34.4 0 24.9 0 44.9 0 51 0 4.9 3 10.7 12.4 8.9 73.8-24.6 127-94.3 127-176.4C441.9 153.9 358.6 70.7 256 70.7z"></path>
</g>
</svg>
</a>
<a href="/index.xml" target="_blank" class="rss" title="RSS">
<svg viewBox="0 0 512 512">
<path d="M201.8 347.2c0 20.3-16.5 36.8-36.8 36.8 -20.3 0-36.8-16.5-36.8-36.8s16.5-36.8 36.8-36.8C185.3 310.4 201.8 326.8 201.8 347.2zM128.2 204.7v54.5c68.5 0.7 124 56.3 124.7 124.7h54.5C306.7 285.3 226.9 205.4 128.2 204.7zM128.2 166.6c57.9 0.3 112.3 22.9 153.2 63.9 41 41 63.7 95.5 63.9 153.5h54.5c-0.3-149.9-121.7-271.4-271.6-271.9V166.6L128.2 166.6z"></path>
</svg>
</a>
</div>
</div>
</body></html>