Pull to refresh
0
0
Send message

Узнаем параметр Generic-класса в Java

Reading time9 min
Views113K
Если вы не очень часто программируете на Java, то этот топик скорее всего будет для вас бесполезен. Не читайте его :)

Недавно понадобилось решить следующую задачу: определить класс, которым параметризован generic-класс.

Если кто-то сталкивался с подобной задачей, то наверное также сразу попробовал написать что-то вроде этого:
public class AbstractEntityFactory<E extends Entity> {
  public Class getEntityClass() {
    return E.class;
  }
}

Увы, IDE либо компилятор сразу укажут вам на ошибку («cannot select from a type variable» в стандартном компиляторе): " E.class" — не является допустимой конструкцией. Дело в том, что в общем случае во время исполнения программы информации о реальных параметрах нашего generic-класса может уже и не быть. Поэтому такая конструкция в Java не может работать.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments32

Java по-русски. Часть первая: Книги

Reading time2 min
Views496K
Не так давно я проводил опрос «Какие материалы о Java вас интересуют на русском языке?» среди посетителей Хабра. Вторым этапом моего исследования будет обзор существующих русско-язычных ресурсов.

Книги


За 2009 на Ozon.ru можно найти 8 книг по Java (всего за последние 3 года их вышло 22 — примерно по 7 в год, на books.ru набор примерно такой же, так что наша выборка довольно репрезентативна). Посмотрим, что это за книги?
Читать дальше →
Total votes 42: ↑31 and ↓11+20
Comments59

Книжная полка: Java

Reading time6 min
Views108K
По мотивам «JAVA → Java по-русски. Часть первая: Книги» habrahabr.ru/blogs/java/66568


Добрый день, уважаемые хабровчане!
В предыдущем обзоре Java книг, проведенном пользователем Scala, было рассказано о «практических» книгах, вышедших на рынок в последние три года. Я же хочу рассказать об этих и других книгах с несколько иного ракурса: попытаться выделить ценность информации книг.
Я не любитель читать с монитора, и предпочитаю книги покупать в бумажном варианте. Чтобы сделать осознанный выбор, следует отдавать себе отчет в том, что книга несет некие фундаментальные знания, но никак не сборник «последние фишки». Также в данной статье я хочу упомянуть о других известнейших трудах, не касающихся Java напрямую. Посмотрим, что лучше всего выбрать для обучения языку?
Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments30

Научные мультфильмы, что показывать детям без вреда для них?

Reading time4 min
Views78K
image
Объяснение закона гравитации из мультфильма «Физика для самых маленьких»

У меня растет два очень любознательных сына в возрасте три и пять лет. Они очень любят научные мультики, особенно по физике и астрономии, как только в их руки попадает планшет, маленькие пальчики начинают быстро перебирать видеоролики из YouTube в поисках интересного контента. И что же они там находят? Поскольку я не только отец двоих детей, но еще и существенную часть жизни посвятил методике преподавания физики для маленьких детей, я знаю, что показывают детям учителя, а также заботливые родители и добрые бабушки. Скажу сразу, не все из этого стоит показывать детям.
Осторожно! Под катом горькая правда
Total votes 42: ↑38 and ↓4+34
Comments176

Знаешь ли ты JAVA, %username%? Часть вторая

Reading time5 min
Views51K
JAVA Evil EditionВ начале января я написал пост с интересными тестовыми задачками по Java. Он вызвал достаточно большой интерес, интересные задачки еще остались, поэтому продолжим.

Сразу отвечу на некоторые вопросы, ответы на которые могли затеряться в комментах.
Во-первых, спрашивали, что почитать по теме. Очень рекомендую эту книжку. На русском не встречал, но читается она почему-то гораздо легче большинства книг по программированию, так что для большинства это не должно стать проблемой. Во-вторых, спрашивали где взять таких задачек. Тут что-то конкретное не посоветую, задачи из разных источников, в том числе некоторых нефришных наборов тестов, поэтому как вариант можно обратить внимание на источники, ссылки на которые есть в комментах к первой части статьи.

Так получилось, что в данную часть попали более легкие задачи, так что результаты должны быть лучше. Итак, очередной тест под хабракатом (Осторожно, во второй половине ответы и пояснения).
Читать дальше →
Total votes 72: ↑65 and ↓7+58
Comments28

Знаешь ли ты JAVA, %username%?

Reading time11 min
Views149K
JAVA Evil EditionНедавно я сдавал экзамен Oracle Certified Professional Java Programmer (бывший Sun Certified), и за время подготовки прорешал огромное количество различных задачек. Отдельные задачки по джаве иногда появляются на хабре и вызывают немалый интерес, поэтому я решил поделиться накопленным и сделать небольшую подборку.

Итак, ниже представлен десяток наиболее, на мой взгляд, интересных задач по Java SE из более чем 1000, проработанных мной. Сложность варьируется от средней до ооооооочень сложной. Решение большинства задач практически не требует знания API, достаточно логики и фундаментальных основ Java.

