» »

MojeDelo.com praznični maratonski IT hekaton

MojeDelo.com praznični maratonski IT hekaton

sbawe64 ::

Sodeluj v prazničnem maratonskem IT hekatonu MojeDelo.com!

Popestri si praznične dneve, izkoristi čas in priložnost ter v 13 zaporednih IT izzivih dokaži, da si najbolj vsestranski IT-jevec!

Začnemo v torek, 8. decembra. Vsak dan do božiča te bomo izzvali z novo IT nalogo. Boš uspel najti rešitev za vseh 13 izzivov?

Če vam je dolgčas, zadeva se nahaja tu https://xmas.mojedelo.com/challenges .
2020 is new 1984
Corona World order
  • spremenilo: sbawe64 ()

HotBurek ::

root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

Zgodovina sprememb…

  • spremenilo: HotBurek ()

sbawe64 ::

Izziv 2

1 gpu
2 insider
3 vim
4 input
5 sqlinjection
6 chmod
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

Pimoz ::

Heh, lahko prideš do podatka kolikokrat je kdo failal :)

sbawe64 ::

Izziv 3
2020 is new 1984
Corona World order

sbawe64 ::

Logika kode za Izziv 3 mi ni jasna, odg je Mb.
Ter kakšno funkcijo imajo dvojni vprašaji (??) znotraj 4x let ?


https://www.w3schools.com/js/tryit.asp?...
The OR operator (||) returns true if one or both expressions are true, otherwise it returns false.

oz.
https://stackoverflow.com/questions/758...

Logical OR (||)
false || false: false
false || true: true
true || false: true
true || true: true
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

Facebook dev ::

Sem tudi sam zjutraj tole rešil, nekaj novega se pa naučiš.

Tole te zanima:
https://developer.mozilla.org/en-US/doc...

In pa še v javascriptu, z vprašajem na koncu objekta preveriš, če objekt obstaja. Če ne obstaja, se izračuna v false.
If you can't handle me at my worst,
you don't deserve me at my best.

Zgodovina sprememb…

sbawe64 ::

Hvala za pojasnilo glede ?? (Nullish coalescing operator).Je kot kaže letošnja nova zadeva.

Tukaj je pomoje boljša razlaga :
https://javascript.info/nullish-coalesc...

The result of a ?? b is:

if a is defined, then a,
if a isn't defined, then b.
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

sbawe64 ::

Malo igranja na
https://developer.mozilla.org/en-US/doc...

let 1-4
//LJ, hasVisited: false
const baz1 = false || true;
console.log(baz1);
// expected output: true
> true

//MB , hasVisited: false
const baz2 = false ?? true;
console.log(baz2);
// expected output: false
> false

//Celje, hasVisited: null
const baz3 = null || true;
console.log(baz3);
// expected output: true
> true

//Koper, hasVisited: null
const baz4 = null ?? true;
console.log(baz4);
// expected output: true
> true
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

Pimoz ::

|| doesn’t distinguish between false, 0, an empty string "" and null/undefined


nimam besed na tole xD

Pimoz ::

Božiček želi s pomočjo strojnega učenja v slikah identificirati darila. S katerim Azure servisom lahko ustvari svoj model za strojno učenje?


Custom Vision

Facebook dev ::

Zelo neumno od ustvarjalcev nalog, da dajo za nalogo nekaj, kar ima 124109280x možnih rešitev, a oni hočejo točen string, kot so si ga zamislili.

Božiček na svojem računalniku redno posodablja seznam pridnih otrok. Njihovo pridnost si označuje s številko od 1 do 100. Bolj kot je otrok čez leto priden, večje število točk ima. Ko je želel včeraj pogledati svoj seznam je ugotovil, da mu je nekdo ponagajal in popolnoma premešal seznam pridnih otrok. Ali lahko pomagaš Božičku pri iskanju Linux ukaza, ki mu bo omogočil, da mu v konzoli izpiše pet otrok iz seznama, ki imajo največje število točk, ter imajo v svojem imenu črko e?
If you can't handle me at my worst,
you don't deserve me at my best.

Zgodovina sprememb…

Pimoz ::

Ja se strinjam. Recimo tole:

sort -k2 -nr seznam-otrok.txt | grep 'e' | head -5

CartmanF ::

Je uspelo komu odpreti 6 stopnjo?

