Pieniä kysymyksiä ohjelmoinnista

Kautium

IOdootti
Tukijäsen
Liittynyt
16.10.2016
Viestejä
20 720
Tänne mitä tahansa "pieniä kysymyksiä" ohjelmoinnista...
 
Viimeksi muokattu:
Kumpaa kirjastoa suositte pythonin ja mysqlin välillä, pymysql vai mysql.connector? Alustana toimii RPi3
 
Kumpaa kirjastoa suositte pythonin ja mysqlin välillä, pymysql vai mysql.connector? Alustana toimii RPi3

Rehellisesti sanoen heittäisin mysql:n menemään RPi:n kanssa säätäessä, sqlite on todennäköisesti parempi vaihtoehto. Paitsi jos se kantapalvelin pyörii toisella koneella, sitten PyMySql ihan vaan siksi kun se näyttää siistimmältä.
 
Ohjelmointi kiinnostaisi kevyesti - aikaa on rajallisesti ja matkaa on äärettömästi, olen tehnyt ysärillä kotisivuja ja tekstiseikkailun Qbasicilla, joten pohja on olematon. Kiinnostaisi ehkä jotkut tosimaailman kojeisiin osuvat projektit - esimerkiksi ohjelma, joka tarkkailee kylmälaitteiden lämpötiloja, pitää niistä tilastoa ja ilmoittaa poikkeamista. Mistä kannattaisi lähteä lapioimaan, jos aikaa harrasteelle sattuu ilmestymään?
 
Ohjelmointi kiinnostaisi kevyesti - aikaa on rajallisesti ja matkaa on äärettömästi, olen tehnyt ysärillä kotisivuja ja tekstiseikkailun Qbasicilla, joten pohja on olematon. Kiinnostaisi ehkä jotkut tosimaailman kojeisiin osuvat projektit - esimerkiksi ohjelma, joka tarkkailee kylmälaitteiden lämpötiloja, pitää niistä tilastoa ja ilmoittaa poikkeamista. Mistä kannattaisi lähteä lapioimaan, jos aikaa harrasteelle sattuu ilmestymään?
Tuollaisia projekteja on esimerkiksi RaspberryPi:lle jo valmiinakin mutta jos itse haluaa tehdä niin Raspi + Python + repullinen antureita + paljon kaljaa ja tupakkaa niin...
 
Ohjelmointi kiinnostaisi kevyesti - aikaa on rajallisesti ja matkaa on äärettömästi, olen tehnyt ysärillä kotisivuja ja tekstiseikkailun Qbasicilla, joten pohja on olematon. Kiinnostaisi ehkä jotkut tosimaailman kojeisiin osuvat projektit - esimerkiksi ohjelma, joka tarkkailee kylmälaitteiden lämpötiloja, pitää niistä tilastoa ja ilmoittaa poikkeamista. Mistä kannattaisi lähteä lapioimaan, jos aikaa harrasteelle sattuu ilmestymään?

Arduino on hauska ja sopivan yksinkertainen, antureita löytyy ebaystä eurolla joka lähtöön.
 
Tällainen pieni kysymys osittain ohjelmointiin liittyen:

EDIT:
Ratkaistu:
Koodi:
[COLOR=None]
Yllä oleva koodi muuttaa tekstin värin automaatiksi. (Olipa se taas niin vaikea hoksata :facepalm:). Eli kun korvaa sen [C OLOR="[I]musta[/I]"] pätkän tuolla ylemmällä, niin pääsee eroon mustasta väristä. Toiminnon voi tosiaan automatisoida http://textmechanic.com/text-tools/basic-text-tools/find-and-replace-text sivun työkalulla.

Ongelma:
Välillä tulee foorumilla vastaan ongelma, että tekstin väri onkin mennyt vahingossa jossain kohdissa mustaksi automaatin (=ei väriä) sijaan. Tällöin tummalla teemalla tekstin väri onkin musta eikä valkoinen. Asian voi korjata poistamalla tekstin värin kokonaan. Joskus tekstissä on kuitenkin käytetty muita värejä, jotka haluaisi säilyttää. Miten siis poistaa vain tietty väri foorumi postauksesta (BBcode) siten, että tekstin väri muuttuu automaatiksi?

Demostraatio


Tummalla teemalla:
Mitä yhteistä on insinöörillä ja salamalla?

– Ensin välähtää ja sitten korjataan vahingot.

Vaalealla teemalla:
Mitä yhteistä on insinöörillä ja salamalla?

– Ensin välähtää ja sitten korjataan vahingot.


Esimerkiksi http://textmechanic.com/text-tools/basic-text-tools/find-and-replace-text/ sivun työkalulla voi näppärästi vaihtaa tietyn värin toiseksi, kun kopioi tekstin BB-koodieditorista. BB-koodeilla ei kuitenkaan ole ilmeisesti mahdollisuutta poistaa väriä kokonaan (esim. [COLOR="ei väriä"]), vai voiko? Tai itseasissa tuon linkin työkalulla voi kyllä poistaa värin (korvaa tyhjällä) mutta silloin tekstiin jää
kummittelemaan:

Demostraatio:
Tummalla teemalla:
Mitä yhteistä on insinöörillä[/COLOR] ja salamalla?
– Ensin välähtää ja sitten[/COLOR] korjataan vahingot.

Vaalealla teemalla:
Mitä yhteistä on insinöörillä[/COLOR] ja salamalla?
– Ensin välähtää ja sitten[/COLOR] korjataan vahingot.

Osaisin ehkä jopa itse koodata pythonilla jonkin skriptin, jolla tietyn muotoilun voisi poistaa. Se ei vain olisi kovin käytännöllinen tapa. Jokin selain plugin olisi käytännöllisempi. Voi siis toki olla muukin työkalu esim. PowerShell.
 
Viimeksi muokattu:
Teen webview ohjelmaa Android studiolla ja nyt olisi pieni ongelma. Miten saan sivun zoomauksen pois, kun siihen koskettaa? <--- Tämä on selvitetty.


Seuraava kysymys. Tein napin ja siihen pitäisi saada enter painallus. Googlella olen yrittänyt kaikkea mahdollista, mutta en ole vielä saanu toimimaan. Olisiko jollain vinkkejä tähän?

Eli tohon vihreeseen palloon pitäs saada enterin painallus.

LLCcMGu.png
 
Viimeksi muokattu:
Koodia näkemättä paha sanoa, mutta voisko sieltä hasitella KeyEvent.KEYCODE_ENTER?
 
Koodia näkemättä paha sanoa, mutta voisko sieltä hasitella KeyEvent.KEYCODE_ENTER?

Ihan perus webview koodia. Tämä siis ensimmäinen ohjelma mitä olen tekemässä, eikä koodaus taidotkaan ole mitään ihmeellisiä. Varmaan liikaakin kaikkea turhaa, kun on tullut koitettua kaikennäköistä kikkailua :)

Activity_main

Koodi:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">


    <WebView
        android:id="@+id/activity_main_webview"
        android:layout_width="720dp"
        android:layout_height="match_parent"
        style="@android:style/Widget.Holo.Light.WebView"
        android:keepScreenOn="true"
        android:soundEffectsEnabled="false"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="40dp">


    </WebView>

    <Button
        android:layout_alignParentBottom="true"
        android:id="@+id/button"
        android:layout_alignParentRight="true"
        android:layout_height="100dp"
        android:layout_width="100dp"
        android:background="@android:drawable/presence_online"
        android:focusableInTouchMode="true"
        android:hapticFeedbackEnabled="true" />

</RelativeLayout>

MainActivity.java

Koodi:
package com.example.app;

import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ZoomButtonsController;


public class MainActivity extends Activity {


    private WebView mWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button = (Button) findViewById(R.id.button);



        mWebView = (WebView) findViewById(R.id.activity_main_webview);
        // Force links and redirects to open in the WebView instead of in a browser
        mWebView.setWebViewClient(new WebViewClient());

