• Блоговедение или программирование?

    @Evsign
    Я понимаю, что "нельзя сравнивать"

    Вот и не сравнивайте.

    Я вот тоже думаю... Подскажите что лучше, открыть магазин колбасы или построить завод по её производству?

    Ответ: делайте то, что нравится. А впрочем, лучше делайте то что нравится, но не программируйте. Лучше и дальше оставайтесь потребителем интеллектуальной собственности.
    Ответ написан
    3 комментария
  • Как правильней сделать DAO слой?

    @Cauac
    Java Developer

    Второй вариант какой-то не красивый и не соответствует модели.

    Ваш вариант вполне хорош при условии что это первичный ключ уже содержит достаточно информации.
    Но если есть необходимость в модели используйте шаблон Proxy. Т.е. создавайте частично инициализированные объекты и делайте запросы для загрузки остальных данных по необходимости.
    Ответ написан
    Комментировать
  • Как правильней сделать DAO слой?

    @gurinderu
    java developer
    inner join и заполнять еще и вложенные объекты в дао. Если у вас это слишком сложно. То сделайте метод getRoles lazy

    Оберните ваш User в прокси, который будет на getRoles если roles==null вызывать метод дао и записывать в User
    Ответ написан
    1 комментарий
  • Какие вы знаете понятные книги по алгоритмам?

    @DukeXar
    Steven Skiena - Algorithm Design Manual (Kindle, Ozon)
    Thomas Cormen - Introduction to Algorithms (Kindle, Ozon)
    Ответ написан
    Комментировать
  • Накрылся жесткий диск WD. Как диагностировать причину и восстановить, если возможно?

    XXX
    @XXX
    Решение где-то рядом
    Купил 22.04.2014
    @Lsh диск еще на гарантии? Судя по всему опыта в ремонте винтов у Вас не много, поэтому лучше отнести в сервис для диагностики и восстановления информации, если она Вам нужна.
    Ответ написан
    2 комментария
  • Зачем нужен интерфейс в java?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Для реализации модульности и слабой связанности. Интерфейс - это, по сути, контракт (на "поставляемое" множество и сигнатуры методов).

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

    Если же учесть при этом, что есть еще и абстрактные методы, становится понятно, что абстрактный класс/методы и интерфейс - инструменты для разных задач.

    Классический пример правильного использования интерфейсов - явовские коллекции. Прикиньте, учитывая соображения выше, какой бы это был геморой в использовании, если бы API было сделано не через интерфейсы, а через абстрактные классы :)
    Ответ написан
    2 комментария
  • Интерактив на сайте с использованием веб камеры

    iLeonidze
    @iLeonidze
    xbooster.ru
    Сначала распознавайте лицо, затем обвешиватесь всякими Drag'n'dropами. Плохо ищете - полно решений:
    1. JS ObjectDetect - Demo
    2. HeadTrackr - Demo 1, Demo 2, Demo 3
    3. CLMTrackr (Продвинутый аналог предыдущему) - Demo 1, Demo 2, Demo 3, Demo 4
    4. Face Detection - Demo
    5. JSFeat - Demo
    6. Web based interface with OpenCV - Demo

    P.S. Чтобы постоянно не было запросов на разрешение доступа к камере - смени подключение на HTTPS.
    Ответ написан
    1 комментарий
  • Каков план личностного развития PHP программиста с нуля?

    @nikita-b
    Все это сильно зависит от того, что вы знаете сейчас. Английский знаете? Если нет, то это первое, что стоит изучить, хотя бы на уровне чтения.

    0. Допустим если вы не знаете английский.
    lingualeo.com
    Русский сервис, где можно читать тексты и смотреть разные видео на английском. Очень удобен.
    https://www.duolingo.com/
    Похожий сервер, чуть проще. У него очень интересный принцип работы и замысел почитайте.

    1. Допустим вы знаете/изучили английский. Нужны только самые основы вы их разовьете в процессе изучения онлайн-курсов. Что такое онлайн-курсы? Это сервисы, где вам через видео, книги, тесты предлагают знания. Университет онлайн.
    Это очень хороший способ, потому что у них уже есть набор тем, которые вам требуется изучить.
    Есть такой сервис на русском:
    htmlacademy.ru
    Я не пробовал, но в целом рекомендуют. Он не совсем бесплатный, но там 100 рублей в месяц. Это совсем мелочи.
    Есть еще:
    proglive.ru
    Но он если честно слишком дорогой. Я смотрел там несколько вэбинаров и не был особо впечатлен. но может кто-то там учится подскажет. Может в интернете найдете информацию о нем.

    Есть более продвинутые аналоги на английском:
    www.codecademy.com
    Бесплатный набор курсов по очень-очень большому спектру тем. Достаточно высокого качества.

    Еще
    https://teamtreehouse.com
    https://teamtreehouse.com (Без моей реф. ссылки)
    Этим я сейчас пользуюсь сам. Курсы более подробные и приятные. Хотя если, что-то знаете то могут показаться зануднее. Есть еженедельное шоу, где рассказывают о всяких новых технологиях и течениях. Часто появляются новые курсы. Можно задать вопросы на форуме. Он правда платный. Около 1000 рублей в месяц, но он того стоит.
    https://www.udacity.com/
    Еще один бесплатный аналог. Не пробовал.

    2. Допустим вы прошли курсы по html,css, js, jquery, php. Я рекомендую уже с этого момента выполнять платные работы.
    Есть много разных мест, где можно найти работу:
    Русский: fl.ru
    Английские: www.freelancer.com
    https://www.odesk.com
    В англоязычном секторе зарплаты намного приятнее. Для жителей регионов в особенности.
    Вы можете брать дешевые проекты и предлагать низкую цену. Практика очень важна.

    Впрочем можно и попробовать найти работу(Не фрилансером), но я считаю, что это сильно ограничит ваш прогресс на данном этапе.

    3. Несмотря на то, что этот пункт идет третий он должен идти параллейно со вторым. А возможно и первым. Но в целом это все не обязательно, просто так вы повышаете свой уровень.
    3.1 https://www.edx.org/course/mitx/mitx-6-00-1x-intro...
    Это очень хороший курс от крутейшего в мире универа по теме IT. Сначала кажется, что легкий, а потом внезапно начинается ад. Пройдя его вы наверно будете знать больше, чем большая часть людей, которые заканчивают российские вузы)
    Там правда Python, но знать его не надо, все объяснят.
    Зато очень рекомендуется математика.
    Для начинающих несмотря на название достаточно сложен.
    3.2 https://www.class-central.com
    Список курсов, которые проводят крупнешие университеты мира.
    Вам нужно многое из того, что касается программирования, алгоритмов, математики.
    Ищите, что вам интересно и вперед.
    Я советую:
    3.3 https://www.coursera.org/course/algs4partI
    И вторую часть.
    Там правда используется Java, но нужны только основы.
    3.4 https://www.edx.org/course/linuxfoundationx/linuxf...
    Курс по основам Linux. Не пробовал.
    3.5 Математика. От простого к сложному:
    https://www.coursera.org/course/algebra
    https://www.coursera.org/course/precalculus
    https://www.coursera.org/course/calcsing
    https://www.coursera.org/course/calc1
    https://www.coursera.org/course/sequence
    Не все курсы проходят, так что надо искать аналоги. Там были и более сложные. Так же важны курсы по теории вероятности.

    Что осталось за скобками? Придется изучить систему контроля версий. Я люблю Git. Вот хорошая книга:
    cloud.github.com/downloads/GArik/progit/progit.ru.pdf
    Совет: Не берите больше 3-4 курсов. Не справитесь. Хотя бы уж в начале не берите.

    Если пройдете все это, поздравляю, вы стали программистом причем достаточно высокого уровня.
    То есть подведем итоги. Вам надо:
    1. html, css. Не надо в них углубляться. Просто основы.
    2. js, jquery. Тоже на начальном этапе не углубляйтесь.
    3. php и какой-нибудь фреймфорк. Symfony или Yii. И какая-нибудь база данных.
    3.1. Узучение какой-нибудь CSS. Drupal например. Или Wordpress.
    4. Система контроля версий. Git.
    5. Математика.
    6. Алгоритмы.
    7. Computer Science в целом. Linux, шифрование, механика работы баз данных и серверов и т.д.
    При этом по сути для трудоустройства хватит первых трех, что бы там кто не говорил.
    Ответ написан
    7 комментариев
  • Какие возможности WebGL?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Почитайте спецификацию, хотя бы бегло. В частности это:

    WebGL™ is an immediate mode 3D rendering API designed for the web. It is derived from OpenGL® ES 2.0, and provides similar rendering functionality, but in an HTML context.


    Я слабо представляю как можно расписать "возможности" WebGL, так как это просто API для работы с 3D графикой, так же как и OpenGL ES. По сути это единственный способ получить доступ к вычислениям на видеокарте из браузера, а уже на эту тему можно пару много чего искать/читать. Тут больше поможет изучение информации о OpenGL непосредственно, понимание того, как во всем этом замешана видиокарта и почему она настолько быстрее все это считает чем CPU ну и т.д.

    Three.js же, движек, по сути высокоуровневое API (WebGL все же низкоуровневое) для работы с 3D, в котором уже реализованы базовые вещи.
    Ответ написан
    Комментировать
  • Приведите пример использования API Вконтакте?

    Читать тут
    Спрашивать тут
    Правила использования тут

    Там все очень даже понятно, даже более чем.
    Ответ написан
    Комментировать
  • Какой выбрать дистрибутив линукса "чтоб ездить", а не курить форумы и "допиливать"?

    Zoxon
    @Zoxon
    Веб-разработчик
    Elementary OS поставил и катаешься
    Ответ написан
    Комментировать
  • Каким образом вы изучаете исходный код?

    demimurych
    @demimurych
    Распечатка->карнадаш ластик->отладчик.
    Начните с того что буквально каждую строку кода комментируйте карандашом, проверяя свои выводы в отладчике.
    Уже через пару месяцев подобной практики Вы начнете замечать, что посмотрев на чужой код, какие то его части вам становятся понятны сразу же.
    При должной практике скоро начнете чувствовать себя экстрасенсом, который буквально "угадывает" что какая часть кода делает, без необходимости просматривать каждую строчку кода.

    Реверс инжениринг весьма увлекательное занятие. Это как какая то особая мышца которая тренируется практикой.
    Ответ написан
    1 комментарий
  • Какие почитать учебники по алгоритмам?

    fornit1917
    @fornit1917
    Мне в свое время нравились вот эти книги:
    Н. Вирт, Алгоритмы и структуры данных
    Дж. Макконел, Основы современных алгоритмов. Но она я думаю похожа на "Анализ алгоритмов"
    Ответ написан
    Комментировать
  • Алгоритмы и Программирование?

    nickme
    @nickme
    Кнут — это сурово для начинающего, как мне кажется. Попробуйте Седжвика или Кормена…
    Ответ написан
    Комментировать
  • Что читать программисту, чтобы улучшить серьезную алгоритмическую базу, необходимую в корпоративном секторе?

    @Yakhnev
    Кормен. Алгоритмы. Построение и анализ
    С. Макконнелл.Совершенный код.
    Бентли. Жемчужины программирования
    Таненбаум. Компьютерные сети
    Ответ написан
    Комментировать