Uutiset:

Ilmoitustaulu mahdollisten ongelmien varalta (wikimedia.org / Etherpad)

Sähköpostia ylläpidolle: kantapaikanherra (at) gmail.com

Main Menu

Ohjelmointi

Aloittaja Juha, helmikuu 03, 2019, 10:01:17

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

Lenny

Lainaus käyttäjältä: Juha - kesäkuu 16, 2019, 07:22:49
Lainaus käyttäjältä: Lenny - kesäkuu 16, 2019, 04:47:01
Lainaus käyttäjältä: Vihervasemmisto - kesäkuu 13, 2019, 17:16:33Mä käytän töissä PhpStormia ja Visual Studio Codea, joista ainakin jälkimmäisessä tuo korostus on vakiona.

Atom ja Visual Studio Code lienevät suosituimmat editorit tällä hetkellä.


Miksi nuo puuttuvat, esim debianin ohjelmistolähteistä?

Hyvä kysymys. Luultavasti lisenssisyistä. Debian on melko tarkka siitä, että lisenssi on kosher open source (mieluiten GPL) ja että käännösprosessi on suoraviivainen. VSC ja Atom ovat molemmat itse asiassa selainpohjaisia, ja niiden asennuksen mukana saattaa tulla ties mitä tauhkaa, varsinkin tuon Microsoftin ohjelmiston (VSC). Tämä vain mutua, en jaksa etsiä selitystä.

Esimerkiksi Emacs sen sijaan on täysin kosher, eli GPL-lisenssi.
Lainsäädäntö ennen luontoa (Immanuel Kant)

Juha


Ok.

Eräs vaikuttava (objektiivistyylinen) hahmo näissä tuntus olevan Richard Stallman. Kuulin pätkän sen tarinaa ohjelmistoista, youtubesta.

Ubuntukaan ole ihan niin varma, mitä luullaan, vaikka linux-pohjainen. Samoin Mint. Mintti alkoi näyttää vähän epäselkeältä, joten vaihdoin. Nyt on käytössä Debian ja oliko tässä toisessa jokin Pureos.

Vakaa järjestelmä on hyvä olla, yhtenä. Siihen ei tulisi asentaa epäselvyyksiä. Muut saa olla vaikka räkäisiä, systeemeiltään.

Hyvä kuitenkin, että lisenssit tuovat jotain selkeyttää nettimaailman rakenteluun.

Juha


Hippi puhunut ohjelmoinnista, ja projekteista, siis rakentamistavasta, jossa tiedetään tarkasti, mitä halutaan, ja rakennetaan se juttu täsmällisesti.

Kyseessä on eri "marja". Joskus voi käyttää selkeästi top-down-rakentamista, joka oli myös Pensadorin mentelmissä nro1. Bottom-up on tuohon nähden yhtä sählinkiä. Ja sen huomaa. Peruuteluissa ei rajaa, aiemmista. Sama, mitä väsäili.

Eilen Safiirin kanssa jutskasin Luonto-ketjussa energiansäästöstä, ja botttom-up vinkkelistä, siis kapokulmasta lähtien, päädyin hyvin lokaaleihin puitteisiin, ja sen mukaiseen toimintaan, josta ei ihmeitä sovellu, suurempiin ympyröihin.

Rakentelussa samaan törmännyt oman kämpän suhteen. Sen hoksannut, että jos tekee BT-projekteja, tai askareita, niin simppelipalikat rulettaa. On oltava atomaarisia elementtejä, joistä väkertää kompleksisempaa, ja niin, että purku-juttu on varmistettu, eikä kynnyksellinen, hajoitus/rakennus-operaationa.

Ohjelmoinnissa sama, siis kun puhutaan rakentelusta, johon otsikko suoremmin viittaa. Rakentelu yleisemmin on tietysti sitä, mikä pätee ohjelmointiikin, eli jos puhuu rakentamisesta, niin se on yleensä helppo nähdä osana ohjelmointia, siinä missä matematiikka yleensä on tapana liittää esim talouteen, tai moneen tieteeseen.

TD-tyyli on myös erityisen huono, joissain tapauksissa. Yhteiskuntia tyypillisesti rakennetaan TD-tyylillä. Tästä on pitkällistä kokemusta. Jokainen on muka niin hyvä, aiempaan nähden. Sama hankaluus kömpii usein esteeksi, huomaamatta. Sitten sanotaan, että minkäs ihmiselle voi. Tällaisia me ollaan.

Ihminen itse, on rakentamiseen nähden muuta kuin off-topic. Kun puhutaan rakentamisesta, niin vaikuttavin taso löytyy tältä suunnalta. Tässä jotain reunapuitteista, rakenteluun liittyen.

Juha

Lainaus käyttäjältä: Lenny - kesäkuu 16, 2019, 09:47:51Debian on melko tarkka siitä, että lisenssi on kosher open source (mieluiten GPL) ja että käännösprosessi on suoraviivainen. VSC ja Atom ovat molemmat itse asiassa selainpohjaisia, ja niiden asennuksen mukana saattaa tulla ties mitä tauhkaa, varsinkin tuon Microsoftin ohjelmiston (VSC). Tämä vain mutua, en jaksa etsiä selitystä.


Juuritason lähestymistapa, siis rakennepainotteisuus on kiva juttu. Tämä näkyy joskus käyttäjäepäystävällisyytenä. On hyvä, että on myös käyttäjäystävällistä, inhimillisiin liittymiin panostamista, jota on tietysti pakko olla, jos kaupallistetaan tavallisempien kuluttajien suuntaan tuotteita, joissa ei tarvitse insinööritaitoja, tai pohja-tason rakenteluosaamiseen liittyviä.

Tieteessä ja tutkimuksessa on selkeä ammatillisuus hyväksyttyä. Sitä suojellaan, ja vaalitaan, jonkin verran, myös tökerösti, jolloin turmeltumista ajatellen, turvaamisen voi nähdä karhunpalveluksena pohjatason laatuedellytyksille.

Kun mennään tietotekniikkaan, niin perustavan tason ammatillisuus on jotain, mitä voidaan kuvata toisella tapaa. On jopa halveksivaa suhtautumista pohjatason rakenteluun. Nörtti on eräs tällaiseen viittaava. Ei kovin ihmisläheinen tapaus, eikä sallittu, tällä alueella. Muilla alueilla meriitti.

Lobotomia on hankala juttu, siis se, että osaamisalueet ovat liian eristyksellisiä, eri toiminta-alustoihin nähden. Kun yleiskulkemista arvostetaan, niin samalla voidaan tallata invalidiksi ne erikoiskärjet, joihin voi järkevästi ottaen rakentaa yleistä.

Yhteiskuntaa ja rakentamista voi arvioida anarkismin vinkkelistä, ilman että ketään selkeää hihhulia olisi hyppelämässä koneistoissa. Anarkismin vahvin muoto löytyy, ilman tällaista hassutusjoukostoa.

-:)lauri

Lainaus käyttäjältä: Hippi - maaliskuu 09, 2019, 09:00:17
Lainaus käyttäjältä: Tuottavuusloikka - maaliskuu 08, 2019, 22:17:55
Tein puolitoista vuotta sitten asiakkaalle suhteellisen monimutkaisen ajanvarausjärjestelmän, eikä mulla ollut sen valmistuttua silloin eikä vielä nytkään käsitystä, miksi se toimi. Siinä on reilu tuhat riviä koodia, mutta selkeesti niin monimutkaisella tavalla tehty, että en pysty seuraamaan koodia ja sanomaan mitä tapahtuu tarkalleen ottaen missä ja miksi (en tietenkään kommentoinut silloin koodia).

Ai kamala, en kyllä kehtaisi tunnustaa etten ymmärrä omaa koodaustani.

Asiakas halusi, että muutamme jälleen toimintalogiikkaa, koska nyt kun on paljon dataa, järjestelmä on aivan sairaan hidas. Muutenkin vitutti tuo "musta aukko" niin paljon, että kirjoitin juuri koko ajanvarausjärjestelmän uusiksi. Nyt se on yksinkertaisempi ja koodista ottaa nyt selvän. Useampi sata riviä koodia meni aiemmin kalenterien käsittelyyn ja nyt kalenterien toiminta edellyttää ehkä vain noin 100 riviä koodia. Renderöin nyt kaiken datan myös serverillä niin pitkälle valmiiksi kuin mahdollista, jotta javascriptin ei tarvitse juuri muuta tehdä kuin näyttää dataa, eli sain javascriptin for-loopit minimiin. Poistin fullcalendar-ajanvarauskäyttöliittymänä ja korvasin sen jqueryn datepickerillä. Aavistelinkin jo, että ongelmia aiheutti tuo fullcalendar. Tapamme käyttää fullcalendar-komponenttia tässä kohtaa ei ollut optimaalista. Sitä kun ei ole suuniteltu varausten näyttötapaan, jota me tuossa järjestelmässä tuossa kohtaa käytämme. Aiemmin sivun lataus tietyissä tapauksiissa kesti useita sekunteja. Nyt se latautuu käytännössä välittömästi (max 1.5 sek riippuen nettiyhteydestä/selaimesta). Fullcalendar toimii moitteettomasti toisaalla järjestelmässä kun sitä käytetään kyseisen palikan ohjeiden mukaan, joten palikka sinällään ajaa asiansa, mutta tässä tämän tyyppisessä ajanvaraussysteemissä se ei selvästi ollut oikea valinta. (Silloin kun sain järjestelmän vastuulleni, esimieheni ei tykännyt ideasta käyttää tässä kohtaa muita kalenterikomponentteja kuin järjestelmästä jo löytyvää fullcalendar-komponettia, mutta kun joka tapauksessa tarvitsimme myöhemmässä vaiheessa datepickeriä, ja lisäsimme sen järjestelmään, nyt avautui sen käyttöön oiva mahdollisuus).
Selvin merkki psykoosista on se, että kuvittelee ajattelevansa vain kylmän rationaalisesti ja loogisesti.

-:)lauri

#35
Sitten meni pitkä aika sen selvittämiseen, miten saan listan otsikoita klikattaessa aukeamaan niiden alla olevan piilossa olevan tavaran jqueryllä. Silleen geneerisesti, että ei olisi tuo avaussysteemi kiinni siitä kuinka monta tasoa listassa on. Olen sen joskus aiemminki tehnyt toisaalle ja ajatelin, että tämähän on ihan helpppo muutaman sekunnin homma. Varman meni tunti ja tuloksetta. Kun pääsin kotiin, ajattelin käyttää vaikka koko viikonlopun tuon perkeleen selvittämiseen. Jostain syystä kotiin päästyäni homma selvisi ekalla yrittämällä ja nyt ihmettelen jälleen, miksi en ajatellut asiaa näin käytännönläheisesti duunissa. Pitäisi ilmeisesti tauottaa päivä fiksummin niin katsantokanta asioihin lähtisi aina ikään kuin alusta ja osaisi kyseenalaistaa omaa tapaa tuottaa ratkaisuja. Tosin ongelmani on se, että kun tulee eteen pulma, joka ei tahdo mitenkään ratketa, se motivoi niin paljon lisää, että sitä ei malta pitää paussia, vaan sitä mielummin hakkaa päätään seinään.
Selvin merkki psykoosista on se, että kuvittelee ajattelevansa vain kylmän rationaalisesti ja loogisesti.

-:)lauri

#36
Pitää seuraavaksi selvittää Redux- ja Axios-kirjastojen toiminta Reactin kanssa. Kovinkaan kummoinen projektin ei tarvitse olla, kun tuo Redux tulee jo tarpeeseen. Ei muuta kuin, että jos moduulien hierarkia on syvä, tuo joka moduudille eventtien välittäminen, jotta pohjimmainen voi eventtiä kutsua, vie tarpeettomasti aikaa verrattuna siihen, että keskittää nuo eventit yhteen paikkaan ja tarpeen vaatiessa kutsuu niitä sitten, mistä moduulista tahansa ja homma on sillä selvä. Axios taas tulee siihen, että saa React-yhteensopivasti yhteyden backendiin.

EDIT: Ongelma Axiossissa minun kannaltani on, että javascriptin "lupaukset" ovat minulle vielä toistaiseksi olleet hepreaa. Se mitä niistä yleisesti ymmärrän, on että ne ovat tervetullut ominaisuus, mutta en vain ole saanut aikaiseksi tutustua konseptiin.
Selvin merkki psykoosista on se, että kuvittelee ajattelevansa vain kylmän rationaalisesti ja loogisesti.

-:)lauri

Ehkäpä sitä uskaltaa ottaa käyttöön "lupaukset". Nyt olen tässä hieman kokeillut ja ikään kuin ne osaisivat odottaa siihen asti kun iteraatiot ovat valmiita.

Tuo on ollut javascriptissä ongelmana, että jos pitää käydä paljon dataa läpi, niin miten estää tiettyjen koodin osien toteutumisen ennen kuin tuo data on käyty läpi. Ratkaisut eivät ole olleet aina erityisen helppoja toteuttaa puhumattakaan kauniita.

Lupaukset vaikuttaisivat pikaisella testillä ratkaisevan tämän pulman. Olen luullut, että lupauksia voisi käyttää vain rajatuissa tapauksissa, mutta ilmeisesti niitä voi todella käyttää ihen jo iteraatioiden valmistumisen odottamisesta lähtien, mikä olisi kyllä aivan saatanan hyvä ominaisuus, jos todellakin näin on. Tulee heti mieleen useita projekteja, joissa eteen tulleet suurimmat pulmat olisivat ratkeneet käyttämällä lupauksia.

Tosin ongelmaksi voi mudostua se, että asiakkailla voi olla käytössään vanhoja selaimia, jotka eivät tue lupauksia. Pitää selvittää, mikä on tilanne. Lupaukset on tosin otettu käyttöön vuonna 2015 (linkki), samoin kuin näyttäisi olevan map-funktiokin, ja sikäli kun olen tuota map-funktiota surutta käyttänyt jo kaksi vuotta, eikä asiakkaat ole ilmoittaneet siihen liittyvistä ongelmista, ilmeisesti lupauksiakin voisi alkaa turvallisesti käyttämään myös.
Selvin merkki psykoosista on se, että kuvittelee ajattelevansa vain kylmän rationaalisesti ja loogisesti.

a4

^ Ihan munkkilatinaa itselleni mutta erittäin eksoottista ja jännittävää luettavaa. :)
Sokkona googlasin avainsanoilla tällaista, ymmärtämättä mistä on kyse:

With any of the following Polyfills, you'll be able to use the Promise API in any old webbrowser in the same way you do with new browsers.

Liittyikö pohdintoihisi mitenkään?

-:)lauri

#39
Lainaus käyttäjältä: a4 - joulukuu 08, 2019, 02:57:06
^ Ihan munkkilatinaa itselleni mutta erittäin eksoottista ja jännittävää luettavaa. :)
Sokkona googlasin avainsanoilla tällaista, ymmärtämättä mistä on kyse:

With any of the following Polyfills, you'll be able to use the Promise API in any old webbrowser in the same way you do with new browsers.

Liittyikö pohdintoihisi mitenkään?

Joo kiitos ja kyllä valitettavasti liityy. Olen tyypillisesti käyttänyt babel-nimistä polyfill-kirjastoa, joka kääntää kaikki uusimmat javascript-toteutukset (ei pelkästään lupauksia) vanhojen selainten kanssa yhteensopivaksi javascriptiksi, mutta näiden polyfill-kirjastojen käyttö edellyttää hieman enemmän säätöä, kuin jos voisi kirjoittaa koodia ilman niitä. Ongelma on useimmissa tapauksissa lähinnä vain kosmeettinen, mutta kiusa se on pienikin kiusa, joka näiden eri kääntäjien mukaan ottamisesta aiheutuu.

Tuolla fiilikset ketjussa kerroin yhdestä tilanteesta, joka tuli vastaan kun käytössä olevat kirjastot eivät lopulta sitten kutenkaan ole yhteensopivia vaikka "käyttöohjeissa" niin luvataankin, ja korjausta on vaikea lähteä tekemään kun koodi, johon ohjelma nojaa, ei ole omaa. Tämä on yksi keskeisimmistä syistä, miksi välttelemme duunissa asiakasprojekteissa ylimääräisiä kirjastoja ja näemme itse sen vuoksi hieman enemmän vaivaa, kuin että ottaisimme käyttöön jonkun valmiin komponentin. Joskus tulevaisuudessa saatamme nimittäin tulla tilanteeseen, että käyttämämme kirjastot eivät mahdollista softan laajentamista haluttuun suuntaan ja jokin pienikin muutos kyseiseen suuntaan voi edellyttää taustalla toimivan koodin uudelleenkirjoitttamista varsin radikaalilla tavalla, johon emme halua lähteä. Itselläni kun on tapana edelleen kirjoittaa myös paljon tarpeetontakin koodia ja senkin parseroinnissa on joskus ihan riitämiin päänvaivaa ilman ulkopuolisten kirjastojen mukaan mahdollisesti tuomista ongelmista huolimatta :)
Selvin merkki psykoosista on se, että kuvittelee ajattelevansa vain kylmän rationaalisesti ja loogisesti.

a4

Maallikkona kysyn tyhmiä: Onko perusongelmana käyttöympäristön eli kaiketi netin nopea kehitystahti ja siitä seurannut monimuotoisuus selaintenkin osalta? Vaatisiko jonkinlaista betatestausviritystä?

Pelipuolella ainakin kova julkaisutahti ja sutki markkinointi kaiketi pakottaa julkaisemaan etenkin nettimoninpelejä beta-ja alfatestien avulla ja silti usein paikkaustiedostoja tarvitsevina tuotteina. Nyt myös somekanavat on valjastettu mukaan jatkuvaan ja sitouttavaan mainostus-, mikromaksu-, tuki-ja palautekäyttöön pelikohtaisesti pelaajayhteisöilleen.
Sosiaalisuus on kovaa valuuttaa.

-:)lauri

Lainaus käyttäjältä: a4 - joulukuu 08, 2019, 13:13:17
Maallikkona kysyn tyhmiä: Onko perusongelmana käyttöympäristön eli kaiketi netin nopea kehitystahti ja siitä seurannut monimuotoisuus selaintenkin osalta? Vaatisiko jonkinlaista betatestausviritystä?

Pelipuolella ainakin kova julkaisutahti ja sutki markkinointi kaiketi pakottaa julkaisemaan etenkin nettimoninpelejä beta-ja alfatestien avulla ja silti usein paikkaustiedostoja tarvitsevina tuotteina. Nyt myös somekanavat on valjastettu mukaan jatkuvaan ja sitouttavaan mainostus-, mikromaksu-, tuki-ja palautekäyttöön pelikohtaisesti pelaajayhteisöilleen.
Sosiaalisuus on kovaa valuuttaa.


Ongelma, jota pyrimme välttelemään ovat nuo lisäpalikat.
Selvin merkki psykoosista on se, että kuvittelee ajattelevansa vain kylmän rationaalisesti ja loogisesti.

-:)lauri

Haluaisin tehdä asiakkaalle lisäosan softaan, millä he voisivat rakentaa itselleen mieleisensä www-lomakkeen. Heillä on järjestelmä, jossa tällaiselle olisi aika-ajoin tarvetta. Ei kuitenkaan onnistu pikkunäpertelynä. Alustoja, joissa nettisivun sisällön paikat ja ulkoasun saa itse päättää, myydään ymmärtääkseni isolla rahalla nettisivujen tekoon, kuten https://www.wix.com/
Selvin merkki psykoosista on se, että kuvittelee ajattelevansa vain kylmän rationaalisesti ja loogisesti.

Vaaraton Norsu

^  Ei taida auttaa?

https://zapier.com/learn/forms-surveys/best-online-form-builder-software/

Google Forms esim. vaatinee, että datat tallennetaan Googleen, ei vapaavalintaiseen paikkaan. Kuulee huhuja, että se hukkaisi dataa.

-:)lauri

Joo kiitos. Pitäisi siis kaiketi rakentaa tuollainen. Varmaan pitäisi tarkastella noita javascript-kirjastoja. Esimerkiksi jollekin React-kirjastolle voisi löytyä käyttöä. Niitä kun voi muokata tarpeen mukaan. Lomakkeiden pitää olla nimittäin tietyntyyppisiä sen lisäksi ettei olla suunnittelemassa tätä varten tietokannan siirtämistä AWS:ltä esimerkiksi Googlelle. En usko, että valmiita palikoita löytyy.
Selvin merkki psykoosista on se, että kuvittelee ajattelevansa vain kylmän rationaalisesti ja loogisesti.