Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Не морочьте мне голову со своим функциональным программированием

Время на прочтение19 мин
Количество просмотров68K
Адепты функционального программирования любят завлекать новичков обещаниями идеальной выразительности кода, 100% корректностью, лёгкостью поддержки и простотой рефакторинга, а иногда даже пророчат высочайшую производительность. Однако, опытные разработчики знают, что такого не бывает. Программирование — это тяжёлый труд, а «волшебных таблеток» не существует. 

С другой стороны, элементы функционального стиля программирования уже проникли в промышленные языки программирования, такие как Swift и Kotlin. Разработчики этих языков прекрасно знакомы с функциональным программированием, поэтому смогли применить его «в малом», предусмотрев многие, хотя и не все, необходимые компоненты. Чем дальше — тем больше части ФП внедряются в промышленные ЯП, и тем качественнее и полнее реализуется поддержка.

Уметь программировать в функциональном стиле полезно, чтобы упрощать себе работу, и сейчас мы посмотрим, как этим воспользоваться!


Виталий Брагилевский — преподаватель ФП, теории алгоритмов и вычислений, автор книги «Haskell in Depth» и участник комитетов Haskell 2020 и наблюдательного комитета компилятора GHC.
Всего голосов 133: ↑109 и ↓24+85
Комментарии215

Youtube

Время на прочтение1 мин
Количество просмотров223K
Приходится ждать загрузки видео >360p по несколько секунд, обрывы на середине просмотра стало уже обыденным делом и это с достаточно широким каналом.

image

Причина в занижении провайдерами скорости к серверам кеширующим видео, всё что нужно сделать это заблокировать доступ к ним.

Для того чтобы запрос шел мимо cdn серверов ютуба надо заблокировать диапазон ip адресов (в роутере или на компьютере).

173.194.55.0/24 и 206.111.0.0/16
Читать дальше →
Всего голосов 205: ↑147 и ↓58+89
Комментарии179

Google voice + ipkall + sipnet == Звоним в любую точку США бесплатно

Время на прочтение3 мин
Количество просмотров31K

После того как я довольно плотно подсел на иглу виртуального шоппинга передо мной встал вопрос поиска дешевого решения для приема звонков из Американских магазинов.
Естественно можно купить прямой skype номер, но это стоит каких-то, но денег, а так как принимать звонки от магазинов приходится не так часто, то надо было найти решение поэкономичней.
Читать дальше →
Всего голосов 130: ↑124 и ↓6+118
Комментарии74

Переключаем настройки сети в ноутбуках в два клика

Время на прочтение2 мин
Количество просмотров6.5K
Сейчас, когда Интернет уже не является чем-то странным и недосягаемым для каждого, да и ноутбуки стали доступными по цене, возникает проблема, когда дома и в офисе разные настройки Интернет подключения (ip, dns, шлюз, прокси и т.д.), которые надо каждый раз менять. Несколько недель назад ко мне обратились с просьбой как то все автоматизировать, поскольку это надо было сделать быстро то погугливши я нашел одну из шареварних программок, которая заработала. Но на этом я не остановился, искал что то попроще, потому что минусом этих программ было то, что во-первых, они платные, во-вторых они все время висят в памяти забирая у Вас «драгоценные байты», в-третьих качая с варезных сайтов варезные программы рискуете подцепить вирус, ну и последнее зачем использовать что-то постороннее, когда можно организовать все средствами операционной системы (например windows).
Читать дальше →
Всего голосов 66: ↑60 и ↓6+54
Комментарии58

Памятка для SEO оптимизаторов

Время на прочтение1 мин
Количество просмотров1.9K
Вот решил поделиться некоторым материалом, который сам составил в ходе экспресс-изучения SEO оптимизации и раскрутки сайтов. Просто попался видео-курс Юсуфа Губайдуллина, который продает его на promoguide.ru и решил воспользоваться случаем. Честно говоря, курс не понравился — нудно как-то рассказывается. Оценил содержание на 4 с минусом, а изложение — на 2 с плюсом. Само SEO весьма скучная вещь, но нужная, поэтому составил небольшую памятку для себя — чтобы не держать это в голове и легко вспомнить когда понадобится. Здесь два файла: первый — просто картинка, второй — в формате freemind, для тех, кто желает что-то для себя добавить.

SEO-карта
Читать дальше →
Всего голосов 97: ↑88 и ↓9+79
Комментарии81

x264 + VirtualDub vs XviD. Исследуем возможности, повышаем эффективность

