Pull to refresh
0
0
Николай @anp-nikolja

Веб-разработчик

Send message

Парсинг JSON — это минное поле

Reading time25 min
Views159K
image

JSON — это стандарт де-факто, когда заходит речь о (де)сериализации, обмене данными в сети и мобильной разработке. Но насколько хорошо вы знакомы с JSON? Все мы читаем спецификации и пишем тесты, испытываем популярные JSON-библиотеки для своих нужд. Я покажу вам, что JSON — это идеализированный формат, а не идеальный, каким его многие считают. Я не нашёл и двух библиотек, ведущих себя одинаково. Более того, я обнаружил, что крайние случаи и зловредная полезная нагрузка могут привести к багам, падениями и DoS, в основном потому, что JSON-библиотеки основаны на спецификациях, которые со временем развиваются, что оставляет многие вещи плохо или вообще не задокументированными.

Читать дальше →
Total votes 170: ↑164 and ↓6+158
Comments60

Лучшие бесплатные коллекции векторных иконок

Reading time2 min
Views339K
Привет, Хабр! Сегодня я хочу представить вам огромную коллекцию из 51 набора бесплатных векторных иконок. Да, есть потрясающие ресурсы Flaticon или Iconfinder, но бывают случаи, когда необходима именно группа иконок в едином стилистическом оформлении. Определиться с выбором, вам поможет эта подборка. Я старался собрать не как можно больше, а действительно самое лучшее.

Среди веб-разработчиков существует много споров о том, что лучше: иконочный шрифт или SVG спрайты? Четкого ответа на этот вопрос нет. Каждый выбирает свое. Данные наборы иконок вас неограничиывают в выборе, поскольку представлены в различных форматах: @font-face, SVG, EPS, AI, PSD, Sketch.

В целом данная подборка содержит более 10 000 иконок, охватывающих множество категорий: интерфейсы, технологии, наука, спорт, маркетинг, среда, транспорт и тд. Полые, заполненные, цветные, во Flat, Material, Elegant, Cartoon, Hand drawing стилях.

Responsive Icons (100 иконок, PSD, AI, EPS, SVG)


Responsive Icons

Читать дальше →
Total votes 91: ↑82 and ↓9+73
Comments23

Создание веб-сайта. Курс молодого бойца

Reading time24 min
Views843K
Как-то меня попросили провести небольшой семинар в лицее, где я когда-то учился, по созданию веб-сайта. В процессе написания речи я подумал, что она может вылиться в материал, который, возможно, будет полезен многим начинающим в области веб-дизайна, вёрстки веб-страниц и пр. Я не претендую на истину в первой инстанции и всё изложенное носит чисто личностный взгляд на работу с дизайном и кодом. Статья даёт поверхностный взгляд на понятия и средства, которые, на мой взгляд, могут стать неплохим стартом для того, кто готов идти дальше.
Читать дальше →
Total votes 86: ↑77 and ↓9+68
Comments46

Как Windows 10 собирает данные о пользователях

Reading time5 min
Views412K


Информация о том, что Windows 10 собирает данные о пользователях, не нова. Еще в 2014 году компания Microsoft опубликовала заявление о конфиденциальности, из которого следует, что на ее серверы может передаваться информация об использованных программах, устройстве и сетях, в которых они работают. Эти данные могут объединяться с идентификатором пользователя (учетная запись Microsoft), также собирается информация об адресе электронной почты, предпочтениях, интересах местоположении, и многом другом.

Чешское издание Aeronet.cz опубликовало расследование неназванного ИТ-специалиста, который решил отследить активность Windows 10 по сбору данных. В ходе исследования использовались следующие инструменты: программа Destroy Windows 10 Spying, блокирующая передачу данных на серверы Microsoft, PRTG Network Monitor, Windows Resource Monitor и Wireshark. По мнению исследователя, Windows 10 — больше похожа на терминал по сбору данных, чем на операционную систему.
Читать дальше →
Total votes 137: ↑123 and ↓14+109
Comments581

Подробное руководство по установке Android-x86

Reading time3 min
Views251K
Эмулятор который идет в комплекте с Android SDK, не очень шустрый.
Основная идея использовать VirtualBox + Android X86, для преодоления проблем с производительностью.

Что нам необходимо:
Среда разработки Eclipse + Android SDK тут,
а также VirtualBox.

Под катом много картинок, и процесс установки, а также некоторые полезные советы.
Читать дальше →
Total votes 117: ↑109 and ↓8+101
Comments32

Чек-лист из 68 пунктов для продвижения сайта в ТОП10 Яндекса

Reading time5 min
Views136K
Чтобы Яндекс показал Ваш сайт в числе первых, нужно чтобы он максимально полно отвечал на запрос пользователя. И это будет уже половина успеха. Оставшаяся половина это удобство, техническая составляющая сайта и его простота. Ниже я привел чек-лист из 68 пунктов, который был разработан специально для системы управления задачами PTYSH, совместно с компанией DFAKTOR. А теперь я делюсь им с Вами. Кропотливое выполнение каждого пункта из данного чек-листа позволит вывести практически любой сайт на самый верх поисковой выдачи. Но придется как следует поработать. Начнем с самого малого.


Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments32

Вёрстка адаптивных email-писем: подробное руководство (часть 1)

Reading time8 min
Views87K


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

Зачем нужно адаптировать письма для мобильных устройств


Значительная часть аудитории различных компаний, занимающихся email-маркетингом, просматривают письма на мобильных устройствах. Во время исследования Campaign Monitor от 2011 года выяснилось, что почти 20% открытий писем происходили на смартфонах и планшетах — в 2009 году эта цифра находилась на уровне всего в 4%. Почти 90% от этих открытий осуществлялись на устройствах под iOS. Сейчас цифры еще выше.

В этом руководстве мы рассмотрим несколько способов улучшения отображения почтовых рассылок на мобильных устройствах (от использования media queries при вёрстке адаптивных шаблонов до более продвинутых техник). Кроме того, мы рассмотрим различные вопросы дизайна, которые возникают еще на этапе планирования рассылки, а также поговорим о том, каким образом стоит размещать формы подписки для получения писем на смартфонах и планшетов.
Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments10

Видеонаблюдение загородом посредством 3G интернета

Reading time8 min
Views116K
Появилась такая задача: Установить видеонаблюдение, в 15 км от города, где доступен только gprs интернет.
Условия:
  • Камерами можно будет управлять через интернет
  • Ограниченный бюджет
  • В городе есть 3G интернет но в области нет.
  • Сотовые операторы не дают «Белый и статический ip адрес».
  • Другого интернета нет.


Что бы решить данную задачу я решил построить такую сеть.
Взять самый дешевый сервер VDS. Недорогой роутер TP-LINK MR 3420, 3G модем от beeline, ip камеру. И построить такую сеть как на схеме.
Суть идеи такова: На сервере поднимается openvpn сервер, на роутере поднимается openvpn клиент, далее объединяем локальную сеть с сетью openvpn. Затем пробрасываем необходимые порты на сервере.


Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments18

Как сделать прибыльной разработку дизайна сайтов (часть 5)

Reading time6 min
Views17K
image

Сегодняшняя тема пойдет о первом макете. Начну сегодня с того, что забегу далеко вперед и покажу вам переписку с клиентом (слева) и исполнителем (справа). В тексте выше исполнитель дал клиенту короткую ссылку на свой проект. О том, как настолько просто и коротко общаться с клиентами, расскажу ниже. Но а сейчас давайте начнем с начала.

image

Работа без простоев


Статья может показаться слишком простой бывалым и слишком сложной начинающим. Наберитесь терпения и дочитайте до конца. Как всегда, мы не разбираем, как и что рисовать. Наша задача — сделать работу, сделать ее в срок и уложиться в бюджет. Для 90% дизайнеров и веб-студий уложиться в бюджет — не что иное, как сделать работу в отведенное количество часов. При этом не важно, дизайнер у вас на почасовом окладе или на фиксированной з/п. Разработка — это «конвейер», нам нужно научиться работать без простоев. Вы сейчас подумаете: конвейер — это искусство, это дизайн, …. Нет — это деньги, как для вас, вашего руководителя, так и для клиента, который хочет заработать еще, и надеется, что ваш дизайн ему поможет.
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments2

Как сделать прибыльной разработку дизайна сайтов (часть 4)

Reading time5 min
Views21K
image

