Синглтон – один из самых известных паттернов проектирования, реализацию которого очень часто спрашивают на собеседованиях. И в то же время - это один из самых главных анипаттернов, использовать которые не рекомендуется. В чем же дело, когда и как его можно и нужно использовать и зачем про него спрашивают? Попробуем разобраться....
Когда-то давно (весной 2016) мы с Русланом Сафиным пришли на челябинский ДотНетКонф и рассказали там почти всё, из того что знали про сбор данных с кучи сайтов в промышленных масштабах.
Весь рассказ сделан с позиции .net-разработчика, но большинство информации про подходы, а не про конкретные инструменты, поэтому подойдет всем. С тех пор, мне кажется, что многие вещи мы рассказали недостаточно подробно и, возможно, я когда нибудь напишу более подробную текстовую статью, но пока – только видео:
В предыдущем посте мы узнали что обычно понимается под термином "Извлечение информации" и заодно рассмотрели формальные грамматики, которые могут быть полезны для этого самого извлечения информации. Теперь пора взять в руки парсер и сделать для него грамматику....
Все описанное ниже основано на домыслах и догадках, если я в чем-то не прав – буду рад комментариям и поправкам.
Извлечение информации (Information Extraction или коротко - IE) – это задача обработки текста, цель которой - перевод тех фактов, что записаны естественным языком в структурированную форму....
Иногда возникает ситуация, при которой необходимо узнать кодировку текста, который попадает из каких-нибудь внешних источников - например вам надо обработать файл загруженный пользователем или сохранить в базу текст из HTML страницы.
Для того чтобы правильно перегнать полученные байты в текст и не получить при этом всем известные "кракозябры", необходимо узнать какую кодировку надо использовать.
Для того чтобы отдать json-ответ в ASP.NET MVC используется метод Json(), который есть у стандартного класса Controller. Этот метод скрывает внутри себя создания объекта класса JsonResult, который в свою очередь в методе ExecuteResult использует JavaScriptSerializer для сериализации переданного ему объекта....
Недавно, на новом для себя проекте я в очередной раз столкнулся с проблемой запуска периодических заданий по расписанию и решил расписать все варианты решения этой задачи из тех, что мне встречались.
Для того, чтобы задача не выглядела такой размытой скажу, что необходимо было запускать рассылку разных писем через разные промежутки времени....