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 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 }) => {
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 }) => {
return (
<div>
@ -68,14 +84,31 @@ const SegmentNormal = ({ segment }) => {
<li key={ "item_" + key }>
{
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 + ","
}
<ul>
{
typeof segment.content[key] === "object" ?
segment.content[key].map( (value, index) => {
segment.content[key].slice(1).map( (value, index) => {
return (
<li key={ index }>
{
@ -83,10 +116,35 @@ const SegmentNormal = ({ segment }) => {
Object.keys( value ).map( ( key_two, index_two) => {
return (
<>
<MiniWorkImage
image={ value[key_two][0]['image'] }
/>
{ key_two + ": " }
<ul key={ index_two }>
{
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) => {
return (
<li>
@ -207,8 +265,15 @@ const IndexPage = () => {
{
title: "Doświadczenie",
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": [
{
"image": WorkURLogo,
},
{
"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",
@ -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)",
"Konfiguracja serwerów (Nginx (Https-Portal) / Apache / Docker)",
"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)",
"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",
"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)",
"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 pol_ = "🇵🇱"
let eng_ = "Wersja po Angielsku 🇬🇧"
let pol_ = "Polish Version 🇵🇱"
const [content_swapper, set_content_swap] = React.useState(eng_);
const [content, set_content] = React.useState(content_pl);
const [content_swapper, set_content_swap] = React.useState(pol_);
const [content, set_content] = React.useState(content_en);
const swap_content = (event) => {
event.preventDefault()