Big Chimpin!
Avatar

Serg

Vcard Download vCard   what is this?
Rss_icon

Recent Activity


Filter by:
All
  • Помилки з крона на імейл

    Роблю маленьку заміточку для себе.
    Коли потрібно щоб всі помилки з крона (cron) відправлялись на мило (mail) – то достатньо прописати на початку крона такий рядок:

    MAILTO=sergunik@mail.ua

    І тепер всі ерори, які полізуть з крона – будуть відправлені на мило :)

    23 days on
    Sergunik
  • Вітаю з Новим 2012-м роком!

    Вітаю усіх з прийдешнім Новим 2012-м роком!

    рік дракона

    Бажаю всім, щоб в наступному році були настільки афігенні події, що було б весело згадати, але соромно своїм дітям розказувати :)
    Цілуйтесь частіше і про бекапи не забувайте!

    Ну і, як завжди, розкриваю тєму сісєк в новорічному відео :)

    А ти вже приготував подарунки своїм рідним і друзям?

    28 days on
    Sergunik
  • IT-дівчата (фото-конкурс)

    І знову конкурс :)
    Цього разу маємо фото-конкурс “IT-дівчата“!

    • Ти айтішник і маєш дівчину? – завантужуй її фото.
    • Ти дівчина-айтишниця? – присилай своє фото.
    • Не маєш дівчини, але в тебе красива співробітниця зі знанням Linux? – пришли її фотку.
    • В тебе красива сестричка, мама, бабуся або сосідка? – хм… ну можеш і їхні фото прислати :)

    Умови фото-конкурсу:
    Фото потрібно відправити на мій імейл Sergunik@ua.fm.
    Тема листа: “конкурс ІТ-дівчина”.
    В листі потрібно вказати: Свій нікнейм, нікнейм або ім’я дівчини на фото, і ще можеш додати пару слів, які будуть написані біля фото.

    Вибір переможця:
    Кожен може проголосувати за фото натиснувши кнопку “Tweet” (твітнути).
    Перемагають учасник з максимальною кількістю твітів (голосів).

    Призові місця:
    1-е місце – 150 грн.
    2-е місце – 50 грн.
    3-є місце – 15 грн.

    Терміни:
    Конкурс триває з 28.11.2011 по 13.02.2012 включно, (тобто до дня св. Валентина).

    Додаткові умови:
    Якщо на фото буде розкрита тєма сісєк – від мене получаєте бонус “+10 голосів” :)
    Винагороду можна буде получити через webmoney, або на мобільний рахунок (за бажанням).
    Чітерів буду наказувати!

    Учасники

     

    Результати

    1-е місце – …
    2-е місце – …
    3-є місце – …

    2 months on
    Sergunik
  • Покупка фотіка онлайн

    Місяць тому назад вирішив собі купити фотоапарат. Але не новий, а б/у.

    NIKON D90 + tamron 17-50 f/2.8

    І як виявилось, найкраще місце для оголошень – vk.com!
    За кілька днів пошуків – знайшлося кілька продавців.
    І вже через тиждень – я став володарем афігенного гаджета NIKON D90 зі скельцем tamron 17-50 f/2.8 :)
    Причому за досить вигідною ціною.

    2 months on
    Sergunik
  • Модальні вікна в JAVA ч.6

    Стикнувся з ситацією, коли потрібно вивести модальне вікно в аплеті. Тобто таке вікно, яке чекає відповіді і реакції від юзера, і вже після цього пускає в основний аплет.
    Після викурених мануалів зрозумів, що звичайний фрейм (JFrame) – не рулить, і треба юзати діалоги (JDialog).

    Отже, результат вглядає так:

    package test;
    
    import java.awt.Dialog.ModalityType;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.*;
    
    public class Test {
    
        private JFrame jf;
    
        public Test() {
            jf = new JFrame("Modal window");
            jf.setLayout(null);
    
            jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            jf.setSize(600, 400);
            jf.setLocationRelativeTo(jf);
    
            JButton btn = new JButton("Open modal window");
            btn.setBounds(200, 150, 200, 50);
    
            btn.addActionListener(new ActionListener() {
    
                @Override
                public void actionPerformed(ActionEvent ae) {
                    openModalWind();
                }
            });
    
            jf.add(btn);
    
            jf.setVisible(true);
        }
    
        public void openModalWind() {
            JDialog jd = new JDialog(jf, "Modal window", ModalityType.DOCUMENT_MODAL);
            jd.setSize(400, 200);
            jd.setResizable(false);
            jd.setLocationRelativeTo(jf);
    
            JLabel jdl = new JLabel("This is our modal window");
            jdl.setHorizontalAlignment(JLabel.CENTER);
            jd.add(jdl);
    
            jd.setVisible(true);
        }
    
        public static void main(String[] args) {
            new Test();
        }
    }
    
    2 months on
    Sergunik
  • Java & mySQL (в картинках) ч.5

    Кілька годин потратив на підлючення до Бази Даних mySQL.
    І нарешті законектився :)

    Отже, розписую детальний мануал, як підключити Java до Бази Даних mySQL.

    Для початку нам потрібна тестова база:

    CREATE DATABASE `jtest` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    І табличка:

    CREATE TABLE `jtest`.`users` (
        `Id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
        `Login` VARCHAR(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
        `Pass` VARCHAR(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
    ) ENGINE = MYISAM;

    Заповнимо табличку значеннями:

    INSERT INTO `jtest`.`users` (`Id`, `Login`, `Pass`) VALUES
    (1, 'Sergunik', 'qwerty'),
    (2, 'Сергуник', 'йцукен');

    create database and table in mysql



    Ідемо на сторінку http://www.mysql.com/downloads/connector/j/ і скачуємо конектор MySQL Connector/J

    download connector j


    Нас цікавить тільки один файл mysql-connector-java-5.1.18-bin.jar

    Тепер переходимо до Java.

    Створюємо в NetBeans новий проджект (my_first_db).

    create new project in NetBeans

    Далі, наш проект (my_first_db) -> Properties -> Libraries
    Потрібно додати до нашого проекту конектор.
    Тут є 2 можливих варіанти:
    1) додаєм скачаний конектор

    select in Netbeans connector from jar



    2) або підключити конектор, який вже є в NetBeans

    select connector from library



    Підключили, тепер можна писати код.

    Підключення до БД:

    private void Connector() throws SQLException {
        String db_host = "localhost";
        String db_login = "root";
        String db_pass = "root";
        String db_base = "jtest";
    
        String url = "jdbc:mysql://"+db_host+"/"+db_base;
        conn = DriverManager.getConnection(url, db_login, db_pass);
    }

    Зчитуванння рядків:

    public void getter() throws SQLException {
        String query = "SELECT * FROM `users`";
    
        Statement mySt = conn.createStatement();
    
        ResultSet res = mySt.executeQuery(query);
    
        while(res.next()) {
            rows[0] = res.getString("Id");
            rows[1] = res.getString("Login");
            rows[2] = res.getString("Pass");
    
            System.out.println("Row: " + rows);
        }
    }

    Готово.

    Результат:

    listing code for getting rows from mysql


    Запускаєм (F6).
    В Outputі бачимо результат:

    output

    З кирилицею проблеми :(
    Солюшн:

    String url = "jdbc:mysql://" + db_host + "/" + db_base + "?useUnicode=true&characterEncoding=UTF-8";

    Готово. Тепер все працює :)

    correct output



    Скачати код можна тут

    2 months on
    Sergunik
  • Конкурс блогів (BUBA 2011)

    Буду усім вдячний за підтримку мого блога в Конкурсі українських блогів BUBA 2011.

    2 months on
    Sergunik
  • Конвертер unixtime в Java ч.4

    Продовжуєм вивчення Java.

    В пошуках тренувального завдання вирішено було зробити конвертер дати і часу.

    Отже, задача:

    Написати application, за допопогою якого можна конвертувати юнікс-час в людський вигляд і навпаки.

    Результат:

    converter's interface




    Основна логіка, якого закладена в методі convert()

    @Action
    public void convert() throws NumberFormatException {
    
       String s_unixtime = (String)jTextField1.getText();
       Integer unixtime = 0;
       try {
          unixtime = Integer.parseInt(s_unixtime);
       } catch(NumberFormatException e) {
          //must be some excaption
       }
    
       String gmt = (String)jComboBox1.getSelectedItem();
    
       String format = (String)jComboBox2.getSelectedItem();
    
       SimpleDateFormat formatter = new SimpleDateFormat(format);
       String date = formatter.format(new Date(unixtime*1000L));
    
       jTextField2.setText(date);
    
    }

    Тут не реалізована зміна часових поясів і зворотня конвертаці (з людської форми в юнікс-час). Це і буде домашнім завданням :)

    Скачати конвертер з усім кодом можна тут


    4 months on
    Sergunik
  • Скайп вже не зависає

    Знайшов вирішення проблеми зависання в лінуксовому скайпі (Ubuntu 11.04, Gnome 2, Skype 2.2).

    skype, linux

    skype

    Інколи скайп тупо залипає (sticky), каже, що всі в онлайні і все вроді нормально, але жодного повідомлення не відправляє і не получає.

    Приходиться вирубати всі його процеси і запускати знову.

     

    Але є вирішення проблеми:

    Виявляється, це проблема зі звуком :)

    Ідемо в настройки і вирубаємо звукові сповіщення (notifications) для повідомлень. А ще краще виключити всі звуки в скайпі.

     

    Зробив це, і вже тиждень скайп жодного разу не глючив.

    4 months on
    Sergunik
  • Куди поділась швидкість Java? (день третій)

    Ну ось моє перше розчарування в Яві :(

    Вирішив помірятись піськами швидкостями з іншими мовами: php і Perl.


    Накинув простенький код для генерації пароля:

    package generator;
    
    public class Generator {
    
        public void gen(int max) {
    
            int digit[] = new int[10];
            int n = digit.length;
            for (int i = 0; i < n; i++) digit[i] = i;
    
            String pass = "";
            int size = digit.length;
    
            double start = System.nanoTime();
            while (max-- > 0) {
                pass += digit[(int)(Math.random()*size)];
            }
    
            double diff = (System.nanoTime() - start) / 1000000000;
            System.out.println(diff);
        }
    
        public static void main(String[] args) {
    
            new Generator().gen(100000);
    
        }
    }

    запустив, і зрозумів, що хтось когось наєбав :(

    Швидкість виконання цього скрипта 30-40 сек, причому аналогічний скрипт в php чи perl виконується за долю секунди.

    Висновок: вчимо далі Java і удосконалюємось :)

    Доречі, ось цей самий jar-файл

    4 months on
    Sergunik
  • У мене 100 публікацій

    Ось він – ювілейний, 100-й пост!!!

    anniversary 100

    100 публікацій

    Від дня народження блога пройшло вже 2.5 роки, і наразі маємо аж 100 публікацій.



    За весь час існування блога, у лідери вибились десяток постів, які найбільш популярні.
    Згідно статистики від гугла – це:

    1. Який в тебе робочий стіл?
    2. База Даних Українців
    3. Безкоштовні смс (Київстар)
    4. Як вивести гроші з WebMoney?
    5. Карточна гра “Дурак” на PHP5
    6. Парсер на PHP
    7. Взлом flash ігор
    8. Бот для онлайн гри (moswar)
    9. білий список каталогів для SEO
    10. PHP, робота з картинками

    Як бачимо, найпопулярнішим був конкурс робочих столів. Тому чекайте новий конкурс :) Підписуйтесь на rss-новини, щоб слідкувати за оновленнями.

    Також відмічу кілька публікацій, які були найбільш обговорювані в коментах:

    1. Карточна гра “Дурак” на PHP5
    2. Який в тебе робочий стіл?
    3. Апдейт PR
    4. білий список каталогів для SEO
    5. Акція: 50$ блогеру

    Всім дякую за увагу :)

    4 months on
    Sergunik
Next page