Как стать автором
Обновить
0
0
Konstantin Konstantinov @zxcat

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

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

27 open-source ништячков для iOS разработчика

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

1. DZNEmptyDataSet


Это должно быть стандартом, встроенным в iOS, как способ работы с пустыми таблицами и просмотром коллекций. По умолчанию, если табличное представление пустое, то на экране ничего не отображается. Это не лучший пользовательский опыт, который вы можете получить.

С этой библиотекой вам необходимо всего лишь соответствовать определённым протоколам и iOS сама позаботиться о просмотре коллекций и выделит необходимое особым шрифтом, в виде красивых сообщений для пользователя. Элементарное решение для каждого проекта под iOS.

image


Всего голосов 29: ↑23 и ↓6+17
Комментарии9

Анимированные Линии в iOS

Время на прочтение8 мин
Количество просмотров10K
Доброго времени суток iOS-разработчики и им сочувствующие! Хочу поделиться с вами одной простой, но в то же время довольно симпатичной анимацией для текстовых полей и прочих вьюх на iOS. Думаю, каждый, кто хотя бы мельком сталкивался с CALayer и Core Animation вообще, знает об этих возможностях, а вот новичкам может быть интересно и натолкнет на изучение более глубоко Core Animation.
Всего голосов 12: ↑9 и ↓3+6
Комментарии3

Писать веб-сайты на ассемблере полезно и приятно

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

Конечно, многие скажут, что это ни-ни и писать для веба нужно только на PHP, ну или на один из модерных языках Питон, Руби, Node.js и т.д.


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


Вообще-то, это утверждение было лишь гипотезой. Чтобы доказать или отвергнуть ее, этой весной я занялся писать форум на ассемблере.


Раньше у меня уже было веб-приложение на ассемблере — CMS для малого сайта. Только оно работает в режиме "один пишет, многие читают". При том, использует CGI интерфейс и поэтому "многие" читать одновременно тоже не получается.

Читать дальше →
Всего голосов 156: ↑126 и ↓30+96
Комментарии429

Список бесплатных транзакционных, хостинговых и маркетинговых email-провайдеров

Время на прочтение5 мин
Количество просмотров38K
Если вы блоггер или управляете малым или средним бизнесом, то скорее всего вы не против сэкономить. Как раз на электронной почте можно сохранить несколько сотен долларов в год.

Существуют три вида почтовых услуг, которые могут пригодиться блоггеру или владельцу сайта:

  1. Транзакционные. Нужны для отправки писем о событиях, транзакциях, уведомлений о заказе, регистрационных данных и т.д.;

  2. Маркетинговые. Нужны при осуществлении новостной рассылки, проведении акций, обновлениях в блоге и т.д.;

  3. Хостинг почты. Нужен для получения и отправки электронных писем (потребуется, если вы пользуетесь виртуальными серверами, например, DigitalOcean, Linode и т.п.).

image
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии11

Оживление старого кода или как сделать хорошо приложению, которому плохо

Время на прочтение11 мин
Количество просмотров13K
Признаться, я играю в игры не чаще, чем пишу на хабре, но к жанру «ритмических» всегда питал некую слабость. В своё время мне очень нравилась Audiosurf, позже сталкивался с разными её клонами, Beat Hazard, osu. Ещё позже наткнулся в App Store на Deemo и Duet, от которых получил немало приятных минут.

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

Дальнейшее изложение пойдёт не о том, какие озлобленные чувства у меня вызвала халатность издателей, потерявших код и/или забивших на обновление, а о получении желаемого в ситуации лёгкой безысходности.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии4

Боль и анимация таблиц для iOS. Фреймворк Awesome Table Animation Calculator

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

Представим себе экран обычного мобильного приложения с уже заполненным списком ячеек. С сервера приходит другой список. Нужно посчитать разницу между ними (что добавилось/удалилось) и проанимировать UICollectionView.


«Простой» подход — полностью заменить модель с последующим вызовом reloadData. К сожалению, при этом теряются анимации и могут возникать другие нежелательные эффекты и тормоза. Куда интереснее редактировать списки аккуратно, анимированно. Попробовав это сделать несколько раз, я убедился, что это неимоверно трудно.


Раз проблема встретилась в нескольких проектах, нужно её обобщить и работать дальше с обобщённой реализацией. Интересная задача! Несколько дней борьбы с документацией, здравым смыслом, багами реализации таблиц в iOS, и получился код с достаточно простым интерфейсом, адаптирующийся к широкому кругу задач, про который я хочу рассказать.

Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии9

(Почему) Почта Mail.Ru включает строгий DMARC

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


На днях мы анонсировали включение строгой DMARC-политики на всех доменах, принадлежащих Почте Mail.Ru. На некоторых доменах, включая bk.ru и mail.ua, политика p=reject включена уже сейчас. В этой статье мы хотим пояснить некоторые технические детали такого включения и дать рекомендации владельцам сервисов, почтовых серверов и списков рассылки.
Читать дальше →
Всего голосов 65: ↑59 и ↓6+53
Комментарии86

