ComiaTips

ComiaTip on lyhyt (ja joskus jopa pidempikin) ohjelmointivinkki kaikkien aiheesta kiinnostuneiden vapaaseen käyttöön. Vinkkien sisältö vaihtelee yksinkertaisista Linux-komennoista Java-ohjelmoinnin ongelmatilanteisiin ja yleisiin kieliriippumattomiin ohjelmointikäytäntöihin. Jotkut vinkeistämme on suunnattu aloitteleville ohjelmoijille (tai tietokanta-ihmisille) ja toiset taas vuosia ohjelmointia tehneille hard core -koodareille. Tulossa siis jokaiselle jotakin.

Miksi?

Siksi! Olit miten hyvä ohjelmistokehittäjä tai tietokantaekspertti tahansa, aina välillä joudut virkistämään muistiasi ja hakemaan komentojen syntakseja tai muuta oleellista tietoa Googlella tai muulla hyvällä hakupalvelulla. Me Comialla haluamme olla tarjoamassa sinulle yhden tietolähteen lisää.

Vinkkien kirjoittajista

Kaikki vinkkien kirjoittajat ovat kokeineita ohjelmistoalan ammattilaisia, jotka tekevät työkseen sitä mistä vinkeissään kirjoittavat. Kirjoittajat ovat Comia Softwaren ja sen yhteistyökumppaneiden työntekijöitä, jotka antavat tällä palstalla omasta kokemuksesta juontavia vihjeitä, kommentteja ja ehdotuksia käyttöösi ilmaiseksi. Lisää tietoa kirjoittajien taustasta löydät itse vinkeistä.

Ohjelmakoodi

Monissa vinkeissä on ohjelmakoodia tai järjestelmäasetuksia joko kokonaisuudessaan tai osittain. Esimerkkikoodi sisältää suurelta osin yksinkertaistettuja esimerkkejä siitä millaiseen ohjelmakoodiin voi törmätä todellisessa tilanteessa. Kaikki vinkit ja esimerkkikoodi on tarkistettu ja toimivaksi käytännössä havaittu.

Sähköpostin lähettäminen Javalla

Nykyään niin työpöytäsovelluksien kuin verkkojärjestelmien vaatimuksiin kuuluu sähköpostin lähettäminen.  Sähköpostitse saadaan yhteys käyttäjiin, asiakkaisiin tai ylläpitoon nopeasti ja vaivattomasti. Normaalin sähköpostiviestin voi lähettää kuka tahansa mistä tahansa. Tässä tipsissä keskitytään, miten sähköpostia lähetetään Java-ohjelmasta käsin. Tällöin sähköpostiin saadaan helposti ja varmasti tarvittavat tiedot niin ohjelmasta kuin käyttäjästäkin sekä sähköpostin lähetys pystytään automatisoimaan. Käyttötarkoituksia ovat esimerkiksi:

  • Käyttäjäpalaute
  • Virheraportit
  • Automaattiset muistutukset
  • Yleisluontoiset ilmoitukset

Singleton enumeraatiolla

Java 1.5 esitteli Javaan enumeraatiot. Muiden hienojen rakenteiden ohella enumeraatiolla voidaan toteuttaa Singleton-suunnittelumalli eli luokka, josta on olemassa ainoastaan yksi instanssi.

Suoritusjärjestys säikeissä

Kun ohjelman tulee toimia useassa säikeessä, on kriittisten koodilohkojen synkronointi avainasemassa toimivan järjestelmän aikaansaamisessa. Synkronointi ei kuitenkaan aina ole niin helppoa kuin, mitä aluksi voisi kuvitella ja synkronointi virheiden metsästäminen on usein varsin työlästä puuhaa. Ongelmia aiheuttavien ohjelmarakenteiden tunnistamisesta on kuitenkin merkittävää apua virheiden ennaltaehkäisyssä kuin niiden jäljityksessäkin.

MySQL-yhteyksien salliminen localhostin ulkopuolelta

Tämän kertainen ComiaTipsi ei ole niinkään varsinaista ohjelmointi vaan enemmänkin tietokantapalvelimen ylläpitoa. Useimmat meistä tietokantakoodereista kuitenkin joutuvat tekemisiin myös konfiguraatioiden kanssa, varsinkin testiympäristössä. Tässäpä siis pieni vinkki siihen, mikä voi olla vikana jos softasi ei saa yhteyttä tietokantapalvelimeen.