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 - jano6

Stran: [1] 2 3 4
1
Ak by bola možnosť, jednoznačne by som použil nejaký výkonnejší programovací jazyk.
Na takéto úlohy existuje celá rada pokročilých scrapovacíh knižníc, napr.
JSoup, AngleSharp, BeautifulSoup, cheerio, colly ...

Príklad v Groovy

Kód: [Vybrat]
@Grab('org.jsoup:jsoup:1.10.1')

import org.jsoup.Jsoup

def url = 'https://nrf.com/resources/top-retailers/top-100-retailers/top-100-retailers-2019'

def doc = Jsoup.connect(url).get()
def e = doc.getElementById('stores-list--section-16266')

def table = e.child(0)

println "Top 10"

def trs = table.getElementsByTag('tr').drop(1).take(10)

def vals = []

for (tr in trs) {
   
    def val = []
    def res = tr.getElementsByTag('td').take(3).forEach {
        val.add(it.text())
    }
    vals.add(val)
}

for (val in vals) {
    println val
}

Príklad v AngleSharp

Kód: [Vybrat]
using AngleSharp;

var config = Configuration.Default.WithDefaultLoader();
using var context = BrowsingContext.New(config);

var url = "https://nrf.com/resources/top-retailers/top-100-retailers/top-100-retailers-2019";

using var doc = await context.OpenAsync(url);

var htable = doc.GetElementById("stores-list--section-16266");
var trs = htable.QuerySelectorAll("tr");


Console.WriteLine("Top ten:");

foreach (var tr in trs.Skip(1).Take(10))
{
    var data = tr.QuerySelectorAll("td").Take(4);

    var res = (from e in data
               select e.TextContent).ToArray();

    Console.WriteLine(string.Join(" ", res));
}

Citace
Takže v Javascriptu takhle můžeme použít Jquery, ale kdybych to chtěl udělat z terminálu přes prohlížeč, který je nízkonárokový podobně jako lynx? Existuje podobná utilita?

Tu by tom zas odporúčal vynikajúci knižnicu Playwright. Vyžaduje však plnohodnotný browser.
Robí sa to z terminálu cez tzv. headless browser.

Kód: [Vybrat]
#!/usr/bin/python

from playwright.sync_api import sync_playwright

with sync_playwright() as playwright:

    webkit = playwright.webkit
    browser = webkit.launch()
    page = browser.new_page()

    url = 'http://webcode.me/os.html'
    page.goto(url)

    els = page.locator('ul li').all();

    for e in els:
        print(e.text_content())

    browser.close()

2
Vývoj / Re:Jazyk pro ML
« kdy: 02. 04. 2023, 16:54:39 »
Citace
Jsem asi už starej na to, abych Python ocenil. Z těch nemnoha setkání si pamatuju v jeho historii jakési kotrmelce "doprovodné infrastruktury" (package management), na které se mi trochu těžko zapomíná.

To bolo kedysi. Dnes má Python package management vyriešený. Funguje to bez problémov.
Ináč, neexistencia repozitárov a manažmentu balíčkov Vám v C++ nevadí?

Citace
Ze vrozených charakterových vad bych zmínil "vymezení bloku v kódu hloubkou odsazení".

To sú ale len Vaše preferencie. To rozhodnie je je "charaktorová vada". Python má viacero nedokonalostí, ale odsadzovanie tam teda nepatrí. Medzi reálne neduhy Pythonu patria napr.
biedna podpora práce s dátumami a časom alebo biedna podpora funkcionálneho programovania.

Python beriem ako pragmatický jazyk. Chcete poslať SMS, vytvoriť graf, nakúpiť akcie, kryptomeny,
použiť openai, fuzzovať aplikáciu, automatizovať testovanie cez headless browser, softvérovo vytvoriť Cisco sieť? Na to všetko nájdete knižnicu v Pythone, bleskovo si to nainštalujete a v priebehu pár minút použijete.

3
Vývoj / Re:Jazyk pro ML
« kdy: 02. 04. 2023, 16:28:46 »
Nedavno jsem tu zalozil vlakno "Kde dal studovat" dal jsem na Vasi a meho okoli radu a rozhodl jsem se venovat ML. Chci se zeptat, jaky jazyk je vhodny. KLasicky, vsude radej (zejmena pro zacatecniky) Python. Me spis laka C++, hlavne pro hlubsi pochopeni a na nekterych pozicich (hodne v automative) to preferuji.

Sú dve možnosti, buď chcete a) vyvíjať ML algoritmy, alebo b) plánuteje tie ML algoritmy
využívať v praxi.

Na vývoj ML knižníc sa asi najviac používa C++. Avšak tu tých pozícií a možností je máličko. Tam súperí crème de la crème matematicky zdatných vývojárov. Ak by ste chceli ísť týmto smerom, tak by ste v tom už dávno mali jasno.

Čo sa týka využitia ML algoritmov v praxi, tam je síce najviac rozšírený Python, ale na jazyku
v skutočnosti nezáleží. Nielenže majú knižnice ako Tensorflow rozhrania aj pre iné jazyky (JS, Ruby, Julia, .NET ...) ale v súčasnosti existujú viaceré ML API.
https://nordicapis.com/10-powerful-ai-ml-apis/

Summa summarum, človek si môže zvoliť ľubovoľný, prakticky použiteľný jazyk.


4
Meng má premakané kurzy UI.  On sa špecializuje na prešpikované efekty vo Swift UI. Ide o platené kurzy.

https://designcode.io/

5
Vývoj / Re:Je Zig jazyk buducnosti?
« kdy: 11. 11. 2022, 10:21:38 »
Preco sa pytam... s Rustu som bol nadseny a pouzival som ho jeden a pol roka aj na vetsich veciach, myslel som si, ze to bude Go-killer. Ale moje nadsenie opadlo. Tak hladam nieco ine, lepsie, v com sa aj da realne programovat.

Ono skor Go-killer je C# a net 6/7 (miliardukrat lepsi jazyk a richlejsi runtime ako Go a 7-cka aj mirene vykonejsia ako Rust (v grpc)).

C#/F# combo sú momentálne moje top jazyky. (C# v posledných rokoch drasticky vylepšil svoju syntax, F# bolo
famózne od začiatku.) Napriek tomu, že syntaxou a svojimi možnosťami ďaleko prekračujú Go, Go je v niektorých
prípadoch pre mňa vhodnejší jazyk.

Go je ideálny jazyk pre command linu a pre tých, čo programujú network. C# doteraz nemá cmd parser, chystá sa
System.CommandLine, zatiaľ to do 7.0 nestihli dať. Go má flags a výborný package Cobra. Go je taký hackerský jazyk.
Trebárs pre porovnanie chcete si pingovať s ICMP. C# má Ping classu s určitími limitujúcimi možnosťami, Go má
celú sadu funkcií pre ICMP: https://pkg.go.dev/golang.org/x/net/icmp.
Go umožňuje ísť oveľa viac do hĺbky a pohrať sa s úplnými detailami. V tomto nemá konkurenciu.

Je úplne v pohode naprogramovať si cmd tool v C#, avšak ak ten tool plánujem pre tisícky ľudí, tak je Go vhodnejšie
pretože výsledná binárka je zlomkom veľkosti .NET binárky.

Go má svoje pevné miesto medzi programovacími jazykmi. A syntaktické možnosti jazyka nie sú všetko. Zásadne sú
tiež knižnice a tooling.

6
Vývoj / Re:Zaškrtávací políčka v Tkinteru
« kdy: 15. 09. 2022, 14:36:03 »
Tu je funkčný program pre check button:

Kód: [Vybrat]
#!/usr/bin/python

from tkinter import Tk, Frame, Checkbutton
from tkinter import BooleanVar, BOTH

class Example(Frame):

    def __init__(self):
        super().__init__()

        self.initUI()


    def initUI(self):

        self.master.title("Checkbutton")

        self.pack(fill=BOTH, expand=True)
        self.var = BooleanVar()

        cb = Checkbutton(self, text="Show title",
            variable=self.var, command=self.onClick)
        cb.select()
        cb.place(x=50, y=50)


    def onClick(self):

        if self.var.get() == True:
            self.master.title("Checkbutton")
        else:
            self.master.title("")


def main():

    root = Tk()
    root.geometry("250x150+300+300")
    app = Example()
    root.mainloop()


if __name__ == '__main__':
    main()

7
Vývoj / Re:Jaky jazyk na male portabilni programy
« kdy: 15. 09. 2022, 14:31:36 »
Citace
Po C# mozes prejst na Javu.
...

Tak to zasa hádam nie. Odtiaľ, potiaľ. Keď Swing alebo OpenJFX, tak potom s Kotlinom.


8
Vývoj / Re:Trendy v PHP
« kdy: 19. 08. 2022, 11:45:53 »
Add Symfony. Mne teda hrozne vadí ideologicácia tohto projektu. Tvoria ho zrejme ultraleft freeks. Teraz tam pchajú heslá o Ukrajine, ale o Donbasse, Yemene, Lýbii či Afganistane nič.