Низкий FPS при прокрутке страницы. Решение проблемы background-attachment: fixed

Время на прочтение2 мин
Количество просмотров41K
Решил я тут недавно на одном из своих сайтов сделать легкий редизайн. И дошло дело до фона. Показался он мне каким-то скучным. Захотелось его немного «оживить». Подобрал подходящую картинку небольшого размера, загнал ее в свойство фона:

body{
	background: url("../images/bg.jpg") no-repeat center center / cover fixed;
}


и довольный нажал F5. Красота, да и только!

Начал скроллить страничку вниз и чувствую, что-то не то…


Такое чувство, как будто я играю в Crysis на очень старом компьютере. Почему же на сайте начались «тормоза» и прокрутка проходит рывками?

Я начал свое расследование…
Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии33

Как мы боролись с парсерами

Время на прочтение16 мин
Количество просмотров36K
image
Ключевые моменты:
* Реализация скрипта для проверки PTR посетителей;
* Конфигурирование nginx в IfIsEvil-style с ветвлениями map;
* Имена location в переменных map;
* Управление ветвлением через try_files /nonexist $map_var.

Многие высоконагруженные и популярные сайты страдают от того, что кроме живых посетителей их посещают разнообразные парсеры, боты и прочие автоматические сканеры, которые не несут никакого полезного эффекта, а только создают паразитный трафик и нагрузку на, и без того, нагруженную систему. В данном случае я не имею виду поисковых ботов, которые хоть и зачастую нагружают проект не нормировано, но просто необходимы любому проекту.
Один из наших клиентов регулярно испытывал проблему лавинообразного роста нагрузки в определенное время суток. Периодически, раз в сутки и чаще происходили наплывы посещений со значительным ростом LA на серверах. Было принято решение построить защиту от паразитного трафика.

Читать дальше →
Всего голосов 39: ↑24 и ↓15+9
Комментарии59

Рекомендации на потоке

Время на прочтение7 мин
Количество просмотров13K
Всем привет!

Сегодня мы расскажем о том, как с помощью потоковой обработки данных можно увеличить качество рекомендаций и снизить время отклика всей рекомендательной системы в 5 раз. Речь пойдет об одном из наших клиентов – сервисе потокового видео Rutube.


Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии12

Что такое современная лингвистика. Лекция в Яндексе

Время на прочтение21 мин
Количество просмотров25K
В лингвистике сосуществуют две традиции описания языка: одна из них, до сих пор продолжающая традицию шумеров и древних греков, описывает язык фрагментарно — отдельно фонетику и фонологию, отдельно морфологию, отдельно синтаксис и т. д. Другая, идущая с четвертого — пятого веков до н. э. от индийского монаха Панини, описывает язык как интегральное целое — описание фонетики, морфологии, синтаксиса, семантики строится в виде взаимно ориентированных правил, с помощью которых из элементарных языковых единиц строятся тексты.

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



Лектор Александр Николаевич Барулин — сотрудник Института языкознания РАН. Закончил отделение структурной и прикладной лингвистики филологического факультета МГУ им. М. В. Ломоносова. Учился в аспирантуре Института востоковедения АН СССР, защитил диссертацию на тему «Теоретические проблемы описания турецкой именной словоформы» (1984). Проработал в Институте востоковедения 12 лет. В 1991 году совместно с В. К. Финном и Д. Г. Лахути организовал факультет информатики РГГУ и возглавил созданное на этом факультете отделение теоретической и прикладной лингвистики. В 1992 по проекту Барулина был организован факультет теоретической и прикладной лингвистики — он стал деканом этого факультета, а также заведующим кафедрой теоретической и прикладной лингвистики.

Под катом — подробная расшифровка лекции.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии14

Подборка бесплатных инструментов для разработчиков

Время на прочтение28 мин
Количество просмотров187K
Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

Читать дальше →
Всего голосов 96: ↑89 и ↓7+82
Комментарии38

Точки соприкосновения JavaScript и Reverse Engineering

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


Если вы посмотрите описания вакансий на позицию Reverse Engineer, то вряд ли встретите там требование знания JavaScript. А если и встретите, то только в контексте его деобфускации на разных вредоносных страницах, обычно используемых эксплойт-паками.
И возможно ли вообще сосуществование JS (который некоторые даже называют веб-ассемблером) и мира low level с Assembler во главе?

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

Червивые яблочки [БЕЗ JailBreak]

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


Историями про вредоносное ПО для ОС Android никого уже сегодня не удивить, разве только про rootkit-технологии или про новые концепты, заточенные под новое runtime-окружение ART. C вредоносным ПО для iOS противоположная ситуация: о нем если кто и слышал, то, как правило, только в контексте jailbreak. В 2014 году был вообще бум таких программ (AdThief, Unflod, Mekie, AppBuyer, Xsser). Но в этой статье мы поговорим про вредоносное ПО и его возможности для iOS без jailbreak…
Читать дальше →
Всего голосов 41: ↑32 и ↓9+23
Комментарии10