Сегодня обратимся к теме прототипов. Сразу хочу попросить 32% читателей, которые уже в курсе этой темы, не мешать остальным 49%, которые не пробовали работать с сервисами по созданию прототипов, разбираться в этом вопросе (по данным опроса «Знаете ли вы о существовании сервисов для создания прототипов» часть 2).

image

Тема «прототипирование»


Тут, наверное, лучше всего рассказать более абстрактно, чем конкретизировать и останавливаться на одном из сервисов, т.к. их, в отличие от других видов работ, достаточно много — более 50 популярных. Для тех, кто скептически настроен, скажу сразу — подойди я к себе несколько лет назад и расскажи, сколько можно сэкономить времени и насколько увеличить отдачу, то незамедлительно бы прямо сейчас купил сервис для прототипирования.

Как-то одним прекрасным солнечным утром, придя на работу и сделав кружку крепкого кофе, я решил открыть почту от клиента — и мне захотелось облить его этим горящим кофе, запустить в него кружку, порвать договор и заставить съесть подписанные им макеты (в письме клиент написал, на половине готовых работ: давайте переделаем верх, низ и две страницы — главную и список услуг).
Читать дальше →
Total votes 37: ↑29 and ↓8+21
Comments4

Как сделать прибыльной разработку дизайна сайтов (часть 3)

Reading time5 min
Views18K
image

В предыдущих статьях мы рассмотрели проблемы повседневности и их решение для темы «встреч». Сегодня рассмотрим решение следующей проблемы.

Тема сегодня «Постановка задачи»


Я бы с тобой согласился, но тогда мы оба будем неправы.

Напомню суть проблемы. У вас есть подписанный договор. В голове у вас мысли, напоминающие взбаламученную бурей воду. Много идей, что можно нарисовать. Множество мыслей, как удивить будущего посетителя нового ресурса, чтобы он зашел и сказал «WOW, its cool», и разослал знакомым или поставил лайк. У вас уже пошли мысли, как вам вручат награду thefwa, awwwards или cssdesignawards (.com). Иногда видится даже такой момент, когда выходишь с договором в руке и предоплатой на банковском счету: звучит музыка, светит солнце, тебе все вокруг улыбаются.
Читать дальше →
Total votes 16: ↑12 and ↓4+8
Comments6

Как сделать прибыльной разработку дизайна сайтов (часть 2)

Reading time3 min
Views20K
image

В предыдущей статье мы рассмотрели проблемы повседневности. Сегодня давайте рассмотрим решение одной из них.

Сегодняшняя тема «Встреча»


Идеальная встреча: та — которая не состоялась

Нет-нет, конечно же, я вас не отговариваю от прямых встреч. Но, поймите, их число должно быть равно трем. Презентация, подписание документов (тут конечно от договора зависит, но...), получение рекомендательного письма (конечно, если вы не разрабатываете ЦРМ, интранет … где, конечно, требуется внедрение, обучение и т.д.). Смысл в том, что когда вы приходите на встречу, то 70-80% времени уходит на обсуждение всего, кроме самого проекта.
Читать дальше →
Total votes 20: ↑14 and ↓6+8
Comments2

Как сделать прибыльной разработку дизайна сайтов (часть 1)

Reading time4 min
Views33K
image

Давайте сперва определимся, для кого эта статья (далее исполнитель), и с какими проблемами вы сталкиваетесь каждый день.
  • дизайнер-фрилансер;
  • дизайнер, работающий в web-студии / web-агенстве;
  • web-студия / web-агенство;
  • посредник между перечисленными выше и клиентом.
Читать дальше →
Total votes 40: ↑21 and ↓19+2
Comments11

Выразительный JavaScript: Функции

Reading time17 min
Views231K

Содержание




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

Дональд Кнут


Вы уже видели вызовы функций, таких как alert. Функции – это хлеб с маслом программирования на JavaScript. Идея оборачивания куска программы и вызова её как переменной очень востребована. Это инструмент для структурирования больших программ, уменьшения повторений, назначения имён подпрограммам, и изолирование подпрограмм друг от друга.

Самое очевидное использование функций – создание нового словаря. Придумывать слова для обычной человеческой прозы – дурной тон. В языке программирования это необходимо.