К слову, сложность экзамена Oracle Certified Professional Java Programmer гораздо ниже чем сложность данного теста, поэтому все, кто правильно ответит хотя бы на половину этих вопросов, может смело сдавать этот экзамен без всякой подготовки.

На самом деле количество очень понравившихся мне вопросов в несколько раз больше, поэтому через недельку я планирую написать продолжение данной темы. Если вопросы показались вам слишком легкими или наоборот, слишком сложными — дайте мне знать, внесем коррективы.

ВНИМАНИЕ: во второй половине статьи — ответы и подробные пояснения по соответствующим нюансам JAVA.

Читать дальше →
Total votes 136: ↑124 and ↓12+112
Comments85

Моментальный клей и сода: дополнительные штрихи

Reading time3 min
Views155K
Про моментальный клей с содой разве что ещё анекдотов не насочиняли, но все молчат про одну интересную особенность. Итак, смесь цианоакрилата с содой моментально полимеризуется (твердеет), выделяя тепло и отлично схватываясь молекулярными связями с близлежащими слоями. Но не с любыми. С ABS-пластиком — хорошо, а с полипропиленом — плохо. Ну и что с того? При послойной заливке (точнее, «закапке») соблюдать точную форму детали непросто. Много излишков в конце приходится удалять механически (напильником). А как насчёт «опалубки» из таких же подручных материалов? Кустарная 3D-печать из кармана.


Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments65

Xargs: многообразие вариантов использования

Reading time7 min
Views144K
xargs

Об утилите xargs написано очень много — что можно написать еще? Но если, что называется, копнуть поглубже, то выясняется, что во многих публикациях излагаются лишь самые основы, но нет главного: не объясняется, как можно применять xargs в реальной практике. Статей с разбором сложных и нетривиальных вариантов применения этого весьма полезного для системного администратора инструмента, к сожалению, очень мало. Именно поэтому мы написали свою статью и постарались включить в нее как можно больше примеров использования xargs для решения различных проблем.

Сначала мы рассмотрим принцип работы xargs и разберем примеры попроще, а затем перейдем к разбору сложных и интересных кейсов.
Читать дальше →
Total votes 68: ↑65 and ↓3+62
Comments44

Visual Studio + Roslyn = конфигуратор для 1С: Предприятие

Reading time6 min
Views14K
Roslyn позволяет C# проект преобразовать в открытый XML-формат конфигурации 1С: Предприятие. C#-проект при поддержке Visual Studio автоматически снабжается Intellisense, интерактивной проверкой синтаксиса и типов, рефакторингом, расширенным поиском по проекту, поддержкой XmlDoc. Настраиваемое расположение документов проекта на диске и более выразительный и экономный формат делает C#-проект на Visual Studio лучшим выбором в системах версионирования.

Понятно, что от чистой теории до реализации всех особенностей 1С очень далеко. Приведенный в статье пример обладает следующими ограничениями. В примере реализована поддержка нескольких типов объектов и нескольких часто встречающихся свойств. Атрибуты объектов могут быть одного типа, хотя 1С допускает составной тип. Трансляция кода в код 1С не поддерживается. Реализованы англоязычные наименования.

Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments9

Продолжаем оптимизировать затраты с Yota

Reading time6 min
Views36K
В данной статье речь пойдет об автоматизации управления тарифами YOTA с помощью curl, OpenWRT и MR-3020. Предложенные скрипты можно использовать и в иной *nix среде с установленной curl.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments12

Обновили максимум: Во что инвестировать свои финансы в условиях девальвации рубля

Reading time7 min
Views32K
image

Хорошая оплата труда ИТ-специалистов в России позволяет им жить не в режиме «от зарплаты до зарплаты», откладывать деньги и тратить их на собственные проекты. По крайней мере так было до недавнего времени — сейчас ситуация выглядит не столь радужной прежде всего из-за значительного падения курса рубля. Сейчас за доллар дают уже больше 41 рубля, а за евро — больше 52 рублей, негативная экономическая обстановка приводит к росту цен, а кредитное агентство Moody’s понизило кредитный рейтинг России до «негативного».

Это означает падение реальной покупательной способности даже, казалось бы, не страдающих от бедности ИТ-специалистов. В подобной ситуации логично рассмотреть способы сохранения заработанных честным трудов финансов и способов их вложения.
Читать дальше →
Total votes 16: ↑8 and ↓80
Comments44

Давим шумы средствами PulseAudio

Reading time2 min
Views80K
image
Часто вижу, как владельцы ноутбуков жалуются на шумы микрофона в Linux, в то время как под Windows их меньше, либо же они вообще отсутствуют. Как правило, виноват в этом производитель, установивший самый дешевый микрофон и/или кодек из возможных, надеясь на сглаживание отвратительного качества железа программными средствами.
К счастью, в Linux есть замечательный аудиосервер PulseAudio, с помощью которого можно сделать аудио с вашего микрофона заметно качественней.

Способ #1

Для того, чтобы использовать встроенный модуль подавления шума и эха PulseAudio, работающий по алгоритму webrtc или speex, для какой-то конкретной программы, достаточно запустить ее с переменной окружения:
PULSE_PROP="filter.want=echo-cancel"

И весь ваш звук магическим образом будет избавлен от шумов и эха!
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments38

Сага о светодиодных лампах. Часть 2 — о том, чего не пишут на коробках

Reading time6 min
Views87K
В прошлый раз мы вкратце вспомнили историю искусственного освещения, а также немного поговорили о том, какие основные параметры есть у энергосберегающих ламп вообще и светодиодных ламп в частности. Сегодня, как и было обещано, мы перейдем к замерам и сравнениям (однако пока что без раскручиваний).


Читать дальше →
Total votes 72: ↑71 and ↓1+70
Comments165

Делаем собственную индикацию о входящем звонке

Reading time4 min
Views47K
После последнего поста о нашем Android-приложении у некоторых читателей статьи возник вопрос, как именно показать собственную информационную плашку во время звонка? Ну что же, сегодня мы ответим на этот вопрос.
Пст, хотите немного java-кода?
Total votes 35: ↑27 and ↓8+19
Comments16

Meteor. Разрабатываем TODO List

Reading time36 min
Views61K
В данном уроке я не хочу обсуждать, почему метеор убийца веба, тем более я так не считаю, но определенную симпатию к этому фреймворку имею. Поэтому хочу показать с чего можно начать при разработке приложения на нем, какие есть пакеты и вообще, что такое этот метеор.

Сразу хочу сказать, что у меня нет большого опыта в разработке веб приложений. Я занимаюсь этим всего около двух лет, а с метеором знаком вообще лишь пару месяцев.

Еще хочу предупредить, что урок получился достаточно объемным, но кода в нем было написано в разы меньше, чем текста. Просто хочу поделиться опытом как можно использовать метеор не при создании простенького примера, и заострить внимание на различных моментах, которые я посчитал важными. Поэтому в уроке будет использоваться множество сторонних пакетов, облегчающих процесс разработки.

И еще одно предупреждение: в данном уроке будут использоваться следующие технологии для непосредственного написания примера:

  • jade — html препроцессор;
  • less — css препроцессор;
  • coffeescript — язык программирования, компилируемый в javascript.

Видео, демонстрирующее приложение, полученное в ходе урока



И кому все еще интересно, добро пожаловать под кат.
Читать дальше →
Total votes 67: ↑59 and ↓8+51
Comments19

Установка, настройка и использование сканера уязвимостей сервера rkhunter

Reading time3 min
Views75K
На хабре не раз было упомянуто приложение под названием rkhunter. Хотелось бы остановиться на нем по подробней.

Rkhunter — это сканер различных видов локальных (потенциальных) уязвимостей (бэкдоров, эксплоитов и руткитов) со своей регулярно обновляемой базой.
Он написан на bash и perl, поэтому будет работать под любой серверной ОС на базе unix без каких-либо проблем.



Читать дальше →
Total votes 29: ↑21 and ↓8+13
Comments15

Хороших книг пост

Reading time2 min
Views70K


А давайте давайте соберём здесь хорошие книги, которые просто стоило собрать.
Суть в том, что просто давно стоило сложить хорошие книги в одном посте, чтобы было что прочитать в дороге — или просто для души.
Читать дальше →
Total votes 84: ↑72 and ↓12+60
Comments392

Легкий способ научиться слепому десятипальцевому набору

Reading time3 min
Views1.2M
Традиционно рекомендации по обучению десятипальцевой печати сводятся к двум советам:
  • тратить нервы на клавиатурные тренажеры вроде пресловутого «Соло на клавиатуре»;
  • заклеить подписи на клавишах.

Научиться печатать на клавиатуре вслепую при помощи этих способов — издевательство над собой. Каждый, кто пробовал «Соло», хотя бы раз в ярости бил по клавиатуре кулаком, и практически никто не дошел до конца. А кто пробовал заклеивать надписи на клавишах, вскоре отрывал наклейки обратно, потому что без навыка и без подписей печатать невозможно, а жить дальше как-то надо.

Что если я скажу вам, что есть абсурдно простой, состоящий из одного пункта способ научиться слепой печати без этих дурацких органичений?
 

Читать дальше →
Total votes 88: ↑76 and ↓12+64
Comments234

Идеальный стол для ежедневной работы за компьютером

Reading time1 min
Views100K
Всем доброго дня, хочу похвастаться доброй хабра-аудитории своим будущим заказом. Итак, недавно я зашёл в кабинет в офисе и у одного сотрудника нашей фирмы увидел такой вот интересный стол:


Осторожно, много фото
Total votes 41: ↑24 and ↓17+7
Comments75

Спать мало, но правильно?

Reading time7 min
Views900K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →
Total votes 713: ↑670 and ↓43+627
Comments420

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity