Pull to refresh
0
0

User

Send message

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

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

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

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


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

Youtube

Reading time1 min
Views222K
Приходится ждать загрузки видео >360p по несколько секунд, обрывы на середине просмотра стало уже обыденным делом и это с достаточно широким каналом.

image

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

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

173.194.55.0/24 и 206.111.0.0/16
Читать дальше →
Total votes 205: ↑147 and ↓58+89
Comments179

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

Reading time3 min
Views31K

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

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

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

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

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

SEO-карта
Читать дальше →
Total votes 97: ↑88 and ↓9+79
Comments81

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

Reading time4 min
Views34K
В предыдущем посте я писал про разработку собственной матрицы под XviD. Той статьи не было бы, если б я сразу занялся x264. А занялся я им, потому что видел, что такие проблемы XviD, как квадратичность, искажение градиента цвета, ореол вокруг объектов, устраняются в x264.
Целью задачи стало выяснение этих возможностей кодека, а также скорости кодирования и размера файла. x264 успешно справился со всеми задачами и ниже вы узнаете, как это сделать легко и непринуждённо.
Читать дальше →
Total votes 19: ↑14 and ↓5+9
Comments20

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

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


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

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


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

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

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

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

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

Reading time2 min
Views3K
Пришло время и я открою главную тайну:

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

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

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

Reading time5 min
Views39K

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


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

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

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

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

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

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

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

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

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

Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments85

Вышла GUI Design Studio Beta 3

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

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

Reading time10 min
Views18K

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


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

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

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

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

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

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

Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments32

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

Reading time2 min
Views1.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.
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments66

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

Reading time10 min
Views62K
Прочитав в этом блоге о балансировке на стороне клиента, решил опубликовать свою статью, в которой описаны основные принципы масштабирования для web-проектов. Надеюсь, хабралюдям будет интересно почитать.

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



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

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

Читать дальше →
Total votes 68: ↑67 and ↓1+66
Comments49

Information

Rating
Does not participate
Registered
Activity