Predtým to bolo black live matters. Dokonca zo svojich stickerov tam čo majú odstraňovali belošské tváre. Vo svojej posadnutosti došli tak ďaleko, že majú nejakú grupu ktorá monitoruje správanie (zrejme najmä chlapov) počas konferencíí, či sa nevhodne nesprávajú. Potom o tom dávajú reporty. No a tak. Čistý úlet.

Majte si svoje vyhranejé názory, aké chcete, ale nepchajte ich do IT prostredia. Pre toto Symfony nikdy viac.

9
Tak tu máme v tom evidentne poriadny hokej.

Táto slučka vyzerá na prvý pohľad ako problém:

Kód: [Vybrat]
while True:
content = await page.content()
soup = BeautifulSoup(content, 'html.parser')
data = await parse(data, soup, sport)
asyncio.sleep(1)

Vytvárať vlastné slučky pomocou while True je big, big no.
Asynchrónne programovanie je založené na slučke udalostí, ktorú však vytvorí
asyncio modul.

Citace
asyncio.run function runs the passed coroutine, taking care of managing the
asyncio event loop and finalizing asynchronous generators.

Takmer určite tvoj problém nespôsobil Puppeteer, ale chyba v tvojom programe.

Mne prijde, že sa snažíš vytvoriť pravdepodobne nejaký monitorovací skript.
Ak je to tak, tak si najpr treba vytvoriť skript, ktorý vykoná požadovaný task
a až potom neskôr riešiť monitoring.

Add puppeteer. Headless browser použiješ vtedy, ak sa potrebuješ dostať
za JS bránu, napr. za prihlasovacie okno. Pre ostatné prípady sa bežne
používajú http clienty. Python má httpx, ktorý zvládne aj async programy.

Kód: [Vybrat]
#!/usr/bin/python

import httpx
import asyncio
from bs4 import BeautifulSoup

async def get_async(url):
    async with httpx.AsyncClient() as client:
        return await client.get(url)

urls = ['http://webcode.me', 'https://httpbin.org',
    'https://something.com', 'https://stackoverflow.com',
    'https://github.com']

async def launch():
    resps = await asyncio.gather(*map(get_async, urls))
    data = [resp.text for resp in resps]

    for content in data:
       soup = BeautifulSoup(content, 'lxml')
       print(soup.title)

asyncio.run(launch())

Príklad asynchrónne stiahne HTML kód z viacerých stránok, a výpíše ich
titulky.

Čo je ale vlastne tvoja požiadavka, o čo sa snažíš? Pojem webscrawling
neexistuje, máme web scraping a web crawling. Web scraping je sťahovanie dát
z internetu, trebárs ceny leteniek k danému dňu. Web crawling je to, čo robí
Google.


10
Vývoj / Re:Jaký jazyk bych se měl učit?
« kdy: 01. 06. 2022, 22:40:30 »
Citace
Tak když koukám na F# tak cítím silnej zápach Visual Basicu :) nemůžu si pomoct :D

Visual Basic a F#? Nič iné ich nespája, len že sú .NET jazyky.

Citace
Když to porovnám se Scalou, Rustem, nebo i tím starým Haskellem, tak je C# takovej ubožáček konzervativní.

Problém je, keď porovnávame športové auto s rodinným autom. Úlohou rodinného auta je mať priestor, kam sa všetky decká zmestia, aby bolo bezpečné a odolné. Nie aby jazdilo rýchlo a bolo elegantné.
C# je podľa mňa výborný business jazyk. A porovnávať ho treba s podobnými business jazykmi, do ktorých by som osobne zahrnul Javu, C++ a asi aj Kotlin. Ja napríkad veľmi kvitujem v posledných verziách C# automatické importy, koniec nutnosti odsadzovania pri menných priestoroch, rekordy (ktoré aj fungujú) a hlavne top-level statements, teda možnosť tvoriť kód bez nutnosti public classs/static void Main. Každým rokom prídu nejaké vychytávky, chlapci sa fakt snažia.

Citace
Kód: [Vybrat]
var xs = new List<string>();

Ja to takto tiež preferujem.

Kód: [Vybrat]
Revenue[] revenues =
{
    new (1, "Q1", 2340),
    new (2, "Q1", 1200),
    new (3, "Q1", 980),
    new (4, "Q2", 340),
    new (5, "Q2", 780),
    new (6, "Q3", 2010),
    new (7, "Q3", 3370),
    new (8, "Q4", 540),
};

