Ce proiecte au membrii DevForum?

Zshare: te rog sa ma contactezi la [email protected]

In sfarsit am adus proiectul intr-o stare cat de cat ok si i-am pus si ceva descriere pe blog: https://compphys.go.ro/dft-for-an-atom/

Ideile principale din proiect sunt:

  • folosirea unui grid neuniform
  • densitatea de start a electronilor e una constanta, e usor de implementat. Alternativa mai buna sugerata: Thomas-Fermi
  • pentru rezolvarea ecuatiei ‘Kohn-Sham’ se foloseste metoda ‘impuscaturii’ cu Numerov
  • determinarea intervalului de cautare se bazeaza pe o proprietate a functiilor de unda radiale, numarul de noduri depinde de numarul cuantic principal si numarul cuantic azimutal
  • in acest domeniu se foloseste cautarea cu metoda bisectiei
  • ‘impuscarea’ se face de la distante diferite, functie de nivelul energetic. Orbitalii sunt mai localizati pentru nivelele energetice inferioare, nu trebuie pornita integrarea de la distanta asa de mare ca pentru orbitalii de valenta
  • solutia finala e calculata prin ‘impuscare’ atat de la distanta mare cat si dinspre nucleu, cu o ‘potrivire’ in punctul de ‘intalnire’. O imbunatatire sugerata e sa se faca potrivirea si la derivate in punctul respectiv.
  • pentru rezolvarea ecuatiei Poisson am folosit o metoda multigrid ‘full’.
2 Likes

Un alt proiect pe GitHub: https://github.com/aromanro/APW

E pe unde plane augmentate: https://en.wikipedia.org/wiki/Muffin-tin_approximation

E ‘munca in progres’, dar deja functioneaza. Cand am facut primul commit nici macar nu avea un dialog pentru optiuni, am adaugat dupa ceva ‘basic’.

Mai am de lucru pe el, macar sa incerc si alte pseudopotentiale (deocamdata merge pentru Cu), poate sa trec la grid neuniform, etc.

1 Like

Salut. Tocmai am terminat MVP-ul pentru Weap.io. DigitalOcean creeaza un backup automat o singura data pe saptamana, la o ora aleasa de ei. Multi utilizatori au nevoie de o flexibilitate mai mare.

Weap.io este un SaaS care rezolva aceasta problema si permite utilizatorilor DigitalOcean sa faca backup-uri la intervalul configurat pentru fiecare droplet/volum.

Pentru fiecare droplet/volum ai posbilitatea de a configura intervalul dorit (ex: snapshot zilnic la ora 00:00) la care backup-ul sa fie creat, dar si cat sa fie pastrat (ex: pastreaza ultimele 7 backup-uri zilnice, ultimele 4 saptamanale si ultimele 2 lunare). Orice cont nou beneficeaza de 14 zile de free trial (fara a adauga un card).

Interfata nu a fost optimizata pentru mobil, am vrut sa lansez MVP-ul cat mai repede. Orice critica/sugestie este binevenita.

9 Likes

Faina ideea, dar zi-mi ca e mai mult decit cron + un API call

curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" \
  -d '{"type":"snapshot","name":"Nifty New Snapshot"}' \
  "https://api.digitalocean.com/v2/droplets/$DROPLET/actions"

Ideea a fost validata deja de altcineva, mai exista un serviciu similar care are un MRR destul de ok :slight_smile: .

Initial si eu am fost surpins de acel serviciu si de faptul ca totul a parut doar un cron + API call.
In estenta asta este, doar ca trebuie avut grija de toate situatiile, de exemplu:

  • cand token-ul expira
  • cand accesul este recovat
  • cand utilizatorul are acces la multiple conturi DigitalOcean
  • cand snapshot-urile esueaza
  • volumele au o limita ascunsa la snapshot-uri
  • unele actiuni esueaza fara motiv
  • snapshot-ul unui volum nu are acelasi workflow ca cel al unui droplet
  • fiecare snapshot dureaza 1 minut/GB. Daca utilizatorul seteaza backup-uri la fiecare ora pe un droplet mai mare de 60GB? Snapshot-ul urmator o sa inceapa inainte ca cel actual sa fie gata
2 Likes

Felicitari! :smiley:

Este posibil sa implementezi inregistrarea si autentificarea cu un serviciu social? :smiley:

Ce tech stack ai folosit btw?

Autentificarea/inregistrarea cu Github o sa fie implementata. API-ul este facut in Laravel iar frontend-ul este un SPA in Vue.js care consuma API-ul :slight_smile:

Nice :smiley:

Spor mai departe cu proiectul!

Mi-a luat 2 minute sa imi fac contul.

Snapshotly will take care of your snapshots until 2019-12-04, 14:56 UTC . Subscripbe to a plan if you want to continue using Snapshotly after the free trial.
:slight_smile:

Desi cred ca este o mica greseala la data :grin:

Am reparat problema. Multumesc pentru feedback :slight_smile:

1 Like

Proiectul nr 20 e pe GitHub: https://github.com/aromanro/KKR

‘Gaurile’ vizibile in grafic sunt datorate evitarii singularitatilor.

Ceva informatii pe Wikipedia despre teorie:




Ceva dintr-un curs: https://itp.tugraz.at/LV/ewald/TFKP/summaries/KKR_engl.pdf
Teza de doctorat pe tema asta: http://fau.digital.flvc.org/islandora/object/fau%3A9083/datastream/OBJ/view/Computational_methods_in_metallic_alloys_within_multiple_scattering_theory.pdf

Informatiile de mai sus bineinteles ca sunt departe de a fi complete pentru a implementa un asemenea program :slight_smile:

Challenge: Eu unul nu am gasit cod sursa care sa implementeze la un nivel cat mai ‘basic’ a teoriei. Gaseste cineva?

4 Likes

Lucrand vreo 2 ani și jumătate cu aplicații de reporting, iar în prezent făcând dashboarduri interne, m’am gândit ca as putea porni și un proiect personal cu o tematica asemănătoare.

Vrrau sa fac un serviciu ce ofera posibilitatea creării cu ușurință a dashboardurilor pe baza datelor existente pentru firme mici. De fapt, fiind primul meu proiect, ar fi un real succes dacă și Dorel care vinde adidasi pe olx ar folosi acest serviciu pentru a vedea evoluția vânzărilor (ca mic exemplu). Ideea ar fi simpla, clientul își importa datele pe site, iar pe baza lor își poate crea cu ușurință un dashboard, îl poate sharui, îl poate salva ca un simplu PNG și apoi sa’si șteargă datele, sunt doar câteva idei. Nu ma gândesc la profit, ar fi mai mult un proiect pe care îl voi putea folosi la interviuri. Știu ca exista destule și nu încerc sa le fac concurenta, cel puțin nu acum, când e doar la stadiul de idee. Pentru început ma gândeam la o limitare de 10k linii încărcate pentru un user Basic, as porni de la inceput și cu ideea unui cont premium, cu plata, asa m’as lovi de serviciile de plata, cu care n’am avut încă ocazia sa lucrez, si as invata ceva.

Problema ar fi ca, nimeni n’ar avea încredere sa’si importe datele pe un site necunoscut, pentru asta m’am gândit ca în momentul importului, clientul sa aibe posibilitatea sa’si cripteze anumite coloane.

Backendul l’am început deja în. Net core 3 (cu mssql) ,iar frontul în Angular 8. Ma gândesc ca pe viitor logurile sa le stochez intr’un sqlite. Nu știu cât de realist este acest proiect, dar pana nu încerc, nu voi putea afla. Dacă as ajunge la 100 clienți care sa’l folosească, ar fi un real succes pentru mine. Ar fi un punct de pornire important, si as putea dezvolta și alte servicii pe langa. Momentan nu îmi bat capul cu SEO, marea problema a Angular ului, aplicația de prezentare cel mai probabil va fi scrisa în jquery, ceva simplu, curat și rapid.

Dacă merge treaba și nu’mi pierd cheful de munca… Sper sa pot deschide și un subiect separat pentru asta :grin:

La mulți ani 2020

4 Likes

Am descoperit o mica greseala in template-ul de email:

Link-ul este catre localhost

1 Like

Proiectul APW are de azi functional si LAPW (unde plane augmentate linearizate - de unde si L-ul).

Mai vad daca o sa deduc si niste formule necesare pentru grid ne-uniform pentru solverul general Numerov. Plus ca mai trebuie sa expun LAPW in UI, dar dupa aia gata deocamdata cu proiectul asta.

Pentru cine e curios, aici e un curs de la Rutgers Univ. ce trateaza subiectul: http://www.physics.rutgers.edu/grad/509/APW.pdf
Partea interesanta e de la pag 19. Contine greseli, au un S^2 la numitor in loc de numerator, au sume de versori in loc de versorul sumei, au facut varza intre unitati atomice Hartree si Rydberg, etc… Dar ideea principala e ok.

Am dedus/demonstrat tot, verificat o gramada de chestii si in final s-a dovedit ca am pasat un k care era de fapt un intreg, un index in vectorul de continea vectorul k. Te astepti sa fie vreo greseala in ceva complicat si greseala e banala :slight_smile: Asa ca mi-a luat 6 zile sa-l fac, din care full time doua si celelalte cateva ore (trebuie sa lucrez si pentru nasturi). Cel mai mult timp mi-a luat partea de teorie si verificarile, nu implementarea in sine.