        // Enable Javascript
        WebSettings webSettings = mWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        mWebView.loadUrl("https://bbs.io-tech.fi/");
 
Mulle ei kyllä tästä aukea millään, että mitä entteriä haluat tuon pylpyrän tottelenvan. Jos tää on joku mailmanluokan appi ja et halua tänne sitä jakaa nii laita vaikka yv tarinaa..

http://code3.fi
 
Mulle ei kyllä tästä aukea millään, että mitä entteriä haluat tuon pylpyrän tottelenvan. Jos tää on joku mailmanluokan appi ja et halua tänne sitä jakaa nii laita vaikka yv tarinaa..

http://code3.fi

Siis haluan siihen näppäimistön enter painalluksen. Siis kysessä on ihan normaali Webview ohjelma, jolla käytetään yhtä sivustoa. Tuo nappi siis toimisi näppäimistön enter painalluksena :think:
 
Siis haluan siihen näppäimistön enter painalluksen. Siis kysessä on ihan normaali Webview ohjelma, jolla käytetään yhtä sivustoa. Tuo nappi siis toimisi näppäimistön enter painalluksena :think:

Siis halut tuon buttonin onclickiksi enterin? Mikäs virka sillä/tuolla on niiku loppukäyttäjän kannalta?
Ja mitähän minä en nyt tajua? :facepalm:
 
Siis halut tuon buttonin onclickiksi enterin? Mikäs virka sillä/tuolla on niiku loppukäyttäjän kannalta?
Ja mitähän minä en nyt tajua? :facepalm:

Haluan nappulan kutsuvan softkey 66 (Enter). Sivustolla jota varten softaa teen, toimii firman softa missä tarvitsee enterin painallusta. Esim. Kun ammun viivakoodin tekstikenttään, niin tämän jälkeen pitää painaa enter näppäintä, jolloin aukeaa viivakoodin takana olevat tiedot. :kahvi:
 
Viimeksi muokattu:
Haluan nappulan kutsuvan softkey 66 (Enter). Sivustolla jota varten softaa teen, toimii firman softa missä tarvitsee enterin painallusta. Esim. Kun ammun viivakoodin tekstikenttään, niin tämän jälkeen pitää painaa enter näppäintä, jolloin aukeaa viivakoodin takana olevat tiedot. :kahvi:

Mitään en tiedä aiheesta (en ole koskenut javaan vuosikausiin enkä Androidiin ikinä), mutta olen hyvä googlettamaan joten nappasin koodistasi "android.webkit.WebView" ja googletin sen, löytyi documentaatio, josta bongasin WebViewillä olevan metodin dispatchKeyEvent: https://developer.android.com/refer....html#dispatchKeyEvent(android.view.KeyEvent)

Vähän sellainen hytinä että tuota kutsumalla saisi ehkä lähetettyä näppäinpainallus-eventin viewin käsiteltäväksi. Täysin hatusta vedetty testaamaton koodiesimerkki joka yrittää painaa näppäimen pohjaan ja vapauttaa heti, en tiedä toimiiko mutta uskoisin että sillä on edellytykset toimia:

Koodi:
mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
 
Mitään en tiedä aiheesta (en ole koskenut javaan vuosikausiin enkä Androidiin ikinä), mutta olen hyvä googlettamaan joten nappasin koodistasi "android.webkit.WebView" ja googletin sen, löytyi documentaatio, josta bongasin WebViewillä olevan metodin dispatchKeyEvent: https://developer.android.com/refer....html#dispatchKeyEvent(android.view.KeyEvent)

Vähän sellainen hytinä että tuota kutsumalla saisi ehkä lähetettyä näppäinpainallus-eventin viewin käsiteltäväksi. Täysin hatusta vedetty testaamaton koodiesimerkki joka yrittää painaa näppäimen pohjaan ja vapauttaa heti, en tiedä toimiiko mutta uskoisin että sillä on edellytykset toimia:

Koodi:
mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));

Koitin alhaalla näkyvää koodia. Ei paina enteriä, mutta focus häviää tekstikentästä, eli jotain tekee.

