понеділок, 7 вересня 2015 р.

Параноїдальне програмування на Java

Як програмувати, щоб допускати менше помилок при програмуванні - ціла наука з якої виросли патерни і ряд нових віянь у Java як то Generics. Проте помилки на зразок випадкового небажаного присвоєння зустрічаються доволі часто. Хороша стаття як програмувати, щоб допускати менше помилок:



Особливо мені сподобалось, щоб уникнути випадкового присвоєння в умовах, краще ставити на перше місце літерал, а змінну на друге (5==variable), таким чином забувши написати замість подвійного дорівнює одинарне, зразу ж помилка буде локалізована. Інструкція присвоєння за любих умов не спрацює.:) Власне поради корисні не тільки Java програмістам.

Роберт Чалдині - Психологія впливу

Думаю усі стикалися з «попрошайками», які якимось чином умудрялися вибити якусь подачку з вас, навіть якщо ви не любити їм давати чи з продавцями які умудрялися продати вам щось за завищеною ціною чи взагалі непотрібну вам річ, а можливо з когось шахраї видурювали і справді значну суму. Якщо комусь цікаво як вони це роблять, то книга Роберта Чадлині «Психологія Впливу» саме для таких людей. Наткнувся я на книгу у книгарні «Є».  Доволі непогана науково-популярна книга і головне легко читається. 366 сторінок здолав я менше ніж за два дні. Крім того автор не просто описує якісь спостереження чи випадки з життя, а й вказує на ґрунтовні наукові дослідження базовані на експериментах з набором відповідної статистики.
Дещо з того що запам’яталось найбільше:

неділя, 26 липня 2015 р.

Великі дані (Big data)

Великі дані (Big data) - це просто величезна складна сукупність даних різноманітної природи. Вони складаються із структурованих і неструктурованих даних та ростуть так швидко, що з ними не справляються ніякі звичні системи управління базами даних та статистичні засоби.

Великі дані характеризуються:
- варіабельністю (великим різноманіттям, Variety)
- об’ємом (volume) - просто колосальні розміри даних з якими не справиться жоден комп’ютер
- інтенсивним ростом (velocity) - дані зростають колосально не те що щорічно чи щомісячно, а щоденно

неділя, 19 липня 2015 р.

Класи та об’єкти (відмінювання слів)

При описуванні класів та об’єктів необхідно знати як слова "клас" та "об’єкт" відмінюються в українській мові (я особисто з об’єктом до цих пір плутаюсь:) ):


клас - іменник, чоловічий рід, неістота, II відміна
відмінокоднинамножина
називнийкласкласи
родовийкласукласів
давальнийкласові, класукласам
знахіднийкласкласи
оруднийкласомкласами
місцевийна/у класіна/у класах
кличнийкласекласи


об'єкт - іменник, чоловічий рід, неістота, II відміна
відмінокоднинамножина
називнийоб'єктоб'єкти
родовийоб'єктаоб'єктів
давальнийоб'єктові, об'єктуоб'єктам
знахіднийоб'єктоб'єкти
оруднийоб'єктомоб'єктами
місцевийна/у об'єктіна/у об'єктах
кличнийоб'єктеоб'єкти


Джерело: www.slovnyk.ua

пʼятниця, 10 липня 2015 р.

Eclipse Mars та Lingvo x3

Оскільки своїми експериментами я довів Eclipse Luna до того, що вже відмовляється звертатися до власного офіційного репозиторію і відмовляється коректно встановлювати плагіни. Вирішив настав час переїзджати на Марс (Тобто поставити Eclipse JEE Mars). Поставив і .... не запускається. Оскільки уже були колись у мене проблеми з запуском NetBeans та JDeveloper (див: JVM creation failed та WindowBuilder Error: Unhandled event loop exception), тож зразу ж вигрузив ABBY Lingvo X3 і чудо сталося: усе запрацювало і я у всій красі побачив Марс:).

Мабуть пора обновити Lingvo до новішої версії, щоправда NetBeans, здається, чи це був JDeveloper не бажав запускатися і при відкритих PDF у Acrobat Reader.

PS. Цікаво, що з написання: WindowBuilder Error: Unhandled event loop exception пройшов майже рік без одного дня:))))

середа, 10 червня 2015 р.

Панель прокрутки JScrollPane

Для того щоб реалізувати прокручування вмісту існує клас JScrollPane (Scroll Pane можна перекласти як панель прокрутки). JScrollPane дозволяє в разі наявності вмісту для прокручування додати вертикальну та горизонтальну смуги прокрутки (англ. scrollbars), з якими добре знайомий кожен користувач комп'ютера. Додавання прокрутки здійснюється доволі просто. Достатньо лише при створенні екземпляру JScrollPane вказати для якої компоненти потрібні додати смуги прокрутки. Після чого панель прокрутки (а не компоненту!) додаємо у відповідний контейнер. Наприклад оточити текстову область смугами прокрутки, можна таким чином:

четвер, 5 лютого 2015 р.

Андроїд - не лінукс і джава - не джава


Короткі замітки і коментарі по 3- му розділу книги "Learning Android", 2-nd Edition by Marko Gargenta and Masumi Nakamura (2014). Думаю написати їх по кожному розділу (якщо вистачить духу). Можливо, колись такі замітки переростуть у щось більше.

Android - не Linux, проте є надбудовою над kernel. Так пишуть автори, хоча б я сказав би, що Android - це Linux, який спочатку обрізали, а потім доповнили новими можливостями :) Зокрема, у андроїда відсутні:

понеділок, 2 лютого 2015 р.

Конект до vmware з іншого комп’ютера

Тож: є два комп’ютери (ноутбук та нетбук). На нетбуці у віндовз встановлено віртуальну машина  VMware (Android). При чому з’єднання іде напряму з одного комп’ютера до іншого по Ethernet кабелю без посередництва якогось комутатора. Ідея в тому, щоб використовувати дану віртуальну машину для зневадження/наладгодження програм.  Тобто, на ноутбуці іде робота з eclipse, а перевірка роботи програм іде не на емуляторі (який тормозить комп’ютер), а на віртуальній машині. З віртуальною машиною як на мене легше працювати, але вона також нагружає комп'ютер, коли працювє разом з eclipse. Непогано б перевіряти програму на іншому комп'ютері. Для цього vmware було встановлено на нетбуці.

Пред початком, я на одному і другому комп’ютері (windows XP) налаштував з’єднання (IP1: 192.168.0.20, IP2:192.168.0.21(нетбук), Mask:255.255.255.0). Тож, міні-мережа була налаштована.

Теоретично мало б бути так: