Loading [MathJax]/extensions/Safe.js

Yks' pyöräilijä

Eli opetus≫

July 1, 2014
by Markku Leino
0 comments

Eclim; Hello World

Eclim on Eclipseen pohjautuva vi:n alla pyörivä IDE. Kokeillaan sitä Javaan. Asennus on helppoa; siitä jossain muualla.

Projektin luonti

Tehdään ohjelma, mikä kirjoittaa “Hello World”:n yhdellä tiedostolla. Vi(m) käyntiin ja käskyä kehiin

1
:ProjectCreate /user/markku/Java/HelloWorld -n java

Eclim tekee polun (/user/markku/Java/HelloWorld), jos sitä ei ollut olemassa.
Projektin juureen tuli .project -tiedosto, jossa on xml-muodossa projektin tietoja. Java-optio generoi myös .classpath-tiedoston, joka sisältää tiedostot ja kirjastot.

Tiedostojen tuominen

Ohjelmointiprojektin tiedostot pitää ilmoittaa Eclim:lle, jotta se osaa käyttää niitä. Ne ovat .classpath-tiedostossa. Siis avataan se

1
:e /home/markku/Java/.classpath

Polku voi olla suhteellinen; pelkkä

1
:e .classpath

voi toimia. HelloWorld-ohjelman tiedostot tallennetaan hakemistoon nimeltä src/java, joten lisätään se .classpath-tiedostoon:

1
:NewSrcEntry src/java

jolloin tiedosto näyttää tältä:

1
2
3
4
5
6
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  <classpathentry kind="output" path="bin"/>
  <classpathentry kind="src" path="src/java"/>
</classpath>

Java-koodin lisääminen

Koodi laitetaan hakemistoon src/java ja nimien kanssa pitää olla tarkkana. Jos tehdään luokka HelloWorld, niin tiedoston nimen pitää olla sama, HelloWorld.java. Vi:llä siis tiedosto auki (se kannattaa avata terminaalissa)

1
mkdir -p /home/markku/Java/HelloWorld/src/java

ja

1
vim src/java/HelloWorld.java

Siihen dumpataan

1
2
3
4
5
6
7
public class HelloWorld
{
  public static void main(String[] Args)
  {
    System.out.println("Hello World");
  }
}

Käskyllä

1
:Java

Eclim kääntää koko roskan ja näyttää vielä ulostulonkin. Toiminee. Lopussa löytämiäni ongelmia ja ratkaisuja.

Eclim-täydennys

Kuten Eclipse, Eclim osaa täydentää ja näyttää virheet jne. Tässä esimerkki. Jos koodissa lukeekin vain System., niin Eclim antaa controll-X ja controll-U painelemalla

1
2
3
4
5
6
7
System.<ctrl-x><ctrl-u>             // Täydennysmoodi
System.<ctrl-n>                     // Seuraava
System.out                          // Valittu
System.out.p<ctrl-x><ctrl-u>        // Täydennys uudestaan
System.out.p<ctrl-n>                // Painele <ctrl-n>
System.out.println(
System.out.println("Hello World");  // kirjoita loppuun.

Virheilmoja

  • Yksi virhe tuli, kun .classpath-tiedostossa oli yksi kind=”src”-rivi liikaa.
  • packages. . Ei löydy world.HelloWorld -main classia.

June 23, 2014
by Markku Leino
0 comments

Tietokanta Javaan

Ubuntulla. Asenna Java, asenna JDBC-ajurit

1
sudo apt-get install libmysql-java

Tsekkaa polku; yhdelle käyttäjälle suoraan

1
export CLASSPATH=$CLASSPATH:/usr/share/java/mysql-connector-java.jar

Lyhyt koodi tsekkaamiseen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.sql.Connection;
import java.sql.DriverManager;
  
class JDBCTest {
  
    private static final String url = "jdbc:mysql://localhost";
    private static final String user = "username";
    private static final String password = "password";
    public static void main(String args[]) {
        try {
            Connection con = DriverManager.getConnection(url, user, password);
            System.out.println("Success");
  
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Kopsattu

Setting Up MySQL/JDBC Driver on Ubuntu

May 7, 2014
by Markku Leino
0 comments

Videoon tekstitys

Mencoderilla taas timelapsevideo, johon tekstitys .srt-muodossa:

1
mencoder timelapse.ogg -oac copy -ovc lavc -sub tekstitys.srt -subfont-text-scale 3 -subcp UTF8 -o video.ogg

Optiota:

  • subfont-text-scale 3: skaalaa tekstiä 3:een
  • subcp UTF-8: tekstitys.srt:n merkistökoodaus

Tekstitiedoston formaatti on

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1
00:00:0,500 --> 00:00:3,000 X1:63 X2:223 Y1:43 Y2:58
<i>Robokerhon vappu</i>
 
2
00:00:3,100 --> 00:00:6,000 X1:53 X2:303 Y1:438 Y2:453
<font color="cyan">Musiikkiesitystä</font>
 
3
00:00:6,500 --> 00:00:11,000 X1:53 X2:303 Y1:438 Y2:453
<font color="cyan">Robotteja takapöydällä</font>
 
4
00:00:11,500 --> 00:00:12,000 X1:53 X2:303 Y1:438 Y2:453
<font color="cyan">Peukku</font>
 
5
00:00:15,500 --> 00:00:22,000 X1:53 X2:303 Y1:438 Y2:453
<font color="cyan">Esityksiä\"a</font>
 
6
00:00:22,500 --> 00:00:24,000 X1:53 X2:303 Y1:438 Y2:453
<font color="cyan">Yhteislaulu</font>
 
7
00:00:24,500 --> 00:00:27,000 X1:53 X2:303 Y1:438 Y2:453
<font color="cyan">Robottien esittelyä</font>

font color ei toiminut; paikkoja X1, X2; Y1 ja Y2 en kokeillut muuttaa. Ajat toimii hienosti.

April 26, 2014
by Markku Leino
0 comments

Logo videoon

Laitetaan vielä videoon png-logo

1
ffmpeg -i input.avi -vf "movie=logo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10[out]" output.flv

Samassa rytäkässä vielä muutti sen flv-muotoon.

Html5-standardi ei tukenut flash (flv)-videoita, joten se kannattaa muuttaa avoimeen .ogg-standardiin. Samalla käskyllä, muuta vain .flv .ogg:ksi.

css.php