Koodi:
Button button = (Button) findViewById(R.id.button);
button.dispatchKeyEvent(newKeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
button.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
 
Koitin alhaalla näkyvää koodia. Ei paina enteriä, mutta focus häviää tekstikentästä, eli jotain tekee.

Miksi sinä sille buttonille sen ENTER:n lähetät etkä webviewille? Eikös se nimenomaan sille sivulle pitänyt saada lähetettyä? Ja taisit viskoa tuon onCreateen sellaisenaan etkä siihen nappulan klikkihandleriin, eli se lähettää tasan kerran enterin sille omalle napillesi eikä sen jälkeen tee mitään enää... :)

Taiotaanpa nyt sitten vähän täydellisempi koodiesimerkki, tälläkertaa taikasanoja kopioitu android.widget.Button:n dokumentaatiosta, eli täältä: https://developer.android.com/reference/android/widget/Button.html

Koodi:
final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
        mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
    }
});

Muistaakseni nuo Javan anonyymit sisäluokat capturasivat referenssin ulkoluokkansa instanssiin joten mWebViewiä voisi käyttää suoraan tuolla onClick:ssä, mutta jälleen kerran en ole edes kääntänyt koodia eikä mitään käsitystä oikeasti...
 
THÄNKS, melkein sain jo toimimaan osittain sinun koodillasi. Suoraan tolla tuo ei toiminut. Tällä sain toimimaan sillain, että painaa nappia kaksi kertaa, niin painaa enteriä. Eli ekalla painalluksella lähtee tekstikentän focus pois ja tokalla painaa enteriä, jolloin viivakoodin takana oleva sivusto aukeaa.

Koodi:
   //Enter testing
        Button buttonClick = (Button) findViewById(R.id.button);
        buttonClick.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
                mWebView.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
           
            }
        });

Edit: Toimimattomuus johtui tuon näppäimen asetuksista. Nyt toimii niin kuin pitää. Toimii myös sinun koodillasi oikein :kippis:
 
Viimeksi muokattu:
Kun ei muut täällä kysele, niin minulla olisi taas kysymys :)

Onko mitenkään mahdollista saada Androidissa tuo, remember password toimimaan. API 18 vielä pitäisi toimia, mutta itse en ainakaan saanut .setSavePassword (true) komennolla toimimaan :think:
 
Viimeksi muokattu:
Onko mitenkään mahdollista saada Androidissa tuo, remember password toimimaan. API 18 vielä pitäisi toimia, mutta itse en ainakaan saanut .setSavePassword (true) komennolla toimimaan :think:

Deprekoituneita juttuja ei yleensäottaen kannata käyttää, joten kannattaa ehkä samantien etsiä eri ratkaisu ongelmaan.

Talleta kirjautumistiedot jotenkin eritavalla ohjelmaasi ja sitten koneellisesti hoida sisäänkirjautuminen itse ... öö ... stack overflowista löytyi "ratkaisu" joka näyttää aika kamalalta, mutta jooh ... http://stackoverflow.com/a/35478889
 
Deprekoituneita juttuja ei yleensäottaen kannata käyttää, joten kannattaa ehkä samantien etsiä eri ratkaisu ongelmaan.

Talleta kirjautumistiedot jotenkin eritavalla ohjelmaasi ja sitten koneellisesti hoida sisäänkirjautuminen itse ... öö ... stack overflowista löytyi "ratkaisu" joka näyttää aika kamalalta, mutta jooh ... http://stackoverflow.com/a/35478889

No, jos unohtais sitte ton salasanan muistamisen. Kiitos kummiskin :)


Edit: Sain toimimaan Enterin myös hardware napista. Jos joku joskus tarvitee vastaava koodia, niin laitanpa sen jakoon. Laitteessa jossa webviewiä käytän, on oma button handler ohjelma. Tästä olen määrittänyt A3 nappulaan menu napin, joten se muuntuu webviewissäni enterin painallukseksi.

Koodi:
 //Hardware enter
    @Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        int action = event.getAction();
        int keyCode = event.getKeyCode();
        switch (keyCode) {
            case KeyEvent.KEYCODE_MENU:
                if (action == KeyEvent.ACTION_DOWN) {
                   //Switch key
                 dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
                }
                return true;
            default:
                return super.dispatchKeyEvent(event);
        }
    }