Яндекс выпустил антивирус для сайтов — Manul

Время на прочтение4 мин
Количество просмотров117K
Поиск Яндекса ежесуточно показывает людям больше восьми миллионов предупреждений о том, что страница, на которую они хотят перейти, заражена. Часто владелец сайта вспоминает о том, что его сайт может быть взломан и на нём может быть размещен вредоносный код, только тогда, когда худшее уже случилось, трафик упал, и пользователи успели заразиться.

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



Однако всегда хочется лучшего. Одна из главных проблем, с которыми мы сталкиваемся при общении с владельцами зараженных сайтов, — это поиск источника заражения на стороне сервера. У Яндекса, который каждые сутки размечает тысячи сайтов как зараженные вирусом и опасные для устройств человека, есть регулярно обновляемая база вирусов. И у нашей команды появилась идея, выросшая в большой проект, – антивирус для сайтов. Так мы создали Manul, который решили выложить в open source. Это утилита, которая поможет вебмастеру понять, что произошло с сайтом и вылечить его. Под катом я расскажу подробнее о том, как он устроен и какие проблемы решает.
Читать дальше →
Всего голосов 117: ↑110 и ↓7+103
Комментарии161

Полная энергетическая автономия или как выжить с солнечными батареями в глубинке (часть 5. Ловец Солнца)

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


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

«Мопед не мой», но для понимания принципа действия очень наглядно.

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

HowTo: DMARC

Время на прочтение6 мин
Количество просмотров116K
Недавно пришлось столкнуться со спамящим php-скриптом. Виновник был найден и уничтожен, дыра закрыта… Оставался вопрос с блэклистами. В частности перестала доходить почта на Gmail (reject).
Решил я настроить почту «как надо» — SPF, DKIM и попробовать настроить DMARC.
Оговорюсь сразу — я даже не пробовал разобраться с макросами и не настраивал aspf/adkim (хоть и написал о них).

Что такое DMARC?


Описан в RFC7489.
DMARC задает политику как проверять приходящую почту в этом домене и что делать если письма не проходят аутентификацию SPF или DKIM. На картинке показано на каком этапе вступает в работу DMARC.
image: DMARC and the Email Authentication Process
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии0

How-to: Правила вёрстки email-писем

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


Электронная почта — отличный инструмент коммуникации, который позволяет компаниям доставлять аудитории контент удобным для нее способом. При этом читать письма в формате plain text не всегда удобно, поэтому в современных новостных рассылках используются различные графические элементы.

Вёрстка HTML для электронной почты — интересная и довольно сложная задача. Письма должны одинаково хорошо отображаться на старых устройствах и версиях программных клиентов.

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

Примечание переводчика: Представленный ниже материал содержит значительное количество технических терминов, при переводе которых могут возникнуть неточности. Если вы заметили опечатку, ошибку или неточность перевода — напишите нам, и мы оперативно всё исправим.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии21

Под капотом образовательного проекта Хекслет

Время на прочтение5 мин
Количество просмотров16K
Привет, Хабр!



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

Напомню, Хекслет — это платформа для создания практических уроков по программированию в настоящей среде разработки. Под настоящей средой разработки мы подразумеваем полноценную машину, подключенную к сети. Эта важная деталь отличает Хекслет от других образовательных проектов (например, Codecademy или CodeSchool) — у нас нет симуляторов, все по-настоящему. Это позволяет обучать и обучаться не только программированию, но и работе с базами данных, серверами, сетью, фреймворками и так далее. В целом, если это запускается на Unix-машине — этому можно обучать на Хекслете. При этом, понимая это или нет, пользователи используют Test-Driven Development (TDD), потому что их решения проверяются юнит-тестами.

В этом посте я расскажу про архитектуру платформы Хекслет и инструменты, которые мы используем. О том, как на этой платформе создавать практически уроки — в следующей статье.
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии19

Nginx и https. Получаем класс А+

Время на прочтение4 мин
Количество просмотров163K
image

Недавно вспомнилось мне, что есть такой сервис — StartSsl, который совершенно бесплатно раздаёт trusted сертификаты владельцам доменов для личного использования. Да и выходные попались свободные. В общем сейчас напишу, как в nginx настроить HTTPS, чтобы при проверке в SSL Labs получить рейтинг А+ и обезопасить себя от последних багов с помощью выпиливания SSL.

Итак, приступим. Будем считать, что у вы уже зарегистрировались на StartSsl, прошли персональную проверку и получили вожделенный сертификат. Для начала опубликую итоговый конфиг, а после этого разберу его.
Читать дальше →
Всего голосов 61: ↑52 и ↓9+43
Комментарии85
1
23 ...

Информация

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