sbawe64 ::

Jutri bo.
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

Facebook dev ::

Nevem ali so challenge popravili ali dodali nove možne rešitve, sedaj je meni prijela rešitev, ki sem jo imel zjutraj.

Naloga pa pride vsak delavnik ob 9ih zjutraj.
If you can't handle me at my worst,
you don't deserve me at my best.

Pimoz ::

Ja tudi meni so priznali včerajšno oddajo :)

sbawe64 ::

2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

Pimoz ::

7.
phishing

sbawe64 ::

2020 is new 1984
Corona World order

Pimoz ::

8. ADVENT

sbawe64 ::

Izziv 8
2020 is new 1984
Corona World order

sbawe64 ::

1. owasp
2. Hewlett-Packard
3. Vue.js
4. ?
5. ?
6. flutter
2020 is new 1984
Corona World order

Pimoz ::

4. excel
5. qnamaker

HotBurek ::

Tale hekaton je v resnici prikrito oglaševanje microsofta.

Kira scena.
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

sbawe64 ::

Izziv 9
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

Facebook dev ::

Odgovor je potrebno dati v slovenščini.
If you can't handle me at my worst,
you don't deserve me at my best.

SloKin ::

sbawe64 je izjavil:

Izziv 9

Simple. Zenski se racunalnik pregreva, ker ga ima na postelji... dodatno lahko vidite, da ima v sobi 35 stopinj saj je za sluzbo dokaj pomankljivo oblecena... 😋

Vid4 ::

zakaj pri izzivu 6 ne sprejme pravilnega odgovora ?:):|

probal sem vse kombinacije 2M...

Pimoz ::

2000000

Vid4 ::

Pimoz je izjavil:

2000000

hah tnx itk edin kar nism probou brez presledkou -.-

sbawe64 ::

Brez tečnega klikanja po črkah lahko pridete do izziva X
https://xmas.mojedelo.com/challenges#Izziv%20X-X


OT
Ko vpišeš (za login) username/geslo, je potrebno klikniti na submit.
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

Pimoz ::

Božičku letos pri branju pisem pomaga 29 zunanjih sodelavcev. Zaradi trenutnih okoliščin morajo to početi preko prenosnih računalnikov na daljavo. Ker si želi, da bi delo potekalo čim bolj tekoče in bi pisma otrok bila ustrezno varovana, bo za zunanje sodelavce ustvaril lastno omrežje. Kakšno je najmanjše število bitov za omrežno masko, da bodo vse naprave lahko dodane v lastno omrežje?


27

BBB ::

Pimoz je izjavil:

Božičku letos pri branju pisem pomaga 29 zunanjih sodelavcev. Zaradi trenutnih okoliščin morajo to početi preko prenosnih računalnikov na daljavo. Ker si želi, da bi delo potekalo čim bolj tekoče in bi pisma otrok bila ustrezno varovana, bo za zunanje sodelavce ustvaril lastno omrežje. Kakšno je najmanjše število bitov za omrežno masko, da bodo vse naprave lahko dodane v lastno omrežje?


27
Za delo od doma maske niso obvezne.

HotBurek ::

Ful hud kendi land. Neke fakin božičke premetavajo, da je cela računalniška scena še bol zasvijana z "fdv" marketingom.

Skratka...

Kakšen je lahko najmanjši subnet, če je treba notri spravit 29 hostov?

24=16
25=32
26=64

Se prav, cifra ki se jo je iskal, je 5.

Pol je treba odštet še 2: 32 - 2 = 30.

(Zakaj -2? Ker je prvi ip, network id, ter zadnji ip, broadcast ip.)

Zadnjih 5 bitov (iz desne proti levi) je potem 00000.

Ker je pri IPv4 subnet zapisan z 4x po 8 bitov (kar je 4x po 1 byte, hoe hoe hoe...), se to zapiše:

1110000

Kar pa je decimalno 224.

Do 224 se pride z = 128 + 64 + 32 + 0 + 0 + 0 + 0 + 0

Vse skupi:

255.255.255.224

oz.

/27

In do 27 se pride z:

8 + 8 + 8 + 3

Se pravi:

11111111 11111111 11111111 11100000

In 11111111 je decimalno 255.


In potem kreiraš subnet:

172.22.23.0/27

oz.

172.22.23.0/255.255.255.224

Ker tega skoraj zagotovo nihče ne uporablja, ker:

192... imajo to vsi doma
10.... to nastavljajo po firmah

S čimer se, če naprimer postavljaš VPN, lahko izogneš routing izzivom.


Hvala za razlago. Prosim.
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

Zgodovina sprememb…

  • spremenilo: HotBurek ()

sbawe64 ::

HB
1110000

Kar pa je decimalno 224.

1110000 b = 112 d
11100000 b = 224 d

Ena nula manjka zgoraj.


V naslednjem izračunu si pravilno napisal nule (od "Se pravi:" naprej).
2020 is new 1984
Corona World order

Zgodovina sprememb…

  • spremenilo: sbawe64 ()

Pimoz ::

Ojoj :) Saj ne da obstajajo subnet kalkulatorji za te zadeve :) Ampak ja...lahko tudi 'na roke'

Facebook dev ::

Zakaj pa je potrebno toliko komplicirati? 32 bitov imaš na voljo, za 29 naslovov jih rabiš vsaj 5. Torej je maska velika 32 - 5 bitov?
If you can't handle me at my worst,
you don't deserve me at my best.

HotBurek ::

Kako boš sprogramiral kalkulator, če ne znaš "na roke"?

To je obvezno znanje za poklic sistemski administrator in programer.


Recimo, kolko je 456[oct] v dec,hex in bin?

Ok, prvo iz oct v dec.

6 x 1 = 6
5 x 8 = 40
4 x 8 x 8 = 256

6 + 40 + 256 = 302

Se prav:
456[oct] = 302[dec]


Naprej, 302[dec] v bin. Prvo se spiše tabela po bitih, do prvega, ki gre čez (ali natanko do) dec vrednosti.

Potem se gre po vrsti od največje do najmanjše dec številke (256, 128, 64, itn.), in se te številke odšteva od končne dec številke (v tem primeru 302).

x | 1
x | 2
x | 4
x | 8
x | 16
x | 32
x | 64
x | 128
x | 265
x | 512

302 - 265 = 46
46 - 32 = 14
14 - 8 = 6
6 - 4 = 2
2 - 2 = 0

In od tistih številk, od katerih smo odšteval, se postavijo biti na 1.

0 | 1
1 | 2
1 | 4
1 | 8
0 | 16
1 | 32
0 | 64
0 | 128
1 | 265
0 | 512

To se sicer lepše zrihta, če se naredi vodoravno tabelo, naraščajoče od desne proti levi.

Končni zapis: 1 0010 1110

Nule na začetku (samo na levi) ni potreba pisat. Se jo/jih pa včasih (če je zapis dolg npr. 1 bajt, pa da se lepo vse pogliha.)

Npr.:
0011 0101
0100 0011

Se lepše bere, kot:
11 0101
100 0011

Številke se lahko zapiše po 4 skupaj, da se lažje izogneš napakam.


Se prav:
456[oct] = 302[dec] = 100101110[bin]


Naprej, 302[dec] v hex.

Osnovna tabelca:

a = 10
b = 11
c = 12
d = 13
e = 14
f = 15

Potem par semplov:

f = (15 * 1)
ff = (15 * 16) + (15 * 1) = 240 + 15 = 255
fff = (15 * (16 * 16)) + (15 * 16) + (15 * 1) = 3840 + 240 + 15 = 4096

Se pravi več od ff, in manj od fff.

100 = (1 * (16 * 16)) + (0 * 16) + (0 * 1) = 256 + 0 + 0 = 256
110 = (1 * (16 * 16)) + (1 * 16) + (0 * 1) = 256 + 16 + 0 = 272
120 = (1 * (16 * 16)) + (2 * 16) + (0 * 1) = 256 + 32 + 0 = 288
130 = (1 * (16 * 16)) + (3 * 16) + (0 * 1) = 256 + 48 + 0 = 304

Se prav, 130[hex] = 304[dec], kar je že zelo blizu.

Gremo zdej naprej, treba je 130 hex spravit za 2 dol, da pridemo na 302.

12d = (1 * (16 * 16)) + (2 * 16) + (13 * 1) = 256 + 32 + 13 = 301
12e = (1 * (16 * 16)) + (2 * 16) + (14 * 1) = 256 + 32 + 14 = 302
12f = (1 * (16 * 16)) + (2 * 16) + (15 * 1) = 256 + 32 + 15 = 303