Время на прочтение4 мин
Количество просмотров34K
В предыдущем посте я писал про разработку собственной матрицы под XviD. Той статьи не было бы, если б я сразу занялся x264. А занялся я им, потому что видел, что такие проблемы XviD, как квадратичность, искажение градиента цвета, ореол вокруг объектов, устраняются в x264.
Целью задачи стало выяснение этих возможностей кодека, а также скорости кодирования и размера файла. x264 успешно справился со всеми задачами и ниже вы узнаете, как это сделать легко и непринуждённо.
Читать дальше →
Всего голосов 19: ↑14 и ↓5+9
Комментарии20

Письма для ваших приложений (за 24-часа)

Время на прочтение3 мин
Количество просмотров4K
Всем привет. Большую часть времени я занимаюсь управлением разработкой проектов shopium.ua и zakaz.ua, но инженер внутри меня периодически требует развлечений. Не имея свободного времени на хакатоны, гаражи, стартап-сауны и прочее, я придумал себе свой формат «покодить чего душа пожелает»:
  • нужен мне самому
  • время на реализацию MVP — до 24х часов в сумме
  • бюджет — до $100
  • коммерческий потенциал


В наших проектах мы шлём пользователям письма. Мы шлём пользователям информационные рассылки, и с этим прекрасно справляется MailChimp, но ниша отсылки транзакционных писем (подтверждения, уведомления и т.д.) до недавнего времени была относительно пуста.

В большинстве проектов, которые я знаю, транзакционные письма прямо в коде создаются из шаблона письма (и хорошо если он вынесен в отдельные файл, а не зашит рядом в коде), и передаются локальному SMTP серверу. И при этом:
  • менять текст сообщений могут только программисты (это медленно и дорого, и при этом невозможно делегировать работу с текстами контент-менеджеру, а для любого изменения текста писем нужен редеплой системы)
  • не отслеживается открытие писем и клики по ссылкам (нет данных для улучшения текста письма)
  • не обрабатываются bounce (можно постоянно слать письма на несуществующие адреса, а это влияет на показатель «спамности» адреса, с которого шлются письма)
  • лишь у некоторых реализована подпись писем через DKIM (тоже уменьшает шансы на доставку письма в inbox)


Я решил за 24 часа сделать сервис, с помощью которого можно будет надёжно слать красивые письма, быстро менять их текст, и отслеживать статистику. Встречайте Notifout.
Читать дальше →
Всего голосов 99: ↑88 и ↓11+77
Комментарии45

Советы по правильной настройке телевизора

Время на прочтение6 мин
Количество просмотров912K
Для начала, что есть «правильная настройка». Если вы хотя бы раз были в магазине электроники, то наверняка замечали, что все выставленные телевизоры показывают по-разному. С чем это связано? Какой из них лучше? Давайте разберемся.

Я думаю, вы согласитесь, что телевизор должен не просто показывать какую-то картинку, но и вносить как можно меньше искажений в исходный контент. Сам контент всегда создается с оглядкой на стандарты и рекомендации индустрии, и главная цель любого телевизора — донести до вас именно то изображение, которое вам хотели показать. Тут важно всё: и оттенок кожи у актера, и цвет неба на закате, и какие детали изображения должны быть видны, а какие спрятаны. Существуют международные стандарты, описывающие каким должно быть изображение на экране вашего телевизора. Все вы, наверняка, встречали аббревиатуры PAL, NTSC, или HDTV, вот за этими буквами и скрываются свойства видеосигнала и различные параметры изображения. С приходом HDTV в нашу жизнь, большая часть стандартов сразу же устарела, и, фактически, наиболее актуальным сейчас является стандарт REC709, который используется в телевидении высокой четкости (HD) и в Blu-Ray видео.
Читать дальше →
Всего голосов 184: ↑171 и ↓13+158
Комментарии127

Валидация HTML — миф

Время на прочтение2 мин
Количество просмотров3K
Пришло время и я открою главную тайну:

Нет ничего страшного если ваш сайт невалиден из-за 2-3х аттрибутов которые придумали вы сами.

Попробуйте придумать вескую причину почему это утверждение в корне неправильно прежде чем
читать дальше
Всего голосов 77: ↑57 и ↓20+37
Комментарии142

Нужна ли HTML-валидация?!

Время на прочтение5 мин
Количество просмотров39K

Что такое HTML-валидация?


HTML-валидатор производит несколько проверок Вашего кода. Основные из них:
  1. Валидация синтаксиса — проверка на наличие синтаксических ошибок. <foo bar="baz"> является корректным синтаксисом, несмотря на то, что <foo> не является допустимым HTML-тэгом, так что проверка синтаксиса является минимально полезной для написания хорошего HTML.
  2. Проверка вложенности тэгов — тэги должны быть закрыты в обратном порядке относительно их открытия. Например, эта проверка отлавливает ошибки с неправильно закрытыми <div>.
  3. Валидация DTD — проверка соответствия Вашего кода указанному Document Type Definition. Она включает проверку названий тэгов, атрибутов, и «встраивания» тэгов (тэги одного типа внутри тэгов другого типа)
  4. Проверка на посторонние элементы — проверка выявляет все, что есть в коде, но отсутствует в DTD. Например, пользовательские тэги и атрибуты.

Имейте ввиду, что это логические проверки, и не важно как реализован валидатор. Если хотя бы одна из проверок не проходит успешно, то HTML считается невалидным. И в этом заключается проблема.
Читать дальше →
Всего голосов 129: ↑105 и ↓24+81
Комментарии176

Архитектура приложений — горячие точки

Время на прочтение9 мин
Количество просмотров26K
Как часть нашего проекта, мы свели вместе информацию об общих подходах к разработке архитектуры приложений.
Читать дальше →
Всего голосов 97: ↑91 и ↓6+85
Комментарии31

Сравнительное тестирование 15 антивирусных программ в новом журнале С'T

Время на прочтение13 мин
Количество просмотров5.6K
На Security@Interop — событии, совершенно незаслуженно обойденном вниманием многих ИБ-шников, можно было взять пилотный (апрельский) номер журнала C'T-Россия, что я с радостью сделал. Теперь он ходит по рукам всей компании.

Нашлось в C'T очень интересное и вдумчивое сравнительное тестирование 15 антивирусных программ. Руки дошли наконец до «обработки» этого очень «вкусного» контента. Приведу здесь только вводную часть про методологию и выводы. Это-то и есть тот самый будет комплексный анализ, на основании которых в последнее время модно (а теперь и можно) ругать или хвалить продукты разных вендоров.

Считаю, что для команды нового журнала о компьютерной технике проведение настолько комплексного теста — это большая заявка на лидерство, ведь тесты не хуже тех, что проводит Нейл Рубенкинг из PC Magazine USA. Теперь есть что почитать и в России — сделанное своими руками тестирование, человеческим языком описанное и беспристрастно поданное, что вместе является «фишкой» C'T. Настоятельно рекомендуется перенять Сергею Ильину с Anti-Malware.ru.

Понравились мне и слова главреда про аудиторию и миссию журнала (цитата):
Мы не занимаемся ерундой. Мы делаем самый профессиональный компьютерный журнал в России… для тех, кому нужна честная и правдивая информация.

Респект Павлу Шошину, автору обзора, и главреду Андрею Кокоурову, перешедшим из CHIPа. У меня раньше не было такой уверенности в их профессионализме, но, как оказалось, в CHIPе все решал формат «easy reading», на который в последнее время слишком многие СМИ и тестлабы давят.

В общем, дифирамбы журналу я отпел, можно переходить ко чтению. :)

Читать дальше →
Всего голосов 24: ↑19 и ↓5+14
Комментарии85

Вышла GUI Design Studio Beta 3

Время на прочтение1 мин
Количество просмотров4.1K
С сегодняшнего дня доступна 3 версия GUI Design Studio beta. С поддержкой интерфейсов Windows Vista.
GUI Design Studio.
GUI Design Studio — имхо самый удобный инструмент для проектирования Win'32 приложений. Предыдущая версия, с русским языком работала только после патча, здесь должно быть все нормально. Разработчики утверждают что с помощью их инструмента можно проектировать и web приложения. Но по моему лучше Axure ничего нет.
Всего голосов 25: ↑23 и ↓2+21
Комментарии36

Факторы, влияющие на html вёрстку (Часть 1: Работа HTML кодера)

Время на прочтение10 мин
Количество просмотров18K

Для кого эта статья?