var res = from revenue in revenues
          group revenue by revenue.Quarter
          into g
          where g.Count() == 2
          select new { Quarter = g.Key, Total = g.Sum(c => c.Amount) };


foreach (var line in res)
{
    Console.WriteLine(line);
}

record Revenue(int Id, string Quarter, int Amount);

To new má pekné uplatnenie pri tvorbe objektov v kolekciách, tak ušetrí dosť zbytočného opakovania.
Spolu s LINQ a rekordami je moderný C# fakt príjemný.

11
Vývoj / Re:Jaký jazyk bych se měl učit?
« kdy: 28. 05. 2022, 21:45:05 »
Citace
C# je opajcovana Java s nekteryma.drobnyma vylepsenima, jako je LINQ a par syntaktickyma cukrikama.

Objektívne treba povedať, že to bola pravda. Tak okolo roku 2003. Dnes je však rok 2022 a .NET prešiel rozsiahlym vývojom. JVM a .NET sú dva top vývojárske ekosystémy, každý má oblasti v ktorých vedie.
.NET má trebárs ďaleko lepšiu podporu asynchrónneho programovania, JVM má zas lepšie multiplatformové GUI. Ak porovnávame Javu a C#, tak C# je o niekoľko tried lepšie navrhnutý, bohatší a expresívnejší jazyk.

trebárs: 

Kód: [Vybrat]
$ dotnet new console -o DownloadImage
$ cd DownloadImage
$ code .

Kód: [Vybrat]
using var httpClient = new HttpClient();
var url = "http://webcode.me/favicon.ico";
byte[] imageBytes = await httpClient.GetByteArrayAsync(url);

using var fs = new FileStream("favicon.ico", FileMode.Create);
fs.Write(imageBytes, 0, imageBytes.Length);

Console.WriteLine("Image downloaded");

Kód: [Vybrat]
$ dotnet run

Nech sa páči, a teraz si to spravte v Jave, ja by som na to teda nemal nervy. Samozrejme Java ekosystém, má aj iné jazyky, trebárs Groovy:

Kód: [Vybrat]
def bytes = new URL("http://webcode.me/favicon.ico").bytes
Files.write(Paths.get("favicon.ico"), bytes)

A v ňom je radosť programovať.

Citace
System.out.println ani gettery samozrejme nikdo nepise, to dela IDE.

A to vám nikdy neťuklo, že na výpis textu na konzolu potrebujete pomoc IDEčka? :))))

Citace
a o 2 rady mene artefaktu (280k vs 28M)

To si myslíte fakt, že JVM má 28 miliónov knižníc?  Podľa http://www.modulecounts.com/
je to 476 tisíc (JVM) vs 308 tisíc (.NET). Realisicky si myslím, že repozitáre majú kvalitné, udržiavané
knižnice rádovo v tisícoch max desiatkach tisíc. 



12
Vývoj / Re:Jaký jazyk bych se měl učit?
« kdy: 27. 05. 2022, 22:41:40 »
Tak toto je pozoruhodný názor.  .NET samozrejme svoj repozitár má:

https://www.nuget.org/

Sú knižnice, ktoré má lepšie JVM a sú, ktoré sú lepšie v .NET. Námatkovo napr. Java má trebárs JavaFX, Swing, LibrePDF a .NET trebárs Unity, ML.NET či Mailkit.

Už tri roky za sebou sa .NET Core zjavil na špici technológií "Most Loved".

Keď JVM, tak rozhodne Groovy či Clojure. C# je fundamentálne lepší jazyk ako Java. O niekoľko levelov. 
Ak sa niekomu páči to, že na jednoduchý program musíte vytvoriť classu, public static void main, System.out.println namiesto println ako u debilov na dvore, ak sa niekomu páči neustále písať gettre a settre, ten kvázi funkcionálny bazmeg, neexistencia literálového zápisu pre kolekcie, tak nech sa páči. Ale prosím tu netvrďte, že je to ten naj jazyk aký existuje.



Tak hlavní věc je, že jazyk je jen nástroj, to jestli budeš dobrý nebo ne stejně záleží na tvých schopnostech a schopnosti pochopení problematiky.

Vezmi C#, dnes už je multiplatformní vč. androidu i apple ekosystémů. K tomu se nauč (T-)SQL, JavaScript, HTML a CSS (aspoň trochu).

Kdyz se naučíš C#, budeš schopný číst i upravovat Javu, PHP, Kotlin a další C-like jazyky (jen ti to bude připadat jako krok zpět ;-), ale to jsem skrtnul zápalkou)