Средний взрослый русскоговорящий человек знает примерно 10000 слов. Редкий язык программирования содержит 10000 встроенных команд. И словарь языка программирования определён чётче, поэтому он менее гибок, чем человеческий. Поэтому нам обычно приходится добавлять в него свои слова, чтобы избежать излишних повторений.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments7

Google WebFonts и FontFaceObserver. Используем сторонние шрифты на своем веб-сайте

Reading time5 min
Views34K

WebFonts. История


WebFonts — это технология использования сторонних шрифтов на своей веб-странице. Один из примеров:



Если начинать с истоков, тег font был введен в 1995 году, а уже в 1996-м было написано программное определение на CSS. Начиная с версии CSS 2.0 была введена загрузка и синтез шрифта в браузерах, но тем не менее тогда еще популярный, а ныне старый и неактуальный IE не имел поддержки загрузки шрифтов, что мешало бурному развитию использования шрифтов на своем сайте.

В современном интернете веб-шрифты — это давно устоявшаяся вещь. На разных сайтах мы можем использовать разного рода шрифты, которые, в свою очередь, не включены в поставку той или иной операционной системы, однако есть нежелательный побочный эффект, о котором мы сегодня и поговорим.
Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments11

Как мы разрабатывали интеграцию интернет-магазина с 1С: Предприятие и почему она стала массовой. Часть 3

Reading time8 min
Views61K
В завершающей части рассказа о нашей реализации интеграции интернет-магазина 1С: Битрикс с системой 1С: Управление торговлей, хотелось бы рассказать о решении бизнес-задачи по обмену данными по заказам покупателей.

image
Читать дальше →
Total votes 88: ↑67 and ↓21+46
Comments56

Как мы разрабатывали интеграцию интернет-магазина с 1С: Предприятие и почему она стала массовой. Часть 2

Reading time7 min
Views104K
Продолжу рассказ на тему интеграции интернет-магазинов с бэкофисом и подходе к их решению в нашей реализации интеграции интернет-магазина 1С: Битрикс с системой 1С: Управление торговлей.

В первом посте на эту тему мы рассуждали о том, как были проанализированы задачи, которые стоят перед владельцами интернет-магазинов, выбрана концепция обмена данными и разработан протокол обмена между 1С и интернет-магазином.

В продолжении темы хотелось бы рассказать более подробно, как в результате выглядит обмен и его настройка, как со стороны бэкофиса 1С, так и со стороны интернет-сайта. А также показать как решались задачи для оптимизации работы с большими объемами данных.
Читать дальше →
Total votes 66: ↑53 and ↓13+40
Comments48

Как мы разрабатывали интеграцию интернет-магазина с 1С: Предприятие и почему она стала массовой

Reading time9 min
Views110K
Как обеспечить актуальный каталог товаров и их наличие на сайте и обработать заказы покупателей в соответствии с внутренними бизнес-процессами? Многие владельцы интернет-магазинов сталкиваются с данной задачей.

Интегрировать отдельно взятый интернет-магазин с учетной системой предприятия в целом несложно. Реализовать готовую интеграцию в коробочной поставке CMS-системы и сделать ее простой и понятной для массового использования, универсальной для различных задач — непростая и интересная задача. Данный топик — о нашем опыте разработки интеграции интернет-магазина с популярной учетной системой 1С: Предприятие.



Под катом мы расскажем как ставились задачи, выбиралась архитектура и технические решения, что получилось в итоге, как это настраивается и работает.
Читать дальше →
Total votes 91: ↑61 and ↓30+31
Comments81

Как сделать модуль 1С-Битрикс

Reading time4 min
Views77K
В сети легко можно найти мануал по созданию модулей с пользовательскими компонентами, но не рассматриваются другие типичные ситуации. А между тем, это могло бы помочь развитию разработчиков и улучшению общего уровня кода под Битрикс.

Можно много спорить о самом Битриксе, но он продолжает существовать, и разработчикам нужны знания. Я опишу создание модулей на примере шуточного модуля “Почта России”. Он запретит редактирование элементов инфоблоков в субботу, воскресенье и в обед.
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments13
12 ...
7

Information

Rating
Does not participate
Location
Волгоград, Волгоградская обл., Россия
Registered
Activity