Шаблоны разработки (полный курс) (плейлист)
Вот, наконец мне выделили время, чтобы прочесть полный курс по паттернам. Следите за обновлениями - лекции каждый вторник и четверг,в принципе можно попробовать киевлянам прийти - 10:00-12:00, на Позняках.
В планах после этого курса будут рефакторинг, Enterprise patterns и еще многов сего.
вторник, 25 февраля 2014 г.
среда, 10 июля 2013 г.
Design patterns (плейлист)
Извините, что опять пропал. Но вот, снова возвращаюсь. на этот раз я начал записывать курс для более опытных разработчиков - шаблоны проектирования. Очень рекомендую для просмотра, по моему, очень полезный курс для регулярного пересмотра всеми разработчиками. И не только на Java.
Пока записано тольлко первое видео, но планирую записывать новые части каждый вторник и четверг. Вот, в общем-то и все. Если есть какие-то вопросы - оставляейте здесь или в комментариях к видео. Постараюсь всем ответить.
Если есть идеи для следующих курсов лекций - отписывайтесь так же. Постараюсь что-то придумать.
среда, 8 мая 2013 г.
Лекции по основам Java (плейлист)
Как видят наши читатели, писать посты мне надоело. Да, ленив уж больно. Поэтому вместо написания я занялся их записыванием. Все новодобавленные видео моих лекций я выкладываю на Youtube вот в этом канале. Если кому интересно - слушайте и комментируйте. Буду признателен.
пятница, 26 апреля 2013 г.
Лекция по Java для начинающих
Наконец я сделал это. В смысле - записал одну свою лекцию. Вышло, скажем так, не очень. Учитывая, что писалось оно на веб-камеру. так удивительно, что хоть так вышло. Тем более, что лекция эта не первая, а третья. И уже две первых записывать придется потом. Более того, подготовиться к лекции времени было совсем мало, так что вот так.... Немного сумбурно получилось. В общем, если кому-то вдруг интересно - вот запись. Там где-то час двадцать. Смотрите, ругайте.
вторник, 4 декабря 2012 г.
XML или как его едят
Сегодня мы публикуем статью , человека, который недавно начал изучать Java. Думаю, что это будет интересно таким же новичкам, как и он. Итак, встречайте
AlexNNovak
Работа с XML, что же в этом направлении на сегодняшний момент времени написано очень много статей с примерами и примеров со статьями, некоторое из них лучше, некоторые хуже, некоторые можно сказать совсем отвратительные. Отвратительные они в том плане, что читающий их человек может совершенно бездумно скопировать пример описанный в статье и так же, не задумываясь и не углубляясь в подробности изменив два значения его использовать. «А что в этом плохого?» совершенно справедливо спросите Вы, «Взял мол, готовый кусок кода, подправил под свои потребности и используй!», вот тут то и заключается «плохо». Используя чужой код Вы отвыкаете думать сами, и я не подразумеваю библиотеки сторонних разработчиков, я имею ввиду конкретно код примеров из статей. Ну да ладно, я отвлекся и хватил немного в сторону.
Итак, я не претендую на ни на истину ни на велосипед, но, перед тем как начать работу с великим и могучим XML-ем нам надо сперва определить, какое действие с ним, мы хотим выполнить, а именно: создать XML документ – записать некие данные использую определённую структуру или наоборот разобрать(parse) XML документ – из готового документа подчиненного строгой структуре извлечь интересующие нас данные. Когда мы определились, что именно мы хотим делать, мы должны понять, какими методом в данной конкретной ситуации нам удобнее и/или правильнее поступать.
Признаюсь честно, что с созданием XML документов мне пока сталкиваться не приходилось, посему буду описывать методы, к которым прибегал и которые, как я считаю для совсем уж начинающего Java программиста или QA Automation инженера самые быстрые в освоении и понимании. Итак, я выбрал два основных метода: это DOM и XPath.
AlexNNovak
Работа с XML, что же в этом направлении на сегодняшний момент времени написано очень много статей с примерами и примеров со статьями, некоторое из них лучше, некоторые хуже, некоторые можно сказать совсем отвратительные. Отвратительные они в том плане, что читающий их человек может совершенно бездумно скопировать пример описанный в статье и так же, не задумываясь и не углубляясь в подробности изменив два значения его использовать. «А что в этом плохого?» совершенно справедливо спросите Вы, «Взял мол, готовый кусок кода, подправил под свои потребности и используй!», вот тут то и заключается «плохо». Используя чужой код Вы отвыкаете думать сами, и я не подразумеваю библиотеки сторонних разработчиков, я имею ввиду конкретно код примеров из статей. Ну да ладно, я отвлекся и хватил немного в сторону.
Итак, я не претендую на ни на истину ни на велосипед, но, перед тем как начать работу с великим и могучим XML-ем нам надо сперва определить, какое действие с ним, мы хотим выполнить, а именно: создать XML документ – записать некие данные использую определённую структуру или наоборот разобрать(parse) XML документ – из готового документа подчиненного строгой структуре извлечь интересующие нас данные. Когда мы определились, что именно мы хотим делать, мы должны понять, какими методом в данной конкретной ситуации нам удобнее и/или правильнее поступать.
Признаюсь честно, что с созданием XML документов мне пока сталкиваться не приходилось, посему буду описывать методы, к которым прибегал и которые, как я считаю для совсем уж начинающего Java программиста или QA Automation инженера самые быстрые в освоении и понимании. Итак, я выбрал два основных метода: это DOM и XPath.
вторник, 6 ноября 2012 г.
О перспективах Java. Часть 1
Получили очень интересный вопрос в комментариях, сразу его и процитирую:
Avicorn: Новичковый вопрос: на сколько сейчас востребованы программисты на java, в том числе - начинающие?Не буду голословным, поэтому начну с фактов. И сразу оговорюсь, буду говорить только про Киев, так как ситуацией в других городах не владею. Факты - это количество вакансий и количество соискателей. Вернее их отношение. Так вот, фактически последние пять лет у меня не было ни единого раза, чтобы были заполнены все вакансии - людей постоянно не хватает. Как заметили мне в комментариях - заполненность вакансий - 0.3 человека на место. Зарплаты в долларах у программистов на Java за последние пять лет же выросли от 1000 долларов до 2500 долларов для middle developer со стажем с года до 6 лет. Если кому хочется посмотреть текущую ситуацию с зарплатами, то среднюю температуру по больнице можно оценить вот здесь: на dou.ua . Обращаю внимание, что данные эти по настоящему "средние", то есть существенно искажены в сторону уменьшения, тем, что в рейтинг попадают и сотрудники гос предприятий и разработчики компаний, работающих на отечественный (читай бСССР) рынок. Почему у них зарплаты существенно меньше - чуть позже. Вывод - перспективы прекрасные.
С учетом последних фортелей Oracle (смена лицензии и закрытие 100500 открытых еще Sun'ом проектов, исключение java-машины из linux-дистрибутивов и т.п.) и активного развития .net и php (если речь идет о вебе) будущее платформы видится туманным.
hashCode
В прошлой заметке мы говорили о HashMap, hashcode() и немного equals().
Краткое содержание: записывая пару ключ-значение (запись) в HashMap, мы помещаем ее в одну из ячеек (бакет) массива. То, в какую именно ячейку будет помещена запись (индекс ячейки в массиве) определяется по значению hashcode() ключа. Поскольку в один бакет может быть помещено несколько записей, то в бакет записываются не сами записи, а содержащие их связные списки.
В HashMap могут быть помещены записи только с уникальными ключами. Уникальность определяется методом equals(). То есть если
new Integer(1).equals(new Integer(1)); - вернул true - объекты равны.
Чтобы вся эта система корректно работала, необходимо соблюдать 2 правила (и пожалуйста, дальше - читать обязательно, потому что именно этот вопрос любят задавать на собеседованиях):
1. равные объекты должны иметь один и тот же hashcode
то есть, если equals - true, hashcode() возвращает одинаковое число
2. объекты, имеющие разный hashcode - неравны
то есть если hashcode() возвращает разные числа, equals обязано вернуть false
Почему соблюдать эти правила необходимо?
Краткое содержание: записывая пару ключ-значение (запись) в HashMap, мы помещаем ее в одну из ячеек (бакет) массива. То, в какую именно ячейку будет помещена запись (индекс ячейки в массиве) определяется по значению hashcode() ключа. Поскольку в один бакет может быть помещено несколько записей, то в бакет записываются не сами записи, а содержащие их связные списки.
В HashMap могут быть помещены записи только с уникальными ключами. Уникальность определяется методом equals(). То есть если
new Integer(1).equals(new Integer(1)); - вернул true - объекты равны.
Чтобы вся эта система корректно работала, необходимо соблюдать 2 правила (и пожалуйста, дальше - читать обязательно, потому что именно этот вопрос любят задавать на собеседованиях):
1. равные объекты должны иметь один и тот же hashcode
то есть, если equals - true, hashcode() возвращает одинаковое число
2. объекты, имеющие разный hashcode - неравны
то есть если hashcode() возвращает разные числа, equals обязано вернуть false
Почему соблюдать эти правила необходимо?
Подписаться на:
Сообщения (Atom)