Mitenkä seuraava koodi pitäs laittaa, että pysyy asetukset koko ajan. Nyt ruutua täpätessä palautuvat näytölle, ja siihen jäävät. Tarkoitus olisi, että pysyisivät piilossa ja vetäsemällä alhaalta tulisivat taas näkyviin.

Koodi:
View decorView = getWindow().getDecorView();
        //Hide the status bar & Soft buttons
        int uiOptions = (View.SYSTEM_UI_FLAG_FULLSCREEN| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
        decorView.setSystemUiVisibility(uiOptions);
        //Status bar
        ActionBar actionBar = getSupportActionBar();
        actionBar.hide();
 
Viimeksi muokattu:
Huhhu, pitkän huhkinnan jälkeen vastaus on tässä. Navigation bar häviää heti, kun näppis menee alas.

Koodi:
//Hide navigation bar/action bar
        final View decorView = getWindow().getDecorView();
        decorView.setOnSystemUiVisibilityChangeListener (new View.OnSystemUiVisibilityChangeListener() {
            @Override
            public void onSystemUiVisibilityChange(int visibility) {
                if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
                    decorView.setSystemUiVisibility(
                            View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                                    | View.SYSTEM_UI_FLAG_FULLSCREEN
                                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
                }
            }
        });
    }

    @Override
    protected void onResume() {
        super.onResume();
        final int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
        final View decorView = getWindow().getDecorView();
        decorView.setSystemUiVisibility(uiOptions);
        ActionBar actionBar = getSupportActionBar();
        actionBar.hide();


    }
}
 
Olen rakentamassa Android sovellusta, joka keskustelee itse tekemäni Web Servicen kanssa. Välissä on kuitenkin tarkoitus autentikoida käyttäjä (käyttäjätunnus ja salasana).

Tämän tyyppiset toimet ovat minulle hieman vieraita, yhtä toista tarkoitusta varten olen suhteellisen simppelin XML sanomilla toimivan Web Servicen toteuttanut, mutta siinä toimii clienttinä Windows sovellus eikä siinä ole ollut tarvetta autentikoinnille perus SSL:n lisäksi.

Olen nyt tällä hetkellä suunnitelmissani sillä kannalla, että hoidan autentikoinnin Auth0:lla, sillä se antaa helposti käyttöönotettavan kirjautumismahdollisuuden. Tämän jälkeen siis appi keskustelisi minun toteuttamani Web Servicen kanssa. Olen nyt saanut kyllä Auth0:n perusteiltaan toimimaan jne., mutta tuli pieni seinä nyt vastaan siinä, mikä on seuraava vaihe? Eli, miten hyödynnän tuon Auth0:n kautta onnistuneesti suoritetun kirjautumisen Web Serviceni kanssa?

Tässä tulee siis vastaan omat rajani tällä hetkellä. JWT (JSON Web Token) on ilmeisesti se juttu mitä tästä saa irti, mutta miten niitä käytetään? Ilmeisesti tuo JWT pitäisi jotenkin sisällyttää jotenkin jokaiseen rajapintakutsuun, jota appi lähettää, mutta miten teen sen validointitarkastuksen server puolella? Vai olenko ihan hakoteillä :)

Kiitoksia avusta jo etukäteen!
 
Miten/millä rajapinta on toteutettu? Hyvällä tuurilla löytyy valmista plugaria JWT/Auth0 autentikointia varten.
 
Miten/millä rajapinta on toteutettu? Hyvällä tuurilla löytyy valmista plugaria JWT/Auth0 autentikointia varten.

Rajapinta tullaan mitä luultavimmin toteuttamaan C++/Qt combolla, mutta ei vielä varmaa. Lähinnä kokemus tuosta painaa vaakakupissa. Tsekkailin itsekin tässä ja ilmeisesti tuo toteutetaan hakemalla Delegation token (https://auth0.com/docs/api/authentication#!#post--delegation) sen jälkeen, kun käyttäjä on kertaalleen kirjautunut sovelluksessa. Tällä tokenilla sitten voidaan validoida ulkoisessa API:ssa käyttäjä.
 
Olis vähän ääkköset hukassa?

phpllä (mysqli_query) kun hakee tietokannassa tavaraa nii äkköset ei enää toimi html sivulla.

html meta on seuraavaa
HTML:
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <meta name="Language" content="fi"/>

ja sql tauluissa
Koodi:
DEFAULT CHARSET=utf8;

setkä sql annettu
Koodi:
SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8';

kokeiltu latin1 myös...

mites heleve....
ChUN0O8.png


edit;

jahas ja tämä ääkkös ongelma ilmenee vain yhden sql taulun kanssa...
muista tauluista tulee ongelmitta ääkköset.
 
Viimeksi muokattu:
En ole nyt hetkeen suoraan MySQL:n kanssa pelehtinyt, mutta ainakin aiemmin piti tuupata `SET NAMES UTF-8`tietokantayhteyden muodostamisen jälkeen, jotta yhteys tietokannan ja koodin välillä käytti UTF-8:aa.

Ja toki jos on hetkenkään ollut tuo poissa, niin kaikki tallennettu tieto on mennyt tauluun tuplakoodattuna UTF-8:na, jonka korjaaminen on Todella Hauskaa, nimim. muutin joskus phpBB2:n käyttämään UTF-8:aa ja tajusin mokani pari vuotta myöhemmin.
 
Viimeksi muokattu:
jahas ja tämä ääkkös ongelma ilmenee vain yhden sql taulun kanssa...
muista tauluista tulee ongelmitta ääkköset.
Enpä ole tällaisten kanssa joutunut puuhailemaan mitään, joten tietoa ei ole, mutta tämän perusteella voisin heittää arvauksen, että siinä yhdessä taulussa ei ole ihan validia UTF-8:a. @Merri tuossa heittikin jo yhden ehdotuksen, mitä on voinut käydä.
 
Nyt kun tarkastelin asiaa nii cmd kautta kun ajaa tietokannan tauluihin dataa nii ääkköset on oikein tietokannassa (ö=ö). Sensijaan phpllä html formista lähetetty data näkyy tietokannassa esim (ö = Ã-).. ja sitten kun tätä dataa tulostelee html sivulle nii tuo tietokannassa oleva Ã- näkyy ö:nä ja tietokannasta vedetty ö näkyy salmiakkina.. elikkä varmaan php joku väärä merkistö käytössä? Mites helvetissä tätä lähetään ratkomaan.. :nb: ku en ite ossaa.
 
Heti new mysqlin jälkeen:
PHP:
$mysqli->set_charset("utf8")

Tämä tekee ilmeisesti saman kuin `SET NAMES UTF8` teki aiemmin, mutta on MySQLi:n kanssa suositeltu tapa hoitaa asia.
 
Onko MySQL edelleen se varteenotettavin vaihtoehto harrasteprojekteihin vai kannattaako perustellusti käyttää jotain muuta?
 
Onko MySQL edelleen se varteenotettavin vaihtoehto harrasteprojekteihin vai kannattaako perustellusti käyttää jotain muuta?

Itse käyttäisin SQLiteä, se kun ei vaadi erillistä tietokantapalvelinta ajoon. Tietty jos on MySQL jos valmiina käytettävissä niin mikäs siinä sitten.
 
Jos pilvenpoltto ei haittaa, niin Contentful vaikuttaa varsin pätevältä tietokannankorvikkeelta, ja tarjoaa samalla valmiita työkaluja sisällön syöttämiseen. Siinä mielessä harrastelijalle hyvä, että vähentää jonkin verran nysväämisen määrää.

Lisäksi vaihtoehtoisina NoSQL-tyylisinä tietokantaratkaisuina kannattanee myös harkita Redistä tai MongoDB:tä. Useampaan erilaiseen tapaan toimia on aina hyvä tutustua (sanoo hän, joka ei ole vielä joutunut kirjoittamaan ainuttakaan Redis- tai MongoDB-kutsua...).

Jos haluaa hostata kohtalaisella hinnalla ja helposti jotain muutakin kuin PHP- ja MySQL-pohjaista sivustoa, niin ainakin WebFaction tekee asennusvaiheesta helpohkon (verrattuna siihen, että hommaa virtuaalipannun ja opettelee kaikki kerrokset itse). Ja sitten jos jaksaa säätää Gitin toimimaan, niin koodin julkaisustakin tulee helpompaa.
 
CouchDB on myös kiva nosql-kanta. Yksinkertainen ja nopea devata. Sopii niin harrasteprojekteihin kuin myös myös tuotantoon. Relaatiokannaksi valitsisin MySQL sijaan just MariaDB:n.
 
ASP.NET MVC 5

Miten muutetaan oletus route? Ohjeistuksissa neuvotaan vain muuttamaan controllerin ja actionin nimi haluamakseen. Eipä tunnu riittävän tämä vaan 404 tulee aina saitin juuresta. Niin ja halutun controllerin oma route kyllä toimii.

Itselleni vastaten. Attribute routeja ja routeconfigia ei pidä sekoitella liikaa keskenään.
 
Viimeksi muokattu:
Taas olisi Ändröidistä kysysmys. Kakkos layeri lataa itsensä uudestaan, kun menen sinne uudestaan. Mienkä tuon saisi niin, että se pysyy siinä mihin jäätiin ennen poistumista. Alla "yritetty" selittää tarkemmin :vihellys:

Ykkös layer-->kakkos layer->palaan ykköseen, ykkönen on siinä mihin jäätiin ennen kakkoseen menoa.

Ykkös layer-->kakkos layer->palaan ykköseen->menen kakkos layeriin. Sivu lataa itsensä uudestaan, eikä ole siinä mihin jäätiin ennen ykköseen palaamista.

Ykkösestä mennään kakkoseen koodilla:

Koodi:
ublic Button button3;

    public void init() {

        button3 = (Button) findViewById(R.id.button3);
        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent toy = new Intent(MainActivity.this, second.class);

                startActivity(toy);

            }
        });
    }