Tak zrovna C# a TSQL jsou do budoucna naprosto k nicemu, vybehove technologie legacy aplikaci, s tim se tazatel odsoudi leda k udrzovani nejake stare hruzy ve wokennim svete.
C# ma oproti jave navic par syntaktickych cukriku, naprosto ale propada v ekosystemu, Spring tomu uz zdech, nema.nic jako Maven Central.
TSQL je ciste MSSQL zalezitost a neznam nikoho, kdo by na.tom stavel nove veci. Ty se delaji na Postgresu + Tmescale, Influxu, Elasticu, MongoDB.

Osobne bych radil Javu jako nejpouzivanejsi klasicky jazyk, popr Kotlin, na Backendy.
Pokud si chces hrat s mikroservicama, potom go.
Na skriptovani python

Na predek Typescript, to je prekvapive dobry OOP jazyk.

13
Vývoj / Re:Jaký jazyk bych se měl učit?
« kdy: 27. 05. 2022, 11:08:18 »
Nechcem tu príliš politizovať, ale budúcnosť jazykov súvisí s práve prebiehajúcim
mocenským súperením medzi viacerými krajinami. Španielčina je super jazyk na cestovanie
po svete, ale z ekonomického hľadiska ju zrejme predčia nemčina a francúzština.
O ruštine nehovoriac. Počty hovoriacich nie sú všetko. Rusky sa doruzumie "len" 258 miliónov ľudí,
ale odhaduje sa, že ruština je na internete 2. najpoužívanejší jazyk po angličtine. Žiadna iná krajina
nemá Runet, prakticky plnohodnotnú alternatívu anglickému webu. Rusi majú všetko, od svojho vyhľadávača, cez sociálne siete, encyklopédie, Q/A stránky... Pokiaľ viem, nič také španieli nemajú.

Americké impérium sa nám pred očami rúca a aj preto, portugalčina a farsi majú veľký potenciál
do budúcnosti, ak sa Brazília a Irán zbavia americkej agresie.  Je predpoklad, že sa Brazília stane lídrom v Latinskej Amerike (234 mil ľudí hovorí portugalsky).

Farsi je perzský jazyk, ktorým sa dohovorí 110 miliónov ľudí v Iráne, Afganistane a Tadžikistane. Ak sa Iránu podarí dominovať na blízkom východe (súperia s nimi Turci a SAE), tak sa z neho stane ekonomicky veľmi atraktívny regionálny jazyk. Iránci sú podľa mňa oveľa šikovnejší ako Arabi, ale ničia ich 40+ rokov trvajúce americké sankcie.





Kód: [Vybrat]
Medzi najperspektívnješie jazyky ..., farsi a portugalčina.
Farsi? WTF?

A prečo práve portugalčina a nie Španielčina? Španielčinu má za materinský jazyk viac ako 2x toľko ľudí ako portugalčinu. A navyše milióny ľudí ju ovládajú ako svoj druhý jazyk.

14
Vývoj / Re:Jaký jazyk bych se měl učit?
« kdy: 26. 05. 2022, 15:35:38 »
Pozoruhodné, ja si naopak myslím, že záujem o ruštinu, resp. užitočnosť jej znalosti pretrváva, v súčasnosti rastie a v neďalekej budúcnosti bude dramaticky rásť. Business nie sú len iphony, automobily, či všelijaké služby. Ale aj pre život zásadné suroviny ako obilie, nerastné bohatstvo ako drevo, uhlie; hnojivá, tažký priemysel železo, oceľ a samozrejme ropa a zemný plyn.
A v tomto ohľade sa ruština teda zíde.

Medzi najperspektívnješie jazyky podľa mňa okrem ruštiny patria čínština, arabčina, farsi a portugalčina.


Anglicky mluví kdejaká opice, to už se dnes bere jako samozřejmost. Přidaná hodnota angličtiny je dneska nulová, zejména v IT, kde je to opravdu většinou základní požadavek. Peníze může vydělat nemčina, nebo jazyk nekterého z bohatých severských národů. Francouzky a španělsky se člověk domluví v kdejaké díře, což v určitých částech světa platí i o ruštině, ale ta je v úpadku, a business s rusy asi teď moc nepokvete...

15
Hardware / Re:Nažltlé farby na Acer Swift
« kdy: 28. 04. 2022, 23:48:11 »
Našiel som Night light voľbu, to bude asi to. Ale to mám vypnuté.

Zkus hledat, jestli nemas zapnuty rezim, ktery ma setrit oci. Funguje to tak, ze ubere na modry barve a kvuli tomu je vsechno takovy zluto/cerveny... Videt je to hlavne na bile...

Stran: [1] 2 3 4