• Как правильно использовать исключения?

    if-elsе (switch) используется в случаях-
    "если не так, то попробуем с другой стороны",
    то есть, это выбор вариантов исполнения.
    а exception-
    "если не так, то никак (потому, что ....)",
    то есть остановка исполнения, и старт каких либо заключительных действий (например, записать ошибку в лог и отправить пользователю красивую картинку/заглушку).
    таким образом, "if" - это штатный режим, а а exception- аварийный
    Ответ написан
    1 комментарий
  • Как правильно использовать исключения?

    Illivion
    @Illivion
    Отвечаю по C#. Исключение должно выбрасываться в любом случае, если метод не может выполнить задачу, которая ему назначена. Метод CreateUser() не смог создать пользователя? Исключение! Метод Connect() не смог подключиться за заданный интервал времени? Исключение. Если не ошибаюсь, так писал Рихтер.
    Ответ написан
    1 комментарий
  • Как правильно использовать исключения?

    @alexanius
    Эту конструкцию не следует пихать везде где попало. Во-первых срабатывание исключения - очень дорогая штука. Во-вторых этого не следует, например, делать в деструкторах. Это первое что в голову приходит. Может есть ещё какие-то случаи. Советую почитать что на эту тему пишет Мейрес. Вообще советую его почитать. Моё мнение - исключение должно кидаться если программа рушится и нужно полное обрушение как-то проконтролировать.
    Ответ написан
    Комментировать
  • Как правильно использовать исключения?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ну приведу простой пример. У вас есть функция которая должна открывать соединение с базой данных/читать из файла/подключаться к сокету... словом любая функция возвращающая некий ресурс, при помощи которого в дальнейшем будет осуществляться доступ к чему-то там.

    Функция должна вернуть какой-то результат, причем определенного типа. Что вы будете делать в случае ошибки? А как уведомить разработчика что именно пошло не так?

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

    Если вы используете конструкцию try/catch в использующем эту функцию коде, то вместо крэша у вас вызовется один из обработчиков catch (вы можете спускаться по иерархии классов, задавая различное поведение для разного рода ошибок), возможно произведете какие-то уточнения в данных, переспросите пользователя и программа продолжит работу совершенно нормально.
    Ответ написан
    2 комментария
  • Экранирование результата javascript в php

    @artishok
    кратко
    Каникулы начались? Количество ошибок на квадратный метр зашкаливает.
    Ответ написан
    Комментировать
  • Как установить ruby 2.0.0-p195 без rvm на Ubuntu VPS?

    sl_bug
    @sl_bug
    Т.е. вы хотите поставить руби без rvm, что бы использовать capistrano-rvm? Вас ничего не смущает?
    Ответ написан
    1 комментарий
  • Куда пойти работать по удаленке начинающему разработчику?

    @lookid
    Студент первого курса
    То есть тебе 16-17 лет? Окай. А потом у нас ракеты падают, старшие программисты в возрасте 20 лет и вообще "образование в России плохое! ничему не научили! вот в США!". Кстати в США запрещается работать за пределами кампуса фултайм-студентам. Страна инноваций, блин. Кармаки 16тилетние со знанием "синтаксиса". Боже ж ты мой...
    начинающему разработчику
    Начинающий разработчик это не вчерашний ученик среднего учебного заведения, а человек со солид-теоретикал-бэкграундом, но без опыта.
    Ответ написан
    3 комментария
  • HTML+CSS+ Язык программирования = Хороший проект

    jj_killer
    @jj_killer
    Если бы мне дали тонну бабла на инженеров, то Java, или JVM-based язык. Для Java есть все, что можно себе представить. Вот выше комментатор написал, мол если вам надо обработку языка, то NTLK. Да, можно, но для Java есть все тоже самое для NLP, плюс все это будет работать гораздо быстрее, чем на Python. Практически для любых проблем на Java есть или решение, или часть решения. И все это работает очень быстро.

    Из минусов, язык очень многословный и не очень приятный. Тут можно тогда смотреть на Scala или Groovy. Ну или Clojure, если вы любите функциональщину.
    Ответ написан
    7 комментариев
  • Какие почитать учебники по алгоритмам?

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

    @Masterme

    идите в PHP

    Ответ написан
    Комментировать
  • Можно ли учить несколько языков программирования сразу?

    Kaaboeld
    @Kaaboeld
    Web-разработчик

    Конечно, можно, кто же запретит. Но по началу лучше выбрать один как основу знаний и на нем отрабатывать "моменты". Можно изучить массу языков, а потом как свой профиль выбрать небольшой набор и на нем специализироваться.

    Ответ написан
    Комментировать
  • выдача ip адресов по mac или мечта параноика

    @mcleod095
    Меня всегда забавляет когда люди начинают говорить что стоит на винде, и перенос на никсы не возможен. Особенно когда это касается dhcp.
    Если уж так надо, то возьмите и почитайте про dhcp и может дойдет осознание того что на винде и на никсах он работает одинаково, различаются только реализации.
    Зз википедии:
    Протокол DHCP предоставляет три способа распределения IP-адресов:
    Ручное распределение. При этом способе сетевой администратор сопоставляет аппаратному адресу (для Ethernet сетей это MAC-адрес) каждого клиентского компьютера определённый IP-адрес. Фактически, данный способ распределения адресов отличается от ручной настройки каждого компьютера лишь тем, что сведения об адресах хранятся централизованно (на сервере DHCP), и потому их проще изменять при необходимости.
    Автоматическое распределение. При данном способе каждому компьютеру на постоянное использование выделяется произвольный свободный IP-адрес из определённого администратором диапазона.
    Динамическое распределение. Этот способ аналогичен автоматическому распределению, за исключением того, что адрес выдаётся компьютеру не на постоянное пользование, а на определённый срок. Это называется арендой адреса. По истечении срока аренды IP-адрес вновь считается свободным, и клиент обязан запросить новый (он, впрочем, может оказаться тем же самым). Кроме того, клиент сам может отказаться от полученного адреса.

    Выберите то что вам нужно и почитайте как это реализовано в вашем ПО.
    Да, от подмены mac адреса это не поможет, здесь нужны другие меры защиты.
    Ну и так в догонку
    Создается два пула адресов
    В одном все настраивается как хочется и как надо.
    Второй пул делается фейковый, выдача адресов из этого пула разрешена всем. но в этой сети нет ни серверов ничего. просто они получают ип адреса и ничего более. Когда комп получает адрес по dhcp и нет выозможности его выдать он долго тупит. Да и это наводит на мысль что есть что поломать. пусть лучше юзают сетку фейковую
    Ответ написан
    Комментировать
  • выдача ip адресов по mac или мечта параноика

    @smartlight
    Я считаю, что без замены свичей, на свичи которые умеют IP+MAC Binding не обойтись
    Ответ написан
    1 комментарий
  • Подскажите свежий учебник по С++

    @CAMOKPYT
    Стивен Прата, доступно написано, много примеров, есть упражнения, на русском, вполне актуально
    Ответ написан
    1 комментарий
  • Хантим следит за мной

    semaster
    @semaster
    +1 тоже такое замечаю :)
    Ответ написан
    Комментировать
  • Хантим следит за мной

    sledopit
    @sledopit
    По моим наблюдениям частенько, но не всегда, список вакансий коррелирует с тематикой топика / вопроса. Смотришь топик по linux'ам, так в списке сплошные сисадмины нужны, смотришь о python'е — программисты.
    Ответ написан
    Комментировать
  • Внешний SSD vs HDD?

    EugeneOZ
    @EugeneOZ
    В подарок — только SSD. Иначе какой же это подарок.
    Ответ написан
    Комментировать
  • Кому нужен разработчик в возрасте ?

    taliban
    @taliban
    php программист
    Если у него больше 20 лет работы, то он наверно переработал во многих компаниях, и с его опытом работы наверно его возьмут куда-то на руководящую должность, если он адекватно мыслит.
    Ответ написан
    6 комментариев
  • Кому нужен разработчик в возрасте ?

    @philipto
    Я бы порекомендовал искать работу через знакомых в активно развивающихся иностранных компаниях. В российских офисах некоторых из них работают немолодые люди — сам видел. Я бы начал с Samsung. Кроме того, у человека в возрасте 64 лет обычно есть много знакомых. Если знания Java достаточно серьезные, имеет смысл отправить резюме в питерский офис Oracle, в JetBrains, в рижский офис Exigen. К сожалению, ситуацией в Украине не владею. Насчет фриланса посоветовал бы odesk.com, если еще не пробовали, там некоторые мои друзья-джависты находили очень хороших постоянных заказчиков из-за рубежа.
    Ответ написан
    Комментировать