Html кодерам – начинающим кодерам поможет повысить
свой профессиональный уровень; оценить текущую ситуацию
в проектах, предупредить негативное течение проекта.Тем, кто
ещё только определяется «быть или не быть» больше вкурить
о профессии html кодер. Те же, кто в кодинге давно врятле
найдут в статье что-то новое для себя, а некоторые вещи
даже могут показаться не достойными внимания. Однако стоит
помнить, что очевидные вещи для одного — это неизвестный
мир для другого, а ваш опыт хорошей практики может быть
выходом из сложной сложившейся ситуации для кого-то.
Руководству – узнать, какие мероприятия стоит провести
в компании для улучшения рабочего процесса, повышения
опыта работников, уменьшения издержек (за счёт уменьшения
перерасхода проектного времени и учёта не просчитанных
ранее активностей) и повышения качества.
Руководителям проектов (Project managers) – поможет
учесть некоторые специфические риски проекта: узнать о
неизвестных ранее поглотителях проектного времени и не
запланированных активностях; узнать о реальных трудозатратах
по некоторым активностям; оценить и улучшить текущий уровень
ведения проектов.
Другим участникам web разработок – поможет больше
узнать о трудовых буднях своих коллег.
Читать дальше →
Всего голосов 41: ↑32 и ↓9+23
Комментарии45

Как удачно расчитать цену и время проектов во фрилансе

Время на прочтение2 мин
Количество просмотров8.3K
Одна из самых больших проблем начинающих фрилансеров — оценка стоимости задания.

На самом деле — оценка стоимости проектов — очень не простой момент и очень важно научится правильно оценивать стоимость проекта, что предлагается.

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

Так как же правильно оценить проект?

Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии32

Drupal побеждает в Overall 2007 Open Source CMS Award

Время на прочтение2 мин
Количество просмотров1.2K
Winner После трех месяцев, которое длилось голосование за лучшую CMS, Packt Publishing опубликовала результаты.

В 2007 году в номинации Overall 2007 Open Source CMS Award побеждает CMS Drupal. C 18.000 голосами за Drupal, в сочетании с мнениями экспертов из жюри, Drupal объявляется победителем! И как итоговый победитель получает чек на $ 5.000.

Joomla! и Drupal занявшие в прошлом году первые два места, сохранили степень качества, что позволило им в этом году остаться в лидерах. Joomla! осталась в тройке победителей, она заняла второе место и получила чек на $ 3.000. Третье место и чек на $ 2000 получает CMS Made Simple.

Увидев свет в 2001, CMS Drupal стала одной из самых скачиваемых Open Source CMS, с одним из самых преданных и полным энтузиазма сообществом. «Это огромная честь для всего сообщества Drupal и для тысяч отдельных разработчиков, которые вносили вклад в проект» — говорит Jeff Eaton, разработчик и конструктор ядра Drupal, — «Мы работали над тем, чтобы сделать Drupal гибким, масштабируемым, и как можно более широко доступным. Это великая неделя для всего Open Source; победители в каждой категории показали, что OSS может производить достойные решения для широкого круга потребностей».

Так же определились победители в категориях: best Open Source PHP Content Management System, best non-PHP CMS, best Open Source Social Networking и так же наиболее перспективная Open Source CMS. В номинации best Open Source PHP CMS первое место заняла Joomla!, потеснив Drupal на второе место. Призовой фонд в этом году составил в общей сложности $ 20 000.
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии66

Основы масштабирования

Время на прочтение10 мин
Количество просмотров63K
Прочитав в этом блоге о балансировке на стороне клиента, решил опубликовать свою статью, в которой описаны основные принципы масштабирования для web-проектов. Надеюсь, хабралюдям будет интересно почитать.

Основы масштабирования



Масштабируемость — способность устройства увеличивать свои
возможности
путем наращивания числа функциональных блоков,
выполняющих одни и
те же задачи.
Глоссарий.ru

Обычно о масштабировании начинают думать тогда, когда один
сервер не справляется с возложенной на него работой. С чем именно он не
справляется? Работа любого web-сервера по большому счету сводится к основному
занятию компьютеров — обработке данных. Ответ на HTTP (или любой другой) запрос
подразумевает проведение некоторых операций над некими данными. Соответственно,
у нас есть две основные сущности — это данные (характеризуемые своим объемом) и
вычисления (характеризуемые сложностью). Сервер может не справляться со своей
работой по причине большого объема данных (они могут физически не помещаться на
сервере), либо по причине большой вычислительной нагрузки. Речь здесь идет,
конечно, о суммарной нагрузке — сложность обработки одного запроса может быть
невелика, но большое их количество может «завалить» сервер.

Читать дальше →
Всего голосов 68: ↑67 и ↓1+66
Комментарии49

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность