feat(upgrades): tottaly upgrade everything
remove stochastic way of rendering segments, use normal way (split on segments)master
parent
97919d2baf
commit
02d70d7990
|
|
@ -8,7 +8,7 @@
|
||||||
"gatsby"
|
"gatsby"
|
||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"develop": "gatsby develop",
|
"develop": "gatsby develop -p 8888 -H 0.0.0.0",
|
||||||
"start": "gatsby develop",
|
"start": "gatsby develop",
|
||||||
"build": "gatsby build",
|
"build": "gatsby build",
|
||||||
"serve": "gatsby serve",
|
"serve": "gatsby serve",
|
||||||
|
|
|
||||||
|
|
@ -10,11 +10,118 @@ import WorkInfinidatLogo from "../images/work_infinidat_logo.png"
|
||||||
import WorkTechemLogo from "../images/work_techem_logo.png"
|
import WorkTechemLogo from "../images/work_techem_logo.png"
|
||||||
|
|
||||||
|
|
||||||
const SegmentWithImage = ({ segment }) => {
|
|
||||||
|
const MiniWorkImage = ({ image }) => {
|
||||||
return (
|
return (
|
||||||
<div>
|
<img
|
||||||
|
src={ image }
|
||||||
|
style="height: 25px; width: 25px; margin-right: 5px;"
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const SegmentTitle = ({ segment }) => {
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
className="segment_general"
|
||||||
|
>
|
||||||
|
<div className="segment_title">
|
||||||
|
{ segment.title }
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const SegmentListNormal = ({ segment, tabs }) => {
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
width: 100 - tabs * 5 + "%",
|
||||||
|
marginLeft: tabs * 5 + "%",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<div className="segment_content">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
{
|
||||||
|
segment.content.length > 0 ?
|
||||||
|
segment.title + ":"
|
||||||
|
:
|
||||||
|
segment.title + ","
|
||||||
|
}
|
||||||
|
</li>
|
||||||
|
<ul>
|
||||||
|
{
|
||||||
|
segment.content.length > 0 ?
|
||||||
|
segment.content.map(
|
||||||
|
(item, index) => {
|
||||||
|
return (
|
||||||
|
<li key={ index }>
|
||||||
|
{ item + "," }
|
||||||
|
</li>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
:
|
||||||
|
<></>
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
const SegmentListWork = ({ segment, tabs }) => {
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
width: 100 - tabs * 5 + "%",
|
||||||
|
marginLeft: tabs * 5 + "%",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<div className="segment_content">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
{
|
||||||
|
segment.content.length > 0 ?
|
||||||
|
segment.title + ":"
|
||||||
|
:
|
||||||
|
segment.title + ","
|
||||||
|
}
|
||||||
|
</li>
|
||||||
|
<ul>
|
||||||
|
{
|
||||||
|
segment.content.length > 0 ?
|
||||||
|
segment.content.map(
|
||||||
|
(item, index) => {
|
||||||
|
return (
|
||||||
|
<li key={ index }>
|
||||||
|
{ item + "," }
|
||||||
|
</li>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
:
|
||||||
|
<></>
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const SegmentGeneral = ({ segment }) => {
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
className="segment_general"
|
||||||
|
>
|
||||||
<img
|
<img
|
||||||
src={ MePng }
|
src={ segment.image }
|
||||||
className="segment_image cover"
|
className="segment_image cover"
|
||||||
/>
|
/>
|
||||||
<div className="segment_title segment_title_image">
|
<div className="segment_title segment_title_image">
|
||||||
|
|
@ -60,134 +167,12 @@ const SegmentWithImage = ({ segment }) => {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
const MiniWorkImage = {{ image }} => {
|
|
||||||
return (
|
|
||||||
<img
|
|
||||||
src={ image }
|
|
||||||
style="height: 25px; width: 25px; margin-right: 5px;"
|
|
||||||
/>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
const SegmentNormal = ({ segment }) => {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<div className="segment_title">
|
|
||||||
{ segment.title }
|
|
||||||
</div>
|
|
||||||
<div className="segment_content">
|
|
||||||
<ul>
|
|
||||||
{
|
|
||||||
typeof segment.content === "object" ?
|
|
||||||
Object.keys(segment.content).map( (key) => {
|
|
||||||
return (
|
|
||||||
<li key={ "item_" + key }>
|
|
||||||
{
|
|
||||||
typeof segment.content[key] === "object" ?
|
|
||||||
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].slice(1).map( (value, index) => {
|
|
||||||
return (
|
|
||||||
<li key={ index }>
|
|
||||||
{
|
|
||||||
typeof value === "object" ?
|
|
||||||
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>
|
|
||||||
{ item + "," }
|
|
||||||
</li>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
:
|
|
||||||
value + ","
|
|
||||||
}
|
|
||||||
</ul>
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
:
|
|
||||||
value + ","
|
|
||||||
}
|
|
||||||
</li>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
:
|
|
||||||
""
|
|
||||||
}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
:
|
|
||||||
"lol"
|
|
||||||
}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
const SegmentRODO = ({ segment }) => {
|
const SegmentRODO = ({ segment }) => {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div
|
||||||
|
className="segment_general"
|
||||||
|
>
|
||||||
<div className="segment_content foot_content">
|
<div className="segment_content foot_content">
|
||||||
{ segment.content }
|
{ segment.content }
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -201,26 +186,50 @@ const Segment = ({ index, segment }) => {
|
||||||
let segment_index = "segment_" + index
|
let segment_index = "segment_" + index
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className="segment_general"
|
|
||||||
id={ segment_index }
|
id={ segment_index }
|
||||||
key={ segment_index }
|
key={ segment_index }
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
"image" in segment ?
|
segment.type === "generalTitleSegment" ?
|
||||||
<SegmentWithImage
|
<>
|
||||||
segment={ segment }
|
<SegmentGeneral
|
||||||
/>
|
|
||||||
:
|
|
||||||
segment.title === "" ?
|
|
||||||
<SegmentRODO
|
|
||||||
segment={ segment }
|
segment={ segment }
|
||||||
/>
|
/>
|
||||||
:
|
</>
|
||||||
<SegmentNormal
|
:
|
||||||
segment={ segment }
|
segment.type === "titleSegment" ?
|
||||||
/>
|
<>
|
||||||
}
|
<SegmentTitle
|
||||||
|
segment={ segment }
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
:
|
||||||
|
segment.type === "subSegment" ?
|
||||||
|
<>
|
||||||
|
<SegmentListNormal
|
||||||
|
segment={ segment }
|
||||||
|
tabs={ segment.tabs }
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
:
|
||||||
|
segment.type === "workSubSegment" ?
|
||||||
|
<>
|
||||||
|
<SegmentListWork
|
||||||
|
segment={ segment }
|
||||||
|
tabs={ segment.tabs }
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
:
|
||||||
|
segment.type === "RODOSegment" ?
|
||||||
|
<>
|
||||||
|
<SegmentRODO
|
||||||
|
segment={ segment }
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
:
|
||||||
|
<></>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
@ -230,8 +239,9 @@ const IndexPage = () => {
|
||||||
|
|
||||||
let content_pl = [
|
let content_pl = [
|
||||||
{
|
{
|
||||||
|
type: "generalTitleSegment",
|
||||||
title: "Kamil Żuk",
|
title: "Kamil Żuk",
|
||||||
image: "me.png",
|
image: MePng,
|
||||||
content: {
|
content: {
|
||||||
"E-mail": "zukkamil.44@gmail.com",
|
"E-mail": "zukkamil.44@gmail.com",
|
||||||
"Github": "github.com/tbs093a",
|
"Github": "github.com/tbs093a",
|
||||||
|
|
@ -241,132 +251,199 @@ const IndexPage = () => {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
type: "titleSegment",
|
||||||
title: "Umiejętności",
|
title: "Umiejętności",
|
||||||
content: {
|
|
||||||
"Programowanie": [
|
|
||||||
"Python - Django / Django REST Framework / Channels 3.0",
|
|
||||||
"Javascript - ReactJS / Redux Toolkit",
|
|
||||||
],
|
|
||||||
"Konfiguracja Serwerów": [
|
|
||||||
"Apache / Nginx (Https-Portal)"
|
|
||||||
],
|
|
||||||
"Obsługa Narzędzi DevOps": [
|
|
||||||
"Jenkins / Ansible / Docker / Docker-Compose / Automatyzacja w Bash",
|
|
||||||
],
|
|
||||||
"Konfiguracja & Administracja Baz Danych": [
|
|
||||||
"SQL - MariaDB / MySQL / PostgreSQL",
|
|
||||||
"NoSQL - MongoDb / ElasticSearch / Redis"
|
|
||||||
],
|
|
||||||
"Język Angielski": [
|
|
||||||
"Poziom B2",
|
|
||||||
],
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "subSegment",
|
||||||
|
tabs: 0,
|
||||||
|
title: "Programowanie",
|
||||||
|
content: [
|
||||||
|
"Python - Django / Django REST Framework / Channels 3.0",
|
||||||
|
"Javascript - ReactJS / Redux Toolkit",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "subSegment",
|
||||||
|
tabs: 0,
|
||||||
|
title: "Konfiguracja Serwerów",
|
||||||
|
content: [
|
||||||
|
"Apache / Nginx (Https-Portal)"
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "subSegment",
|
||||||
|
tabs: 0,
|
||||||
|
title: "Obsługa Narzędzi DevOps",
|
||||||
|
content: [
|
||||||
|
"Jenkins / Ansible / Docker / Docker-Compose / Automatyzacja w Bash",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "subSegment",
|
||||||
|
tabs: 0,
|
||||||
|
title: "Konfiguracja & Administracja Baz Danych",
|
||||||
|
content: [
|
||||||
|
"SQL - MariaDB / MySQL / PostgreSQL",
|
||||||
|
"NoSQL - MongoDb / ElasticSearch / Redis"
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "subSegment",
|
||||||
|
tabs: 0,
|
||||||
|
title: "Język Angielski",
|
||||||
|
content: [
|
||||||
|
"Poziom B2",
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
|
type: "titleSegment",
|
||||||
title: "Doświadczenie",
|
title: "Doświadczenie",
|
||||||
content: {
|
},
|
||||||
"Zespół Szkół Elektronicznych w Rzeszowie / Technikum nr 6 - Technik Informatyk - od 2013 do 2017": [
|
{
|
||||||
{
|
type: "workSubSegment",
|
||||||
"image": WorkZSELogo,
|
tabs: 0,
|
||||||
}
|
title: "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": [
|
content: [],
|
||||||
{
|
},
|
||||||
"image": WorkURLogo,
|
{
|
||||||
},
|
type: "workSubSegment",
|
||||||
{
|
tabs: 0,
|
||||||
"Praca Inżynierska - Graficzna baza układów dłoni na potrzeby systemu rozpoznawania Polskiego Języka Migowego (PJM)": [
|
title: "Uniwersytet Rzeszowski - Studia Inżynierskie - Informatyka - od 2017 do 2021",
|
||||||
"integracja Django / Django REST Framework z oprogramowaniem Blender",
|
image: WorkURLogo,
|
||||||
"integracja Djnago / Django REST Framework z bazą danych MongoDb podzielonej na fragmenty (shards)",
|
content: [],
|
||||||
"implementacja protokołu WebSocket (moduł Channles 3.0) do monitorowania procesu renderowania układów dłoni w czasie rzeczywistym",
|
},
|
||||||
"implementacja synchronicznego API w Django REST Framework do zarządzania wyrenderowanymi obrazami oraz modelami 3D",
|
{
|
||||||
"implementacja asynchronicznego API w Django + Channels 3.0 + Redis do nadzorowania procesu renderowania na serwerze w czasie rzeczywistym",
|
type: "workSubSegment",
|
||||||
"implementacja aplikacji klienckiej w ReactJS / Gatsby + Redux Toolkit do obsługi synchronicznego i asynchronicznego API",
|
tabs: 1,
|
||||||
"wdrożenie aplikacji w formie rozproszonej dzięki narzędziom konteneryzacji i orkiestracji Docker + Docker-Compose",
|
title: "Praca Inżynierska - Graficzna baza układów dłoni na potrzeby systemu rozpoznawania Polskiego Języka Migowego (PJM)",
|
||||||
"implementacja skryptów Bash automatyzujących migrację / konfigurację wszystkich środowisk konteneryzacyjnych na podstawie zmeinnych środowiskowych",
|
image: "",
|
||||||
"wykonanie modelu trójwymiarowgo dłoni przeznaczonego do renderowania realistycznych próbek (zdjęć) układów dłoni, jako materiały do nauki systemu rozpoznawania PJM",
|
content: [
|
||||||
]
|
"integracja Django / Django REST Framework z oprogramowaniem Blender",
|
||||||
}
|
"integracja Djnago / Django REST Framework z bazą danych MongoDb podzielonej na fragmenty (shards)",
|
||||||
],
|
"implementacja protokołu WebSocket (moduł Channles 3.0) do monitorowania procesu renderowania układów dłoni w czasie rzeczywistym",
|
||||||
"Sembot Sp. z o. o. - od 01.11.2020 do 30.10.2022": [
|
"implementacja synchronicznego API w Django REST Framework do zarządzania wyrenderowanymi obrazami oraz modelami 3D",
|
||||||
{
|
"implementacja asynchronicznego API w Django + Channels 3.0 + Redis do nadzorowania procesu renderowania na serwerze w czasie rzeczywistym",
|
||||||
"image": WorkSembotLogo,
|
"implementacja aplikacji klienckiej w ReactJS / Gatsby + Redux Toolkit do obsługi synchronicznego i asynchronicznego API",
|
||||||
},
|
"wdrożenie aplikacji w formie rozproszonej dzięki narzędziom konteneryzacji i orkiestracji Docker + Docker-Compose",
|
||||||
{
|
"implementacja skryptów Bash automatyzujących migrację / konfigurację wszystkich środowisk konteneryzacyjnych na podstawie zmeinnych środowiskowych",
|
||||||
"DevOps Engineer & Python Developer": [
|
"wykonanie modelu trójwymiarowgo dłoni przeznaczonego do renderowania realistycznych próbek (zdjęć) układów dłoni, jako materiały do nauki systemu rozpoznawania PJM",
|
||||||
"Administracja serwerów (OVH / AWS / Digital Ocean)",
|
],
|
||||||
"Konfiguracja serwerów (Nginx (Https-Portal) / Apache / Docker)",
|
},
|
||||||
"Automatyzacja operacji rutynowych (Ansible / Jenkins pipeline / Bash scripts)",
|
{
|
||||||
"Wdrażanie produkcyjne oprogramowania zorientowanego na kontenerach (Docker / Docker-Compose)",
|
type: "workSubSegment",
|
||||||
"Programowanie narzędzi MerchTech (Python / Django / Django REST Framework)",
|
tabs: 0,
|
||||||
"Implementacja, konfiguracja oraz administracja baz danych do obsługi narzędzi MerchTech (Big Data) (MongoDb / Elasticsearch / MariaDb / MySQL / Redis / AWS SQS)"
|
title: "Sembot Sp. z o. o. - od 01.11.2020 do 30.10.2022",
|
||||||
]
|
image: WorkSembotLogo,
|
||||||
}
|
content: [],
|
||||||
],
|
},
|
||||||
"Sii Sp. z o. o. - od 10.11.2022": [
|
{
|
||||||
{
|
type: "workSubSegment",
|
||||||
"image": WorkSiiLogo,
|
tabs: 1,
|
||||||
},
|
title: "DevOps Engineer & Python Developer",
|
||||||
{
|
image: "",
|
||||||
"Infinidat Inc - od 10.11.2022 do 24.02.2023": [
|
content: [
|
||||||
{
|
"Administracja serwerów (OVH / AWS / Digital Ocean)",
|
||||||
"image": WorkInfinidatLogo,
|
"Konfiguracja serwerów (Nginx (Https-Portal) / Apache / Docker)",
|
||||||
},
|
"Automatyzacja operacji rutynowych (Ansible / Jenkins pipeline / Bash scripts)",
|
||||||
{
|
"Wdrażanie produkcyjne oprogramowania zorientowanego na kontenerach (Docker / Docker-Compose)",
|
||||||
"Integration Developer": [
|
"Programowanie narzędzi MerchTech (Python / Django / Django REST Framework)",
|
||||||
"Utrzymywanie infrastruktury serwerów (VMware / Vcenter / Vsphere / ESXi)",
|
"Implementacja, konfiguracja oraz administracja baz danych do obsługi narzędzi MerchTech (Big Data) (MongoDb / Elasticsearch / MariaDb / MySQL / Redis / AWS SQS)"
|
||||||
"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.)"
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
type: "workSubSegment",
|
||||||
|
tabs: 0,
|
||||||
|
title: "Sii Sp. z o. o. - od 10.11.2022",
|
||||||
|
image: WorkSiiLogo,
|
||||||
|
content: [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "workSubSegment",
|
||||||
|
tabs: 1,
|
||||||
|
title: "Infinidat Inc - od 10.11.2022 do 24.02.2023",
|
||||||
|
image: WorkInfinidatLogo,
|
||||||
|
content: [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "workSubSegment",
|
||||||
|
tabs: 2,
|
||||||
|
title: "Integration Developer",
|
||||||
|
image: "",
|
||||||
|
content: [
|
||||||
|
"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)",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "workSubSegment",
|
||||||
|
tabs: 1,
|
||||||
|
title: "Projekty Wewnętrzne - od 25.02.2023 do 27.05.2023",
|
||||||
|
image: WorkSiiLogo,
|
||||||
|
content: [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "workSubSegment",
|
||||||
|
tabs: 2,
|
||||||
|
title: "DevOps Engineer",
|
||||||
|
image: "",
|
||||||
|
content: [
|
||||||
|
"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)",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "workSubSegment",
|
||||||
|
tabs: 1,
|
||||||
|
title: "Techem GmbH - od 30.05.2023",
|
||||||
|
image: WorkTechemLogo,
|
||||||
|
content: [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "workSubSegment",
|
||||||
|
tabs: 2,
|
||||||
|
title: "DevOps Engineer",
|
||||||
|
image: "",
|
||||||
|
content: [
|
||||||
|
"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.)"
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "titleSegment",
|
||||||
title: "Zainteresowania",
|
title: "Zainteresowania",
|
||||||
content: {
|
|
||||||
"Web3.0": [
|
|
||||||
"Blockchain / Cryptography / Smart Contracts",
|
|
||||||
],
|
|
||||||
"Grafika 3D & 2D": "",
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "subSegment",
|
||||||
|
tabs: 0,
|
||||||
|
title: "Web3.0",
|
||||||
|
image: "",
|
||||||
|
content: [
|
||||||
|
"Blockchain / Cryptography / Smart Contracts",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "subSegment",
|
||||||
|
tabs: 0,
|
||||||
|
title: "Grafika 3D & 2D",
|
||||||
|
image: "",
|
||||||
|
content: [],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
|
type: "RODOSegment",
|
||||||
title: "",
|
title: "",
|
||||||
content: "Wyrażam zgodę na przetwarzanie moich danych osobowych dla potrzeb niezbędnych do realizacji procesu rekrutacji zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO)."
|
content: "Wyrażam zgodę na przetwarzanie moich danych osobowych dla potrzeb niezbędnych do realizacji procesu rekrutacji zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO)."
|
||||||
}
|
}
|
||||||
|
|
@ -386,83 +463,170 @@ const IndexPage = () => {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Tech Skills",
|
title: "Tech Skills",
|
||||||
content: {
|
content: [
|
||||||
"Programming": [
|
{
|
||||||
"Python - Django / Django REST Framework / Channels 3.0",
|
title: "Programming",
|
||||||
"Javascript - ReactJS / Redux Toolkit",
|
content: [
|
||||||
],
|
"Python - Django / Django REST Framework / Channels 3.0",
|
||||||
"Server Configuration": [
|
"Javascript - ReactJS / Redux Toolkit",
|
||||||
"Apache / Nginx (Https-Portal)"
|
],
|
||||||
],
|
},
|
||||||
"DevOps Tools": [
|
{
|
||||||
"Jenkins / Ansible / Docker / Docker-Compose / Bash",
|
title: "Server Configuration",
|
||||||
],
|
content: [
|
||||||
"Configuration & Administration": [
|
"Apache / Nginx (Https-Portal)"
|
||||||
"SQL - MariaDB / MySQL / PostgreSQL",
|
],
|
||||||
"NoSQL - MongoDb / ElasticSearch / Redis"
|
},
|
||||||
],
|
{
|
||||||
"English": [
|
title: "DevOps Tools",
|
||||||
"B2 Level",
|
content: [
|
||||||
],
|
"Jenkins / Ansible / Docker / Docker-Compose / Automatyzacja w Bash",
|
||||||
}
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Configuration & Administration",
|
||||||
|
content: [
|
||||||
|
"SQL - MariaDB / MySQL / PostgreSQL",
|
||||||
|
"NoSQL - MongoDb / ElasticSearch / Redis"
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "English",
|
||||||
|
content: [
|
||||||
|
"B2 Level",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Experience",
|
title: "Experience",
|
||||||
content: {
|
content: [
|
||||||
"ZSE in Rzeszów / Technical School - IT - from 2013 to 2017": "",
|
{
|
||||||
"University of Rzeszów - Engineer Studying - IT - from 2017 to 2021": [
|
title: "ZSE in Rzeszów / Technical School - IT - from 2013 to 2017",
|
||||||
{
|
image: WorkZSELogo,
|
||||||
"Thesis - Graphical database of handshapes for the Polish Sign Language (PSL) gesture recognition system": [
|
content: [],
|
||||||
"Django / Django REST Framework integration with 3D objects editor software - Blender",
|
},
|
||||||
"Djnago / Django REST Framework integration with MongoDb sharded database",
|
{
|
||||||
"WebSocket (Channles 3.0 module) implementation for single proccess of handshape render monitoring",
|
title: "University of Rzeszów - Engineer Studying - IT - from 2017 to 2021",
|
||||||
"Sync Django REST Framework API implementation for ready materials and 3D object files managment",
|
image: WorkURLogo,
|
||||||
"Async Django + Channels 3.0 + Redis API implementation for live rendering proccess managment",
|
content: [
|
||||||
"ReactJS / Gatsby + Redux Toolkit client application implementation for simple sync & async backend application functionality control",
|
{
|
||||||
"Application deployment in distributed form as containers with Docker + Docker-Compose tools",
|
title: "Thesis - Graphical database of handshapes for the Polish Sign Language (PSL) gesture recognition system",
|
||||||
"Bash scripts implementation for routain operations automatization like databases migration & all app containers configuration",
|
image: "",
|
||||||
"Made 3D hand model for realistic materials (handshapes) rendering as images for learning PSL recognition system",
|
content: [
|
||||||
]
|
"Django / Django REST Framework integration with 3D objects editor software - Blender",
|
||||||
}
|
"Djnago / Django REST Framework integration with MongoDb sharded database",
|
||||||
],
|
"WebSocket (Channles 3.0 module) implementation for single proccess of handshape render monitoring",
|
||||||
"Sembot Sp. z o. o. - DevOps Engineer & Python Developer - from 01.11.2020 to 30.10.2022": [
|
"Sync Django REST Framework API implementation for ready materials and 3D object files managment",
|
||||||
{
|
"Async Django + Channels 3.0 + Redis API implementation for live rendering proccess managment",
|
||||||
"Responsibilities": [
|
"ReactJS / Gatsby + Redux Toolkit client application implementation for simple sync & async backend application functionality control",
|
||||||
"Server Administration (OVH / AWS / Digital Ocean)",
|
"Application deployment in distributed form as containers with Docker + Docker-Compose tools",
|
||||||
"Server Configuratiion (Nginx (Https-Protal) / Apache / Docker)",
|
"Bash scripts implementation for routain operations automatization like databases migration & all app containers configuration",
|
||||||
"Routain operations automation (Ansible / Jenkins pipeline / Bash scripts)",
|
"Made 3D hand model for realistic materials (handshapes) rendering as images for learning PSL recognition system",
|
||||||
"Applications deployment oriented on containers (Docker / Docker-Compose)",
|
],
|
||||||
"MerchTech tools implementation (Python / Django / Django REST Framework)",
|
},
|
||||||
"Production databases implementation & configuration & administration for MerchTech tools (Big Data) (MongoDb / Elasticsearch / MariaDb / MySQL / Redis / AWS SQS)"
|
],
|
||||||
]
|
},
|
||||||
}
|
{
|
||||||
],
|
title: "Sembot Sp. z o. o. - from 01.11.2020 to 30.10.2022",
|
||||||
"Sii Sp. z o. o. - Integration Developer - from 10.11.2022": [
|
image: WorkSembotLogo,
|
||||||
{
|
content: [
|
||||||
"Responsibilities": [
|
{
|
||||||
"Infrastructure maintaining (VMware / Vcenter / Vsphere / ESXi)",
|
title: "DevOps Engineer & Python Developer",
|
||||||
"Jenkins nodes implamentation (with different Linux and Windows distros versions) for applications building and integration (CI/CD process)",
|
image: "",
|
||||||
"Vcenter / Vsphere / ESXi hosts deployment",
|
content: [
|
||||||
"Problems solving on integration stage (tests / code fixing & repairing)",
|
"Server Administration (OVH / AWS / Digital Ocean)",
|
||||||
"Integration processes & solution improvements (Jenkins pipeline / Gitlab / Python / Bash)",
|
"Server Configuratiion (Nginx (Https-Protal) / Apache / Docker)",
|
||||||
"Routine operations automation (Bash / Python / Ansible / Jenkins)",
|
"Routain operations automation (Ansible / Jenkins pipeline / Bash scripts)",
|
||||||
]
|
"Applications deployment oriented on containers (Docker / Docker-Compose)",
|
||||||
}
|
"MerchTech tools implementation (Python / Django / Django REST Framework)",
|
||||||
]
|
"Production databases implementation & configuration & administration for MerchTech tools (Big Data) (MongoDb / Elasticsearch / MariaDb / MySQL / Redis / AWS SQS)"
|
||||||
}
|
],
|
||||||
},
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Sii Sp. z o. o. - from 10.11.2022",
|
||||||
|
image: WorkSiiLogo,
|
||||||
|
content: [
|
||||||
|
{
|
||||||
|
title: "Infinidat Inc - from 10.11.2022 to 24.02.2023",
|
||||||
|
image: WorkInfinidatLogo,
|
||||||
|
contnet: [
|
||||||
|
{
|
||||||
|
title: "Integration Developer",
|
||||||
|
image: "",
|
||||||
|
content: [
|
||||||
|
"Infrastructure maintaining (VMware / Vcenter / Vsphere / ESXi)",
|
||||||
|
"Jenkins nodes implamentation (with different Linux and Windows distros versions) for applications building and integration (CI/CD process)",
|
||||||
|
"Vcenter / Vsphere / ESXi hosts deployment",
|
||||||
|
"Problems solving on integration stage (tests / code fixing & repairing)",
|
||||||
|
"Integration processes & solution improvements (Jenkins pipeline / Gitlab / Python / Bash)",
|
||||||
|
"Routine operations automation (Bash / Python / Ansible / Jenkins)",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Inside Projects - from 25.02.2023 to 27.05.2023",
|
||||||
|
image: WorkSiiLogo,
|
||||||
|
content: [
|
||||||
|
{
|
||||||
|
title: "DevOps Engineer",
|
||||||
|
image: "",
|
||||||
|
content: [
|
||||||
|
"Microservices infrastructure maintenance (Docker / Kubernetes / Helm)",
|
||||||
|
"Servers infrastructure maintenance (Linux)",
|
||||||
|
"Automatization of servers configuration (Ansible / Kubespray / Bash)",
|
||||||
|
"Upgrading / maintainance of automatic processes (Gitlab-CI)",
|
||||||
|
"Automatization of CI/CD process reporting (Gitlab-CI / SonarQube)",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Techem GmbH - from 30.05.2023",
|
||||||
|
image: WorkTechemLogo,
|
||||||
|
content: [
|
||||||
|
{
|
||||||
|
title: "DevOps Engineer",
|
||||||
|
image: "",
|
||||||
|
content: [
|
||||||
|
"Microservices infrastructure maintenance (Docker / Docker Compose)",
|
||||||
|
"Servers infrastructure maintenance (Jenkins Agent - Windows / Jenkins Master - Linux)",
|
||||||
|
"Automatization of servers configuration (Ansible / Bash / Powershell)",
|
||||||
|
"Automatization of IrDA devices tests invoking on CI/CD environment (Regression, Merge Request, Commit) (Jenkins CI/CD / Bash / Powershell / Python - TOX)",
|
||||||
|
"Automatization of re-used python packages building & collecting process (Jenkins CI/CD / Private PyPI / Python)",
|
||||||
|
"Automatization of tests reporting (Jenkins CI/CD / Test-Result-Analyzer / Jira Xray)",
|
||||||
|
"Automatization of code validation processes (Pre-commit / Black Formatter / Flake8 / MyPY / etc.)"
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "Interests",
|
title: "Interests",
|
||||||
content: {
|
content: [
|
||||||
"Web3.0": [
|
{
|
||||||
"Blockchain / Cryptography / Smart Contracts",
|
title: "Web3.0",
|
||||||
],
|
image: "",
|
||||||
"3D & 2D Graph Design": "",
|
content: [
|
||||||
}
|
"Blockchain / Cryptography / Smart Contracts",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "3D & 2D Graph Design",
|
||||||
|
image: "",
|
||||||
|
content: [],
|
||||||
|
},
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "",
|
title: "",
|
||||||
content: "I agree to the processing of personal data provided in this document for realising the recruitment process pursuant to the Personal Data Protection Act of 10 May 2018 (Journal of Laws 2018, item 1000) and in agreement with Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, and repealing Directive 95/46/EC (General Data Protection Regulation)."
|
content: "I agree to the processing of personal data provided in this document for realising the recruitment process pursuant to the Personal Data Protection Act of 10 May 2018 (Journal of Laws 2018, item 1000) and in agreement with Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, and repealing Directive 95/46/EC (General Data Protection Regulation)."
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
@ -638,11 +802,11 @@ const IndexPage = () => {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
let eng_ = "Wersja po Angielsku 🇬🇧"
|
let eng_ = "🇬🇧"
|
||||||
let pol_ = "Polish Version 🇵🇱"
|
let pol_ = "🇵🇱"
|
||||||
|
|
||||||
const [content_swapper, set_content_swap] = React.useState(pol_);
|
const [content_swapper, set_content_swap] = React.useState(eng_);
|
||||||
const [content, set_content] = React.useState(content_en);
|
const [content, set_content] = React.useState(content_pl);
|
||||||
|
|
||||||
const swap_content = (event) => {
|
const swap_content = (event) => {
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
|
|
|
||||||
|
|
@ -97,15 +97,7 @@ $foot_font_size: 9.8pt;
|
||||||
.cover {
|
.cover {
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
object-position: top;
|
object-position: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
.segment_content {
|
|
||||||
float: left;
|
|
||||||
width: 100%;
|
|
||||||
font-family: $regular_font_family;
|
|
||||||
font-size: $regular_font_size;
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
|
|
||||||
.foot_content {
|
.foot_content {
|
||||||
font-size: $foot_font_size;
|
font-size: $foot_font_size;
|
||||||
|
|
@ -126,27 +118,41 @@ $foot_font_size: 9.8pt;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.segment_title {
|
|
||||||
float: left;
|
|
||||||
width: 250px;
|
|
||||||
padding-top: 12px;
|
|
||||||
height: 45px;
|
|
||||||
color: white;
|
|
||||||
font-family: $title_font_family;
|
|
||||||
font-size: $title_font_size;
|
|
||||||
text-align: center;
|
|
||||||
background-color: $div_background_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.segment_title_image {
|
|
||||||
float: left;
|
|
||||||
margin-top: 100px;
|
|
||||||
margin-left: -40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.segment_title {
|
||||||
|
float: left;
|
||||||
|
width: 250px;
|
||||||
|
padding-top: 12px;
|
||||||
|
height: 45px;
|
||||||
|
color: white;
|
||||||
|
font-family: $title_font_family;
|
||||||
|
font-size: $title_font_size;
|
||||||
|
text-align: center;
|
||||||
|
background-color: $div_background_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.segment_content {
|
||||||
|
float: left;
|
||||||
|
width: 100%;
|
||||||
|
font-family: $regular_font_family;
|
||||||
|
font-size: $regular_font_size;
|
||||||
|
text-align: justify;
|
||||||
|
|
||||||
|
ul {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.segment_title_image {
|
||||||
|
float: left;
|
||||||
|
margin-top: 100px;
|
||||||
|
margin-left: -40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.subitem {
|
.subitem {
|
||||||
margin-left: 15px;
|
margin-left: 15px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue