Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - korabro

Stran: [1] 2 3
1
Studium a uplatnění / Jak jste přežili svůj stav vyhoření
« kdy: 11. 08. 2020, 18:26:14 »
Cesta do prace metrem/autobusem ze kteryho se mi zveda zaludek, pripadne poskakovani autem v precpane doprave. Pokud dojedete do prace a zustanou Vam pripevnena vsechna 4 kola k vasemu vozu nasleduje 8,5 hodin v korporatnim prostredi se spoustou dulezitych lidi co jsou tak duleziti, ze si to ani nedovedeme nikdo z nas predstavit. Pochopitelne vsichni sedime v jedne velke mistnosti, kde vsichni muzeme sdilet svoje napady a kreslit dve bubliny na tabuli a to nejcasteji se sipkou z leva do prava. Jedinci co zahadnym zpusobem ziskali "titul" expert nebo jsou nazyvani "master" neceho nebo manager neceho jineho se zmuzou i na 4 bubliny.
Obcas nejaka skoleni jak se stat "lepsim clovekem" a ze i "obchodni reditelka" tmave pleti podava stejne i lepsi vykony nez muz-beloch. Ti co se citi hodne "expert" radi nosi velke leskle hodinky, rozhazuji rukama do vzduchu a u toho pouzivaji terminy, kterym sami poradne nerozumi. Kazdopadne jsou hodne slyset behem konferencnich „kooolu“ a z 8 hodinove pracovni doby se razem stava v lepsim pripade 9 hodinova ve skupine “pratelskych, teamovych hracu” + kava zdarma.
Je “patek”, nejel jsem autem a cestou domu jsem si sel zacvicit. Dosel jsem do fitka i navzdory tomu, ze se me snazila prejet Limetka vezouci dva cizince za hudebniho doprovodu JBL reproduktoru.
Jako vzdy je fitko narvane tak jako vsechna okolni fitka v tuto dobu a vyvraci mytus, ze clovek potrebuje k zivotu kyslik. V ultra moderni designove budove se super automatizaci ani neotevrete okna a vzduchotechnika nestiha. Zrcadla praskaji pod naporem “insta stories” – “work hard, play harder” s poradne naspulenou pusou a zadkem narvanym do toho neprilehavejsiho obleceni. Vsichni  businessmani prijeli  v Audi A5, ale jeste nestacili sundat ramecek AAA Auto.  Sprchu si date radeji doma, protoze neforemna hmota tvorena tukem a samponem od “Old Spice“ uz nabyla volebni  moci a bosou nohou se ji nechcete dotknout ani omylem.
Nasleduje cesta zpet do sdileneho bytu. Je to za velmi pratelskou cenu a tak se to jeste vyplati. Budouci titul “otrok hypoteky” se tak mozna vytrati o neco malo driv.
Jelikoz je dalsi den sobota, mira psychicke frustrace je zvladnutelna, provoz na krizovatce konecne utichl, souseduv cokl prestal stekat a jeho rozmazleny dite hazet s hrackama tak si na chvili otevru pocitac. Jeste jsem schopnej se se zajmem ucit. 
O vikendu se snazim ztratit nekam kde me nic nepodnecuje a odpocinout si ale nejak to prestava fungovat a rychle se znovu vytocim na meetingu o dalsim “novem projektu”, ktery se rozjel tak nejak bez meho vedomi I pri uvedomeni nadrizeneho, ze tech x predchozich je stale porad nedoresenych a velmi problematickych, ale jsme agilni a v cloudu…
Je mi 28 a na pritelkyni ani dite nemam rozhodne myslenky a ani si to nedovedu predstavit. Obdivuji lidi co to v dnesni dobe stihaji spolecne se zamestnanim.
Soucasne zamestnani i bydliste asi budu muset opustit. Bud to a nebo se zblaznim. Chci nekam na pul roku, kde je klid. Uklidnit se a nejak restartovat zivot. Do korporatu se uz asi vracet nechci. 3x a dost. Vyhorel jsem. Uz dal nedovedu zit tady tu “skupinovou lez”, kreslit “vision boardy” a poslouchat sebezvany zivotni “kouce” s velmi obecnym receptem na stastny zivot.
Nekdo kdo prosel necim podobnym a popsal by jak se dostal ze stavu vyhoreni?   