2 Likes

LAPW merge cu grid ne-uniform. L-am expus si in UI, gata deocamdata cu proiectul asta. Ma mai gandesc daca sa adaug MTO & LMTO (MTO = muffin tin orbitals, L = linearized) la proiectul KKR, dar foarte probabil deocamdata nu, tinand cont de complexitatea deja existenta.

Probabil ca ma opresc aici pentru o vreme cu proiectele pentru calcul structura de benzi, desi e tentant sa iau LAPW (sau LMTO, daca o sa-l implementez) si sa-l folosesc pentru calcul ‘full potential’ cu DFT. Cand o sa descriu proiectul pe blog o sa spun in mare cum se face, ‘caramizile’ deja exista, in LAPWul deja implementat si DFTAtom. De-astea o sa ramana pe alta data, daca o sa am mai mult timp liber si motivatie.

3 Likes

Apropo de threadul despre ‘cum va gasiti parteneri’, am deschis ‘issues’ (de fapt, imbunatatiri) la ultimele doua proiecte:



Nu ma supar daca se gaseste cineva dispus sa le implementeze :slight_smile:

Poate o sa le implementez candva, dar n-o sa se intample prea repede. Deja e cam mult pe calcul structuri de benzi, trec pe altceva, foarte probabil urmatorul proiect va fi pe Quantum Monte Carlo, probabil variational.

8 posts were split to a new topic: Autentificare utilizatori din webapp

Salutare tuturor!

sunt relativ nou pe forum si cred ca thread-ul asta este un punct bun sa ma “inserez” si eu in comunitate.

Proiectul actual la care lucrez este un microserviciu care expune un REST API pentru accesarea unei baza de date relationale de tip SQL. Practic datele din baza de date configurata cu acest microseriviciu pot fi explorate si modificate folosind calluri HTTP REST. Pe partea de REST API, microserviciul implementeaza specificatia JSONAPI (https://jsonapi.org/) plus cateva extensii pt. bulk insert si update.

De asemenea microserviciul suporta autentificare cu token-uri JWT si control al accesului cu reguli flexibile.

FIecare baza de date care ar urma sa fie accesata prin acest microservice se configureaza separata in sistem sub forma unui fisier in care este expusa structura DB-ului, precum si diverse flag-uri pt. controlul diverselor operatiuni (read/write) etc.

Din pacate inca nu am un demo (prezentabil) public, dar ma voi stradui in saptamanile viitoare sa vin cu ceva concret pt. cei interesati.

Ar mai fi si alte cateva proiecte in backlog, dar de departe asta ma entuziasmeaza (si ma frustreaza) cel mai mult…

1 Like

Ce problemă rezolvă?
Ca sa folosesc un clișeu.

1 Like

Problema pe care o rezolva este cea de timp si resurse (bani, oameni) in dezvoltatea anumitor tipuri de aplicatii.

Cel mai basic exemplu este cand se doreste crearea unui API pt. a expune datele (CRUD) dintr-un DB. Cu acest microservice ai API-ul up&running intr-un minut… daca nu pun la socoteala fine tunning-ul legat de drepturile de acces pe fiecare tabela/field in parte.

De asemenea, important de mentionat este si faptul ca nu e un simplu CRUD pe tabele/view-uri ci tine cont si de relatiile dintre date pt. a construi raspunsuri complexe, in sensul ca poti face select recursiv pe mai multe tabele intr-un singur call. La fel si pe partea de insert: se pot insera intr-un singur call mai multe recorduri apartinand unor tabele diferite si care sunt relationate intre ele.

Pornind de aici poti sa iti imaginezi diverse scenarii: API-ul cu pricina este folosit ca backend pt. o aplicatie sau este integrat in alte servicii etc.

Ca si proiect concret, eu am folosit acest microserviciu pt. a asigura in proportie de 100% backend-ul pt. o aplicatie de facturare si gestiune. Adica am avut de lucru doar la frontend, ceea ce in acest caz a reprezentat o economie de timp de cel putin 30%.

Pe de alta parte modul asta de lucru, forteaza mutarea business logic-ului din backend fie in front end fie in serverul de DB. Astfel am inceput sa lucrez cu proceduri stocate, triggers & altele. Avantajul major la chestia asta e ca se obtine un boost de performanta pt. anumite operatii, iar ca drawback as zice ca ai oarecum o grija in plus sa tii evidenta codului pe care l-ai bagat in DB.

1 Like