feat(cv upgrade): upgrade cv rendering, add new images

-
master
TBS093A 2023-09-17 00:45:09 +02:00
parent b6267e2d74
commit 97919d2baf
7 changed files with 127 additions and 19 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -2,6 +2,13 @@ import * as React from "react"
import "../styles/general.scss" import "../styles/general.scss"
import MePng from "../images/me_1.jpg" import MePng from "../images/me_1.jpg"
import WorkZSELogo from "../images/work_zse_logo.png"
import WorkURLogo from "../images/work_ur_logo.png"
import WorkSembotLogo from "../images/work_sembot_logo.png"
import WorkSiiLogo from "../images/work_sii_logo.png"
import WorkInfinidatLogo from "../images/work_infinidat_logo.png"
import WorkTechemLogo from "../images/work_techem_logo.png"
const SegmentWithImage = ({ segment }) => { const SegmentWithImage = ({ segment }) => {
return ( return (
@ -53,6 +60,15 @@ const SegmentWithImage = ({ segment }) => {
) )
} }
const MiniWorkImage = {{ image }} => {
return (
<img
src={ image }
style="height: 25px; width: 25px; margin-right: 5px;"
/>
)
}
const SegmentNormal = ({ segment }) => { const SegmentNormal = ({ segment }) => {
return ( return (
<div> <div>
@ -68,14 +84,31 @@ const SegmentNormal = ({ segment }) => {
<li key={ "item_" + key }> <li key={ "item_" + key }>
{ {
typeof segment.content[key] === "object" ? typeof segment.content[key] === "object" ?
key + ": " segment.content[key].length === 1 ?
return (
<>
<MiniWorkImage
image={ segment.content[key][0]['image'] }
/>
{ key + "," }
</>
)
:
return (
<>
<MiniWorkImage
image={ segment.content[key][0]['image'] }
/>
{ key + ": " }
</>
)
: :
key + "," key + ","
} }
<ul> <ul>
{ {
typeof segment.content[key] === "object" ? typeof segment.content[key] === "object" ?
segment.content[key].map( (value, index) => { segment.content[key].slice(1).map( (value, index) => {
return ( return (
<li key={ index }> <li key={ index }>
{ {
@ -83,10 +116,35 @@ const SegmentNormal = ({ segment }) => {
Object.keys( value ).map( ( key_two, index_two) => { Object.keys( value ).map( ( key_two, index_two) => {
return ( return (
<> <>
<MiniWorkImage
image={ value[key_two][0]['image'] }
/>
{ key_two + ": " } { key_two + ": " }
<ul key={ index_two }> <ul key={ index_two }>
{ {
typeof value === "object" ? typeof value === "object" ?
Object.keys( value[key_two] ).slice(1).map( (key_three, index_three) => {
return (
<>
{ key_three + ": " }
<ul key={ index_three }>
{
typeof value[key_two][key_three] === "object" ?
value[key_two][key_three].map( (item, index_three) => {
return (
<li>
{ item + "," }
</li>
)
}
:
""
}
</ul>
</>
)
}
:
value[key_two].map( (item, index_three) => { value[key_two].map( (item, index_three) => {
return ( return (
<li> <li>
@ -207,8 +265,15 @@ const IndexPage = () => {
{ {
title: "Doświadczenie", title: "Doświadczenie",
content: { content: {
"Zespół Szkół Elektronicznych w Rzeszowie / Technikum nr 6 - Technik Informatyk - od 2013 do 2017": "", "Zespół Szkół Elektronicznych w Rzeszowie / Technikum nr 6 - Technik Informatyk - od 2013 do 2017": [
{
"image": WorkZSELogo,
}
],
"Uniwersytet Rzeszowski - Studia Inżynierskie - Informatyka - od 2017 do 2021": [ "Uniwersytet Rzeszowski - Studia Inżynierskie - Informatyka - od 2017 do 2021": [
{
"image": WorkURLogo,
},
{ {
"Praca Inżynierska - Graficzna baza układów dłoni na potrzeby systemu rozpoznawania Polskiego Języka Migowego (PJM)": [ "Praca Inżynierska - Graficzna baza układów dłoni na potrzeby systemu rozpoznawania Polskiego Języka Migowego (PJM)": [
"integracja Django / Django REST Framework z oprogramowaniem Blender", "integracja Django / Django REST Framework z oprogramowaniem Blender",
@ -223,9 +288,12 @@ const IndexPage = () => {
] ]
} }
], ],
"Sembot Sp. z o. o. - DevOps Engineer & Python Developer - od 01.11.2020 do 30.10.2022": [ "Sembot Sp. z o. o. - od 01.11.2020 do 30.10.2022": [
{ {
"Obowiązki": [ "image": WorkSembotLogo,
},
{
"DevOps Engineer & Python Developer": [
"Administracja serwerów (OVH / AWS / Digital Ocean)", "Administracja serwerów (OVH / AWS / Digital Ocean)",
"Konfiguracja serwerów (Nginx (Https-Portal) / Apache / Docker)", "Konfiguracja serwerów (Nginx (Https-Portal) / Apache / Docker)",
"Automatyzacja operacji rutynowych (Ansible / Jenkins pipeline / Bash scripts)", "Automatyzacja operacji rutynowych (Ansible / Jenkins pipeline / Bash scripts)",
@ -235,16 +303,56 @@ const IndexPage = () => {
] ]
} }
], ],
"Sii Sp. z o. o. - Integration Developer - od 10.11.2022": [ "Sii Sp. z o. o. - od 10.11.2022": [
{ {
"Obowiązki": [ "image": WorkSiiLogo,
},
{
"Infinidat Inc - od 10.11.2022 do 24.02.2023": [
{
"image": WorkInfinidatLogo,
},
{
"Integration Developer": [
"Utrzymywanie infrastruktury serwerów (VMware / Vcenter / Vsphere / ESXi)", "Utrzymywanie infrastruktury serwerów (VMware / Vcenter / Vsphere / ESXi)",
"Wdrażanie hostów / węzłów Jenkinsa (Jenkins nodes - z różnymi wersjami distro Linux'a oraz Windows'a) pod budowę i integrację aplikacji (CI/CD)", "Wdrażanie hostów / węzłów Jenkinsa (Jenkins nodes - z różnymi wersjami distro Linux'a oraz Windows'a) pod budowę i integrację aplikacji (CI/CD)",
"Wdrażanie hostów Vcenter / Vsphere / ESXi", "Wdrażanie hostów Vcenter / Vsphere / ESXi",
"Rozwiązywanie problemów na etapie integracji (Jenkins - naprawa na podstawie testów)", "Rozwiązywanie problemów na etapie integracji (Jenkins - naprawa na podstawie testów)",
"Ulepszanie procesów oraz rozwiązań integracyjnych (Jenkins pipeline / Gitlab / Python / Bash)", "Ulepszanie procesów oraz rozwiązań integracyjnych (Jenkins pipeline / Gitlab / Python / Bash)",
"Automatyzacja rutynowych czynności (Bash / Python / Ansible / Jenkins)", "Automatyzacja rutynowych czynności (Bash / Python / Ansible / Jenkins)",
] ],
},
],
"Projekty Wewnętrzne - od 25.02.2023 do 27.05.2023": [
{
"image": WorkSiiLogo,
},
{
"DevOps Engineer": [
"Utrzymywanie infrastruktury mikroserwisów (Docker / Kubernetes / Helm)",
"Utrzymywanie infrastruktury serwerów (Linux)",
"Automatyzacja konfiguracji serwerów (Ansible / Kubespray / Bash)",
"Ulepszanie / Utrzymywanie procesów zautomatyzowanych (Gitlab-CI),
"Automatyzacja raportowania przebiegu wdrożenia CI/CD (Gitlab-CI / SonarQube)",
],
},
],
"Techem GmbH - od 30.05.2023": [
{
"Image": WorkTechemLogo,
},
{
"DevOps Engineer": [
"Utrzymywanie Infrastruktury mikroserwisów (Docker / Docker Compose)",
"Utrzymywanie Infrastruktury serwerów (Jenkins Agent - Windows / Jenkins Master - Linux)",
"Automatyzacja konfiguracji serwerów (Ansible / Bash / Powershell)",
"Automatyzacja uruchamiania testów urządzeń IrDA na środowisku CI/CD (Regresja, Merge Request, Commit) (Jenkins CI/CD / Bash / Powershell / Python - TOX)",
"Automatyzacja bodwania i kolekcjonowania reużywalnych pakietów języka python (Jenkins CI/CD / Private PyPI / Python)",
"Automatyzacja raportowania testów (Jenkins CI/CD / Test-Result-Analyzer / Jira Xray)",
"Automatyzacja procesów walidujących kod (Pre-commit / Black Formatter / Flake8 / MyPY / etc.)"
],
},
],
} }
] ]
} }
@ -530,11 +638,11 @@ const IndexPage = () => {
} }
] ]
let eng_ = "🇬🇧" let eng_ = "Wersja po Angielsku 🇬🇧"
let pol_ = "🇵🇱" let pol_ = "Polish Version 🇵🇱"
const [content_swapper, set_content_swap] = React.useState(eng_); const [content_swapper, set_content_swap] = React.useState(pol_);
const [content, set_content] = React.useState(content_pl); const [content, set_content] = React.useState(content_en);
const swap_content = (event) => { const swap_content = (event) => {
event.preventDefault() event.preventDefault()