2
Mozes pouzit databazu INFORMATION_SCHEMA:

https://dev.mysql.com/doc/refman/8.0/en/information-schema-columns-table.html


SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS`
     WHERE `TABLE_SCHEMA` = 'nazovdatabazy'
     AND `TABLE_NAME` = 'tableA'
     AND `COLUMN_NAME` != 'id'


ja na to sel pomoci describe, ale tohle je rozhodne snazsi. Akorat jak to muzu dostat do seznamu sloupcu pro "SELECT col1,col2..  FROM..." ?

3
To je presne reseni kde musim generovat jmena sloupcu a nebo ten list udrzovat rucne...
Udržovat ten list ručně je správné řešení. Hvězdička je určená pro rychlé psaní ad-hoc dotazů, v aplikaci by se používat neměla. Vždycky byste měl vědět, které přesně sloupce chcete použít.

V tomle pripade (v kontextu tabulky) skutecne potrebuji vsechny sloupce krom id. Kdyby slo pouzit neco jako * && !=id tak ho pouziji

4
Pokud je id autoincrement pak:
insert into table (<seznam sloupcu bez id>) select <seznam sloupcu bez is> from table where....

To je presne reseni kde musim generovat jmena sloupcu a nebo ten list udrzovat rucne...

5
Potrebuji zkopirovat existujici zaznam v tabulce do tabulky ze ktere se zaznam kopiruje. Problem je s id zaznamu, ktery je zaroven primarnim klicem.
Pomoci
Kód: [Vybrat]
insert into tableA  SELECT * FROM tableA where id='34' zaznam vytvorit nelze, protoze id=id zdrojoveho zaznamu (duplicita)

Nasel jsem dve reseni problemu:
1) dynamicky generovat "insert" dotaz s vyctem sloupcu !=id
2) pouziti pomocne tabulky

Obe mi prijdou ponekud neohrabane. Da se pri kopirovani zaznamu pomoci
Kód: [Vybrat]
insert into tableA  SELECT * FROM tableA where id='34' specifikovat "vsechny sloupce, mimo id"?


6
Vývoj / Re:Změna pořadí prvků modelu nested set
« kdy: 23. 07. 2020, 23:35:30 »
Dalo by se to tedy resit nejak takto (nemel jsem to cas jeste otestovat a mozna nevidim chybu):



Existujici list:

Kód: [Vybrat]
1       |  1  12
1.3     |  2  7
1.3.2   |  3  4
1.3.1   |  5  6
1.2     |  8  9
1.1     | 10  11


Se bude zobrazovat jako pri "order right"
///////////
1
 1.1
 1.2
 1.3
  1.3.1
  1.3.2
//////////

Pozadavek: celou mnozinu 1.3 chci zobrazovat na zacatku seznamu v rodici 1. Presun nesmi negativne ovlivnit jine, nez mnoziny rodicovskeho intervalu.

1) Presouvane prvky oznacit pro tranzit odectenim od nuly

Kód: [Vybrat]
1       |  1  12
1.3     |  -2  -7
1.3.2   |  -3  -4
1.3.1   |  -5  -6
1.2     |  8  9
1.1     | 10  11


2) V rodici odecist misto = poctu odebranych prvku +1

lft > 7 and lft < 12  lft= lft - 6
rgt > 7 and rgt < 12  rgt= rgt - 6
Kód: [Vybrat]

1       |  1  12
1.3     |  -2  -7
1.3.2   |  -3  -4
1.3.1   |  -5  -6
1.2     |  2   3
1.1     |  4   5
3) A na zaver vratit prvky z tranzitu odectenim od nuly a pricist rgt posledniho prvku v rodici tj. 5

x<0 lft=0 - (lft)+5-1
x<0 rgt=0 -(rgt)+5-1

Kód: [Vybrat]
1       |  1  12
1.3     |  6  11
1.3.2   |  7  8
1.3.1   |  9  10
1.2     |  2   3
1.1     |  4   5

Se bude zobrazovat jako pri "order right"
///////////
1
 1.3
  1.3.1
  1.3.2
 1.1
 1.2
//////////




- Kontroly:
  ;na konci zmeny je treba potvrdit ze prvek s lft=1 a rgt=12 stale existuje
  ;zadne prvky nemaji lft<0 and rgt<0
  ;zadne cislo lft ani rgt se nevyskytuje > 1


7
Vývoj / Re:Změna pořadí prvků modelu nested set
« kdy: 23. 07. 2020, 18:41:45 »
omlouvam se spatne jsem to napsal 1.3 potrebuji zobrazovat jako prvni v seznamu pod 1 tzn.

1.
  1.3
  1.1
  1.2

proto potrebuju lft a rgt preskladat nasledovne
Kód: [Vybrat]
name      lft rgt
 1          1   8
 1.3        6   7
 1.2        2   3
 1.1        4   5

order je prave "BY RGT"
 

ale vubec nevim jakym postupem to spravne preskladat

8
Vývoj / Re:Změna pořadí prvků modelu nested set
« kdy: 23. 07. 2020, 18:24:34 »
Kód: [Vybrat]
name      lft rgt
 1          1   8
 1.3        2   3
 1.2        4   5
 1.1        6   7

se ve vysledku zobrazuje
1.
  1.1
  1.2
  1.3

1.3 potrebuji zobrazovat jako prvni

Kód: [Vybrat]
name      lft rgt
 1          1   8
 1.3        6   7
 1.2        2   3
 1.1        4   5


9
Vývoj / Re:Změna pořadí prvků modelu nested set
« kdy: 23. 07. 2020, 17:53:39 »
Kód: [Vybrat]
name      lft rgt
 1          1   8 
 1.3        2   3
 1.2        4   5
 1.1        6   7

Prvek 1.3 budu chtit zobrazovat jako prvni. Je nutno ho dat za prvek 1.1. Prvky s vetsim intervalem maji vyssi hodnotu pri zobrazovani.
Sirka uzlu je 3-2+1=2


Takže: nejdřív všechno, včetně těch prvků určených pro přesun přečísluješ nahoru. Ke každému lft a rgt přičteš šířku toho uzlu.

Kód: [Vybrat]
name      lft rgt
 1          3   10 
 1.3        4   5
 1.2        6   7
 1.1        8   9
Pak vezmeš ten uzel a opět přečísluješ lft a rgt směrem dolu tak aby zapadl do připravené díry.

Kód: [Vybrat]
name      lft rgt
 1          3   10 
 1.3        2   3
 1.2        6   7
 1.1        8   9

A pak (na to jsem v původním příspěvku zapomněl) zacelíš díru která vznikla po přesunu toho prvku a to tím, že opět přečísluješ lft a rgt dolu o velikost šířku posouvaného uzlu.

Kód: [Vybrat]
name      lft rgt
 1          1   8 
 1.3        2   3
 1.2        4   5
 1.1        6   7

10
Vývoj / Re:Změna pořadí prvků modelu nested set
« kdy: 23. 07. 2020, 17:15:23 »
Kód: [Vybrat]
Takže: nejdřív všechno, včetně těch prvků určených pro přesun přečísluješ nahoru. Ke každému lft a rgt přičteš šířku toho uzlu. Nebudeš tomu dávat záporné hodnoty ani nic podobného.
Pak vezmeš ten uzel a opět přečísluješ lft a rgt směrem dolu tak aby zapadl do připravené díry.
A pak (na to jsem v původním příspěvku zapomněl) zacelíš díru která vznikla po přesunu toho prvku a to tím, že opět přečísluješ lft a rgt dolu o velikost šířku posouvaného uzlu.

Pokud si to predstavuju spravne tak pri presnym postupu je vysledek nula. Nic se nemeni

11
Vývoj / Re:Změna pořadí prvků modelu nested set
« kdy: 23. 07. 2020, 15:56:02 »
Uz par dnu se snazim zmenit poradi prvku v nested set modelu, ale bez uspechu.
Interval <7;16> se snazim preradit v <6;23> na prvni misto

Když jsem tuto úlohu onehdá řešil, tak jsem si to srovnal na tyto čtyři scénáře:
1/ přidání prvku
2/ odebrání prvku
3/ přesun prvku dolů
4/ přesun prvku nahoru

Ve tvém případě to bude tedy přesun nahoru, jestli jsem to dobře pochopil (když tak mě oprav).

To znamená
- vytvořit místo, kam se přesunou prvku
- přesunout prvky

To znamená zjistit jak široký je uzel který přesouváš, to znamená rgt - lft, to znamená jeden SELECT = size.
To znamená zjistit offset přesouvaného uzlu, to znamená jeden SELECT = offset.
Následně UPDATE, které přečísluje všechny uzly, kterou jsou větší jak začátek umístění o size (včetně uzlu, který budeš přesouvat).
Následně UPDATE, které přečísluje přesouvaný uzel: původní lft = lft - offset. (Offset si můžeš vypočítat na začátku, nebo po přesunu - jde oboje.)


Plus samozřejmě by se to dalo různě optimalizovat.

Misto v cilovem rodici mam ale nevim jak tam ty prvky presunout. Prvky oznacene pro presun maji minusovou hodnotu (na zacatku prispevku je to videt) Prakticky provedu odebrani mnoziny a pak znovu pridani. Zadny delete ani insert, protoze id radku je primarni klic a ten se nesmi zmenit kvuli relacim.


12
Vývoj / Re:Zmena poradi prvku nested set modelu
« kdy: 23. 07. 2020, 14:43:48 »
Pokud mam nasledujici znazorneni:

Kód: [Vybrat]
|-------[2-15]----[16-21]-----[22-25]-------|
1         A        B          C             26

poradi prvku je zobrazeno nasledovne: (vyssi rozsah ma prednost)
1.C
2.B
3.A

pozadovany je:
1.A
2.B
3.C

Ale ten postup pro prepocet urcit nedovedu


13
Vývoj / Re:Zmena poradi prvku nested set modelu
« kdy: 23. 07. 2020, 13:30:40 »
Jde o stromovou strukturu, ktera reprezentuje navigaci na webu. Vnoreni prvku muze byt neomezene. Zmena poradi polozek se deje jen v pripade, kdy to vyzaduje spravce. S tim postupem precislovani si prave nevim rady.

14
Vývoj / Re:Zmena poradi prvku nested set modelu
« kdy: 23. 07. 2020, 12:14:27 »
Mnozina je ulozena v MYSQL. Pomoci PHP pak provadim zmeny. Prostredi ve kterem se vysledny list pouziva nyni potrebuje resit i razeni prvku. Pridani a odebirani prvku je snadne. Razeni uz tolik ne. Jako posledni moznost me napadlo pridat sloupec urcujici poradi prvku v ramci rozsahu rodice.

Vysledek by mohl vypadat takto:

Kód: [Vybrat]
id name lft rgt   prio
1 ROOT 1 24     1
2 1 6 23     1
4 2 4 5      2
5 3 2 3      3
7 1.2 21 22     2
8 1.3 19 20     3
9 1.4 17 18     4
11 100 7 16     5
12 100.1 14 15     1
14 100.2 12 13     2
15 100.3 10 11     3
16 100.4 8 9      4

ale snad se to da resit i bez toho

15
Vývoj / Změna pořadí prvků modelu nested set
« kdy: 23. 07. 2020, 11:31:59 »
Uz par dnu se snazim zmenit poradi prvku v nested set modelu, ale bez uspechu.
Interval <7;16> se snazim preradit v <6;23> na prvni misto

Kód: [Vybrat]
id name lft rgt
1 ROOT 1 24
2 1 6 23
4 2 4 5
5 3 2 3
7 1.2 21 22
8 1.3 19 20
9 1.4 17 18
11 100 7 16
12 100.1 14 15
14 100.2 12 13
15 100.3 10 11
16 100.4 8 9

- pro presouvane prvky plati 0-x
- nasledovne vsechno prvky v intervalu <6;23>  snizit o velikost mnoziny  <7;16>

Kód: [Vybrat]
id name lft rgt
1 ROOT 1 24
2 1 6 23
4 2 4 5
5 3 2 3
7 1.2 11 12
8 1.3 9 10
9 1.4 7 8
11 100 -7 -16
12 100.1 -14 -15
14 100.2 -12 -13
15 100.3 -10 -11
16 100.4 -8 -9

V poslednim kromu se nevim rady jak prvky dostat do nasledujiciho umisteni


Kód: [Vybrat]
id name lft rgt
1 ROOT 1 24
2 1 6 23
4 2 4 5
5 3 2 3
7 1.2 11 12
8 1.3 9 10
9 1.4 7 8
11 100 13 22
12 100.1 14 15
14 100.2 16 17
15 100.3 18 19
16 100.4 20 21

Stran: [1] 2 3