Tällä palataan ykköseen:

Koodi:
   final Button buttonback = (Button) findViewById(R.id.button3);
        buttonback.setOnClickListener(new View.OnClickListener() {
               public void onClick(View v) {
               dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
               dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));





        }
        });
 
Mikäs olis joku järkevä keino vaihtaa konetta ja jatkaa saman projektin koodaamista ilman import/export rumbaa..

Tällä hetkellä eclipsen workspace on onedrive kansiossa, ja tuo paske on koko ajan jossain synkkaus errorissa.
 
Mikäs olis joku järkevä keino vaihtaa konetta ja jatkaa saman projektin koodaamista ilman import/export rumbaa..

Tällä hetkellä eclipsen workspace on onedrive kansiossa, ja tuo paske on koko ajan jossain synkkaus errorissa.

Niinkun tuossa jo kerrottiinkin niin varmaan kannattaa oikea versiohallinta valjastaa. GitHubin lisäksi on toki vaikka bittisoikko ( BitBucket ) joka integroituu hienosti muihin atlassianin kilkkeisiin, eritoten Source Treehen. Suosittelen lämpimästi.
 
Niinkun tuossa jo kerrottiinkin niin varmaan kannattaa oikea versiohallinta valjastaa. GitHubin lisäksi on toki vaikka bittisoikko ( BitBucket ) joka integroituu hienosti muihin atlassianin kilkkeisiin, eritoten Source Treehen. Suosittelen lämpimästi.