In to je to, kar se tiče postopka ugibanja, predvidevanja in približevanja za pretvorit iz dec v hex.

Ziher obstaja še kak drug postopek, bol ekonomski način, da prideš do rezultata.


Se prav:
456[oct] = 302[dec] = 100101110[bin] = 12e[hex]


Ok, oceno 4 že imaš. Bi odgovarju za 5?

Ja.

Al se da zapisat 456[oct] z enim bajto?

Ne. Glede na to, da je 456[oct] = 302[dec], in da se z enim bajtom da zapisat največjo cifro 255, pol to ne gre. Rabiš vsaj 9 bitov. In če rasteš po 1 bajt, potem rabiš pač 2 bajta.

Ocena 5.

Hvala.


To je to. Za domačo nalogo:

678[oct] v bin/dec/hex



p.s.: Slovenščino sem ves cajt mel 2, tako da z veseljem uporabljam vejice. Hvala.
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

Zgodovina sprememb…

  • spremenilo: HotBurek ()

Pimoz ::

Sem napisal, da lahko tudi na roke. Si pa ne predstavljam inženirja, ki bo takole pred stranko računal stvari :) + tega, da bom vedno zagovarjal, da dober inženir ni tisti, ki zna stvari na pamet; ampak tisti, ki razume problem in najde rešitev.
Tvoja je pač taka, da boš šel računat nekaj, kar je že poenostavljeno; moja pa, da bom uporabil kalkulator. Pa to ne pomeni, da jaz tvoje rešitve ne razumem ali je ne znam izpeljat ;)

Zgodovina sprememb…

  • spremenilo: Pimoz ()

BBB ::

@HotBurek
Kako ti je šla pa glasbena vzgoja? Mi smo se učili, da 8 decev tvori 1 oktet. Pa iz izkušenj vem, da je za 1 deca dovolj 1 bajta, če le baba ni preveč tečna.

@Primoz
Včasih je nuja, pa je treba pač na roke.

Zgodovina sprememb…

  • spremenil: BBB ()

Pimoz ::

Božiček želi na spletni strani narediti gesla, ki lahko vsebujejo samo male črke in številke. Obenem mora geslo imeti vsaj 6 in največ 10 znakov. Kakšen regularni izraz mora Božiček napisati?


/^[a-z0-9]{6,10}$/

HotBurek ::

Šokantno!

Ok, fštekam, da se da z regex in tudi vprašanje tako sprašuje.

Ampak, če ne bi šel pisat 30 vrstičnega python programa za nekaj, kar se da naredit v eni vrstici, pol ne bi bilo Šokantno, z vlko začetnico, ane.


Da še obrazložim, kar je pomembno vedet. Sprejemljivko "status" sem na začetku postavil na 0, kasneje spodaj pa je logika taka, da bo status nastavljen na -1, -2, -3 ali 1. Neki od tega bo.

Default "0:init" vrednost nastavim iz varnosti, ker če program krešne nekje vmes v if-elif-else na poti do print-a, potem vrne status 0, in ne "1:ok" (katerega bi lahko nastavil za default). Max security po to.


Koda je brez bugov, brez unit testov, brez komentarjev. Nepredušno zaprta.

Ok, mogoče bi bil bug, če bi v input vnesle reeees dolgi string,.. in bi naredil len(res_dolgi_string)... Ne vem, bi moral potestirat. A tega nisem naredil. Zagotovo je vse ok in ni problemov.


min = 6;

max = 10;

status = "0:init";

input = "111aaaBaž";

valid_input_chars = ["a", "b", "c", "č", "d", "e", "f", "g", "h", "i",
                     "j", "k", "l", "m", "n", "o", "p", "r", "s", "š",
                     "t", "u", "v", "z", "ž",
                     "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];

if len(input) < min:
    status = "-1:to-short-" + str(len(input)) + "-min-is-" + str(min);
elif len(input) > max :
    status = "-2:to-long-" + str(len(input)) + "-max-is-" + str(max);
else:
    for i in range(0, len(input)):
        found = False;
        for j in range(0, len(valid_input_chars)):
            if input[i] == valid_input_chars[j]:
                found = True;
                break;
        if found == False:
            status = "-3:" + "invalid-input->>>" + str(input[i] + "<<<");
            break;
        else:
            status="1:ok";

print(status);
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

Zgodovina sprememb…

  • spremenilo: HotBurek ()

Facebook dev ::

Tudi s Pythonom se da tole spisat v 3eh vrsticah, brez uporabe regexa :)
If you can't handle me at my worst,
you don't deserve me at my best.

