середа, 29 жовтня 2014 р.
четвер, 16 жовтня 2014 р.
Для чого освіта?
Цікаві дані, які я зустрів в книзі "Статистика для Чайников". Книга хороша для початківців, але в російському перекладі є проблема із шрифтами: грецькі букви не були добре надруковані, що дещо унеможливлює нормальне читання тих частин тексту, де ідеться про формули з грецькими літерами. Щоправда формули там не такі вже й важливі, переважно елементарні і їх доволі мало. Мене вона зацікавила передусім цікавим викладом матеріалів та великою кількістю ілюстрацій. Ось один з цікавих графіків про залежність зарплати в США від рівня освіти.
Як видно з графіка, що чим кращий рівень освіти тим вища зарплата. Щоправда, не забуваємо, що це все в середньому. Цілком може людина без вищої освіти, при певних здібностях і відповідному характеру заробляти набагато більше ніж більшість людей з вищою освітою. Проте в середньому чим краща освіта тим більше ви можете заробляти. На тим кращі посади та зарплати ви можете претендувати із меншою кількістю зусиль ніж люди з нижчим рівнем освіти. Навіть якщо людина лише протирала штани в інституті, усе рівно щось та відкладалось в голові, як мінімум в неї більший кругозір. Звичайно диплом не гарантує успіху, але це хороший старт. Усе решта залежить від реальних знань, персональних якостей та цілей в житті.
Як видно з графіка, що чим кращий рівень освіти тим вища зарплата. Щоправда, не забуваємо, що це все в середньому. Цілком може людина без вищої освіти, при певних здібностях і відповідному характеру заробляти набагато більше ніж більшість людей з вищою освітою. Проте в середньому чим краща освіта тим більше ви можете заробляти. На тим кращі посади та зарплати ви можете претендувати із меншою кількістю зусиль ніж люди з нижчим рівнем освіти. Навіть якщо людина лише протирала штани в інституті, усе рівно щось та відкладалось в голові, як мінімум в неї більший кругозір. Звичайно диплом не гарантує успіху, але це хороший старт. Усе решта залежить від реальних знань, персональних якостей та цілей в житті.
вівторок, 9 вересня 2014 р.
Патерн «Фабрика»
Вирізка із книги "GoF Design Patterns - with examples using Java and UML2" by: Benneth Christiansson (Ed.) Mattias Forss, Ivar Hagen, Kent Hansson, Johan Jonasson, Mattias Jonasson, Fredrik Lott, Sara Olsson, and Thomas Rosevall. License: Creative Commons Attribution-ShareAlike 3.0 License.
Визначення
Патерн Фабрика (Factory Pattern) надає шлях використання екземпляру як об’єктну фабрику. Фабрика може повертати екземпляр одного з декількох можливих класів (у ієрархії класів), в залежності від заданих даних.
Де використовується:
Визначення
Патерн Фабрика (Factory Pattern) надає шлях використання екземпляру як об’єктну фабрику. Фабрика може повертати екземпляр одного з декількох можливих класів (у ієрархії класів), в залежності від заданих даних.
Де використовується:
- Коли клас не може передбачити, який об’єкт, якого класу потрібно створити
- Ви хочете вказати, екземпляр якого клас хочете створити
- Коли ви маєте класи, які походять від одних і тих же класів, або ж класи, які ділять один інтерфейс. Тобто, методи у екземплярів цих класів одні і ті ж самі і можуть використовуватися взаємозамінно.
- Коли ви хочете ізолювати клієнта від актуального типу, що ініціалізується.
середа, 27 серпня 2014 р.
Отримуємо шлях до файлу в кирилиці
Є виконуваний jar файл, поряд з ним у каталозі є підкаталог у якому є файл help.txt. Необхідно запустити jar файл і при виборі із меню пункту "Help" запустити файл help.txt.
Тож все це робиться так:
Тож все це робиться так:
File currentJavaJarFile = new File (Test.class.getProtectionDomain() .getCodeSource().getLocation().getPath()); String path=currentJavaJarFile.getParent(); String comand="notepad.exe " + path+"\\Resources\\help.txt"; Runtime.getRuntime().exec(comand);
Проте як виявлось усе працює правильно, якщо шлях до файлу латинськими літерами. Як тільки у шляху з'являється кирилиця, видає помилку знаходження файлу.
Отримати правильно шлях допоможе UrlDecoder:
currentJavaJarFile=new File(java.net.URLDecoder.decode( (Test.class.getProtectionDomain().getCodeSource() .getLocation().getPath()).toString() , "UTF-8"));
get path with cyrillic
вівторок, 26 серпня 2014 р.
Вибір подальшого шляху (MindMap)
Написанню даної замітки посприяла стаття "Роздоріжжя навколо нас".
Постійно приходиться нагадувати собі що головне, а що другорядне. Хочеться багато чого освоїти, проте реально приходиться зосереджуватися на найбільш актуальному і потрібному для себе в даний час. Вирішив якось промалювати свою інтелект карту в яких напрямках рухатись дальше. В результаті вирішив що краще розділити на декілька невеличких, але основних. У мене вийшло аж 4 основні інтелект карти: Англійська, Математика, Програмування, Java (як підкарта програмування). У перших трьох розгалужень не так і багато, а ось Java вийшла доволі розкішна:) Постарався представити те що я освоїв, але ще варто закріпити знання, або уже почав освоювати, або збираюсь освоїти найближчим, або ж просто є велике бажання в майбутньому освоїти (як то Android SDK). Результат того, що накидав десь за хвилин 20-ть:
Постійно приходиться нагадувати собі що головне, а що другорядне. Хочеться багато чого освоїти, проте реально приходиться зосереджуватися на найбільш актуальному і потрібному для себе в даний час. Вирішив якось промалювати свою інтелект карту в яких напрямках рухатись дальше. В результаті вирішив що краще розділити на декілька невеличких, але основних. У мене вийшло аж 4 основні інтелект карти: Англійська, Математика, Програмування, Java (як підкарта програмування). У перших трьох розгалужень не так і багато, а ось Java вийшла доволі розкішна:) Постарався представити те що я освоїв, але ще варто закріпити знання, або уже почав освоювати, або збираюсь освоїти найближчим, або ж просто є велике бажання в майбутньому освоїти (як то Android SDK). Результат того, що накидав десь за хвилин 20-ть:
Java - My Mind Map
Можна звичайно деталізувати безкінечно, так у Java EE багато цікавого чого хотілось б освоїти, але поки що зобразив як на мене основне.
середа, 13 серпня 2014 р.
Як показати діалог "зберегти" з допомогою JFileChooser
Як показати діалог "зберегти" з допомогою JFileChooser
Якщо вашій програмі потрібно зручно вказати положення файлу, папки або ж місцезбереження файлу, то для цих цілей Swing надає клас javax.swing.JFileChooser. Виклик діалогу збереження файлу схожого на той що використовується у віндовз, здійснюється через метод showSaveDialog():
Де parent - це батьківський компонент діалогу, переважно JFrame. Коли користувач введе ім'я файлу і натисне ОК або Cancel, метод повертає одне з наступних значень:
Після того як користувач здійснив свій вибір, ми можемо використати метод getSelectedFile() щоб взяти нам об'єкт файлу:
Перед викликом методу showSaveDialog(), ви можливо захочете встановити деякі опції для діалогу:
Приклад коду:
Можна встановити фільтр для задання розширень файлу:
Вікно може виглядати так:
В результаті отримали об'єкт File і можна створювати потоки вводу-виводу і записувати у файл використовуючи отриманий об'єкт File. Об'єкт File, хто ще не знає є дискриптором файлу і мабуть, основне що в ньому є - це адрес розміщення файлу і його назва.
При написанні було використано матеріали із codejava.net
Якщо вашій програмі потрібно зручно вказати положення файлу, папки або ж місцезбереження файлу, то для цих цілей Swing надає клас javax.swing.JFileChooser. Виклик діалогу збереження файлу схожого на той що використовується у віндовз, здійснюється через метод showSaveDialog():
public int showSaveDialog(Component parent)
Де parent - це батьківський компонент діалогу, переважно JFrame. Коли користувач введе ім'я файлу і натисне ОК або Cancel, метод повертає одне з наступних значень:
JFileChooser.CANCEL_OPTION // користувач відмінив вибір файлу JFileChooser.APPROVE_OPTION // користува здійснив вибір файлу FileChooser.ERROR_OPTION // якщо користувач закрив вікно // кнопкою закриття Х.
Після того як користувач здійснив свій вибір, ми можемо використати метод getSelectedFile() щоб взяти нам об'єкт файлу:
File getSelectedFile()
Перед викликом методу showSaveDialog(), ви можливо захочете встановити деякі опції для діалогу:
setDialogTitle(String) // встановлює заголовок вікна. setCurrentDirectory(File) // встановити директорію для збереження
Приклад коду:
// батьківський компонет діалогового вікна JFrame parentFrame = new JFrame(); JFileChooser fileChooser = new JFileChooser(); fileChooser.setDialogTitle("Вкажіть як зберегти файл"); int userSelection = fileChooser.showSaveDialog(parentFrame); if (userSelection == JFileChooser.APPROVE_OPTION) { File fileToSave = fileChooser.getSelectedFile(); System.out.println("Зберегти як: " + fileToSave.getAbsolutePath()); }
Можна встановити фільтр для задання розширень файлу:
FileNameExtensionFilter filter = new FileNameExtensionFilter("csv файл","csv"); fileChooser.setFileFilter(filter);
Вікно може виглядати так:
В результаті отримали об'єкт File і можна створювати потоки вводу-виводу і записувати у файл використовуючи отриманий об'єкт File. Об'єкт File, хто ще не знає є дискриптором файлу і мабуть, основне що в ньому є - це адрес розміщення файлу і його назва.
При написанні було використано матеріали із codejava.net
пʼятниця, 25 липня 2014 р.
Заміщення (overriding) методів у Java
У відеоуроці розглядається наступне:
Що таке заміщення методів?
Що таке заміщення методів?
Чому заміщення і перевизначення це не одне й те саме?
Дещо про успадкування та поліморфізм у Java.
Особливості статичних методів.
Модифікатор final при визначенні методів Java.
Підписатися на:
Дописи (Atom)
Категорії
Java
Освоюємо Java
Інше
Android
Освіта та навчання
Програмування
Книги
Колекції
Блогування
Відеоуроки
Відгук
Технології
Blogger
Machine learning
Python
Бази даних
Blogspot
IDE
JFreeChart
Математика
Java Tutorials
R
Software Design Patterns
Windows
Графік
Big Data
LaTeX
Linux
ML
Matplotlib
PHP
Pandas
SEO
Tweet
Twitter
Windows 7
Англійська
Візуалізація
Наука
Термінологія у програмуванні