Näiden lisäksi on myös GitLab (https://gitlab.com/) jota käytän itse henkilökohtaisissa ja muissa kuin open-source projekteissa, koska se tarjoaa mm. loputtomat ilmaiset privarepot ja ilmaiset docker containerit automaattiseen integraatiotestaus- ja deploymentkäyttöön (CI & CD). Edellisissä on Bitbucketissa jäsenrajoitus jota Gitlabissa ei ole, ja Githubissa ovat maksullisia, kun taas jälkimmäisiä Github ei viimeisimmän tietoni mukaan tarjoa ollenkaan ja Bitbucketilla ovat maksullisia (Bitbucket pipelines).

Niin ja Gitlabissa on integroituna myös mm. kanban, joka on toki huomattavasti yksinkertaisempi kuin JIRA, mutta riittää mainiosti pienille projekteille (ja on ehkä myös parempi niihin yksinkertaisuutensa vuoksi). Lisäksi myös "Protected branches"-ominaisuus, jonka avulla lukittu branch on suojattu poistamiselta, force pusheilta ja sen käyttöoikeudet voi rajoittaa käyttäjätasojen mukaan.
 
Viimeksi muokattu:
Mikäs olis järkevä tapa nimetä output dataa javalla?

Jos tilanne olis se että haluan tallentaa pari erillaista olio listaa tiedostoon.
Saanko nimettyä nuo jotenkin fiksusti ja tukittua samaan tiedostoon, vai tallennanko suoraan omiin tiedostoihin ja nimeän ne?
 
Mikäs olis järkevä tapa nimetä output dataa javalla?

Jos tilanne olis se että haluan tallentaa pari erillaista olio listaa tiedostoon.
Saanko nimettyä nuo jotenkin fiksusti ja tukittua samaan tiedostoon, vai tallennanko suoraan omiin tiedostoihin ja nimeän ne?

Nyt inan hukkuu punainen lanka tässä. Mitä nimeämisellä on tekemistä minkään kanssa? Pistä nimeksi vaikka listaOlioista.dat :) Onko tässä nyt termistö hukassa vai enkö vaan ymmärrä mitä halutaan.. Ts. saatko yhtään avattua kysymystä enempi?

Lisäksi jos oliot pötkötetään tiedostoon binäärimuodossa niin kai nimeämisellä on vielä vähemmän väliä? Katsot vaan että saat luettua ne sieltä sisään ja tulkattua takas kokonaisiki olioiksi. Jos tekstitse niin voisi harkita vaikka JSON, taikka XML -rakenteeseen käärimistä jos vähänkään monimutkaisemmasta rakenteesta kysymys.
 
Nyt inan hukkuu punainen lanka tässä. Mitä nimeämisellä on tekemistä minkään kanssa? Pistä nimeksi vaikka listaOlioista.dat :) Onko tässä nyt termistö hukassa vai enkö vaan ymmärrä mitä halutaan.. Ts. saatko yhtään avattua kysymystä enempi?

Lisäksi jos oliot pötkötetään tiedostoon binäärimuodossa niin kai nimeämisellä on vielä vähemmän väliä? Katsot vaan että saat luettua ne sieltä sisään ja tulkattua takas kokonaisiki olioiksi. Jos tekstitse niin voisi harkita vaikka JSON, taikka XML -rakenteeseen käärimistä jos vähänkään monimutkaisemmasta rakenteesta kysymys.

On varmaan termistökin hukassa, mutta idea on tallentaa listat olioista a,b ja c!
Miten tuo olisi kaikista järkevin hakea takaisin nimellä a b tai c? Luomalla noista yksi tiedosto ja käydä läpi koko data ja poimia sieltä haluttu lista, vai luoda listoista omat tiedostot ja hakea vain halutun listan tiedosto?
 
On varmaan termistökin hukassa, mutta idea on tallentaa listat olioista a,b ja c!
Miten tuo olisi kaikista järkevin hakea takaisin nimellä a b tai c? Luomalla noista yksi tiedosto ja käydä läpi koko data ja poimia sieltä haluttu lista, vai luoda listoista omat tiedostot ja hakea vain halutun listan tiedosto?
Haluatko serialisoida oliot vai kirjoittaa niiden sisällöt tekstinä tekstitiedostoon? Tuossa Melkein tuore, vain 5v vanha, suomeksi oleva koodi serialisointiin. Ohjelmointiputka: Keskustelu: Java: Olioiden tallennus tiedostoon
 

Statistiikka

Viestiketjuista
257 646
Viestejä
4 479 950
Jäsenet
73 963
Uusin jäsen
jej2

Hinta.fi

Back
Ylös Bottom