sbawe64 ::

Izziv 12
2020 is new 1984
Corona World order

Pimoz ::

*ngFor

Pimoz ::

Zlobni škratje so se poigrali z eno izmed Božičkovih docker-compose datotek, zato je Božiček pri uporabi datoteke naletel na napako. Pomagajte Božičku in ugotovite v kateri vrstici datoteke se nahaja napaka.
version: '3'

services:
    securebank:
        image: ssrd/securebank
        environment: 
            - AppSettings:BaseUrl=http://localhost:1337
            - AppSettings:Ctf:Enabled=true
            - AppSettings:Ctf:Seed=example
            - AppSettings:Ctf:GenerateCtfdExport=false
            - AppSettings:Ctf:FlagFormat=ctf{{{0}}}
            - AppSettings:Ctf:UseRealChallengeName=true
            - AppSettings:Ctf:Challenges:SqlInjection=true
            - AppSettings:Ctf:Challenges:WeakPassword=true
            - AppSettings:Ctf:Challenges:SensitiveDataExposureStore=true
            - AppSettings:Ctf:Challenges:SensitiveDataExposureBalance=true
            - AppSettings:Ctf:Challenges:SensitiveDataExposureProfileImage=true
            - AppSettings:Ctf:Challenges:PathTraversal=true
            - AppSettings:Ctf:Challenges:Enumeration=true
            - AppSettings:Ctf:Challenges:XxeInjection=true
            - AppSettings:Ctf:Challenges:MissingAuthentication=true
            - AppSettings:Ctf:Challenges:RegistrationRoleSet=true
            - AppSettings:Ctf:Challenges:ChangeRoleInCookie=true
            - AppSettings:Ctf:Challenges:UnconfirmedLogin=true
            - AppSettings:Ctf:Challenges:ExceptionHandlingTransactionCreate=true
            - AppSettings:Ctf:Challenges:ExceptionHandlingTransactionUpload=true
            - AppSettings:Ctf:Challenges:TableXss=true
            - AppSettings:Ctf:Challenges:PortalSearchXss=true
            - AppSettings:Ctf:Challenges:InvalidModelStore=true
            - AppSettings:Ctf:Challenges:InvalidModelTransaction=true
            - AppSettings:Ctf:Challenges:UnknownGeneration=true
            - AppSettings:Ctf:Challenges:HiddenPageRegisterAdmin=true
            - AppSettings:Ctf:Challenges:HiddenPageLoginAdmin=true
            - AppSettings:Ctf:Challenges:InvalidRedirect=true
            - AppSettings:Ctf:Challenges:DirectoryBrowsing=true
            - AppSettings:Ctf:Challenges:Swagger=true
            - AppSettings:Ctf:Challenges:Base2048Content=true
            - AppSettings:Ctf:Challenges:SimultaneousRequest=true
            - AppSettings:Ctf:Challenges:reDOS=true
            - AppSettings:Ctf:Challenges:FreeCredit=true
            - SeedingSettings:Seed=false
            - SeedingSettings:Admin=admin@ssrd.io
            - SeedingSettings:AdminPassword=admin
            - SeedingSettings:UserPassword=test1
	ports: 
            - 1337:80
            - 1080:1080
        volumes: 
            -  ./logs/securebank:/app/SecureBank/logs
            -  ./logs/storeapi:/app/StoreApi/logs
            - ./ctf:/SecureBank/Ctf
            - ./data:/var/opt/mssql/data



45


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Programiranje v pythonu

Oddelek: Programiranje
141868 (1226) Sony-Tech
»

Arduino in luči (strani: 1 2 )

Oddelek: Elektrotehnika in elektronika
9811396 (9022) FX6300B
»

[Java] While zanka

Oddelek: Programiranje
262190 (1773) kunigunda
»

excelove enačbe me mučijo

Oddelek: Programska oprema
51562 (1440) Tutankhamun
»

Funkcija z logičnimi operaterji.... (strani: 1 2 )

Oddelek: Programiranje
905153 (4499) CaqKa

Več podobnih tem