вівторок, 31 березня 2020 р.

Java vs Python

Так склалось, що останнім часом багато працюю з аналізом даних на Python. Попередньо опробував Matlab та R, після яких перейти на Python не склало взагалі ніяких проблем. Проте досвіду в програмуванні у мене все таки більше на Java, тому тут опишу Python з точки зору Java програміста. Нічим не хочу образити Python програмістів, просто погляд з під дещо іншим фокусом. Python потужна, просто освоювана мова програмування, з деякими недоліками, які втім не заважають конкурувати з іншими мовами програмування і з Java зокрема.

Динамічна типізація - жах Java програміста:-). Перше, що  впадає в очі це динамічне перетворення типів і відсутність контролю за типами змінних, що передаються у функції. В java  ти явно маєш вказувати тип і приведення до інших типів даних (крім деяких винятків). Крім того в Java при передачі змінної у функцію(метод) автоматично іде перевірка на відповідність типу змінної сигнатурі методу ще на етапі компіляції. В Java, щоправда, існує можливість написати універсальний метод, який прийматиме будь-який тип або ж якусь групу типів, але це необхідно явно вказати при оголошенні методу. Pyhon старається все робити автоматично і у функцію можна передати будь-який тип. Тому часто різноманітні функції з популярних модулів для аналізу даних Python "матюкаються" на те, що вони не можуть працювати з певним типом даних під час виконання програми (інколи з тієї інформації, що видає функція не завжди і зрозуміло в чому причина помилки). Методом проб і помилок приходиться здійснювати перетворення у відповідний тип власноруч.

вівторок, 24 березня 2020 р.

Засіб для роботи з базами даних DBeaver


DBeaver Community Edition– безкоштовний графічний інструмент для роботи з такими базами даних як MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Apache Hive, Phoenix, Presto, etc. Платна версія DBeaver Enterprise Edition також може працювати з noSQL базами даних.

Щодо плюсів то можу сказати, що як засіб роботи з готовою базою даних DBeaver доволі зручний. Тут можна переглянути ER діаграму бази даних, написати скрипт і запустити SQL  запити з переглядом їх результатів, редагувати дані в таблицях і отримувати деякі статистичні показники по стовпчиках як то середнє, мода, сума. В платній версії є можливість побудови стовпчикових діаграм.

неділя, 22 березня 2020 р.

Коротко про MongoDb (noSQL)


MongoDb  - документоорієнтована нереляційна база даних. Якщо реляційні бази даних зберігають дані у вигляді взаємопов’язаних таблиць, то MongoDb зберігає дані у вигляді документів/об‘єктів у спеціальному JSON форматі. Наприклад один документ про особу може виглядати так:

{   
    "_id" : ObjectId("15"),
    "name" : "Mike",
    "age" : 45,
    "email" :
     "newem@ukr.net"
}