Pull to refresh
0
0
Алексей Черепанов @Udjine

web-разработчик

Send message

Обходим проверку сертификата SSL

Reading time2 min
Views158K

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

Читать дальше →
Total votes 22: ↑13 and ↓9+11
Comments23

Становимся волшебниками в программировании. Часть 2

Reading time1 min
Views10K

Читайте часть 1 вот тут.
Если вы давно хотели стать программистом, но не знали с чего начать, то начните с этого комикса. В нем о том, как задавать правильные вопросы, чтобы получать полезные ответы и читать исходный код.


Читать дальше →
Total votes 28: ↑19 and ↓9+10
Comments5

Моё разочарование в софте

Reading time11 min
Views388K

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


Я занимаюсь программированием уже 15 лет. Но в последнее время при разработке не принято думать об эффективности, простоте и совершенстве: вплоть до того, что мне становится грустно за свою карьеру и за IT-отрасль в целом.

Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.

Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений.
Total votes 505: ↑474 and ↓31+443
Comments2474

Сам себе VDS-провайдер

Reading time5 min
Views15K


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

Можно найти своего надёжного VDS-хостера. Или убить всех ситхов самому и сделать собственную звезду смерти (ноду) — заказать выделенный сервер и перенести туда все свои VDS. Ведь тогда мы точно будем знать, что все ресурсы только наши и всегда будут доступны. Да ещё и ставить сможем любую ОС, какую захотим, любой софт, который приспичит, а Битрикс будет радовать попугаями благодаря высокой частоте процессора. Кто знает, может даже начальство расщедрится и выпишет премию. Поехали!
Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments19

О том, как в Instagram отключили сборщик мусора Python и начали жить

Reading time8 min
Views45K
Отключив сборщик мусора Python (GC), который освобождает память, отслеживая и удаляя неиспользуемые данные, Instagram стал работать на 10% быстрее. Да-да, вы не ослышались! Отключив сборщик мусора, можно сократить объем потребляемой памяти и повысить эффективность работы кэша процессора. Хотите узнать, почему так происходит? Тогда пристегните ремни!

Читать дальше →
Total votes 70: ↑68 and ↓2+66
Comments29

Пишите меньше кода, блин

Reading time4 min
Views70K

Я не самый талантливый кодер в мире. Правда. Так что я стараюсь писать как можно меньше кода. Чем меньше кода я пишу, тем меньше кода может ломаться, поддерживаться и требовать пояснений.


А еще я ленивый — мед, да еще и ложкой (я решил использовать в статье аналогии с едой).


Но, оказывается, что единственный гарантированный способ повысить производительность в вебе — это писать меньше кода. Минифицировать? Окей. Сжимать? Ну, да. Кэшировать? Звучит неплохо. Вообще отказываться кодить или использовать чужой код изначально? А вот теперь — в яблочко! Что есть на входе — должно выйти на выходе в той или иной форме, независимо от того, смог ли ваш сборщик растворить и переварить это своими желудочными соками (я, пожалуй, откажусь от пищевых аналогий).


И это не все. Кроме видимых улучшений производительности, где вам требуется то же количество кода, но его сначала нужно разжевать (не смог удержаться), вы также можете сэкономить. Моему провайдеру без разницы, посылаю ли я кучу маленьких писем или одно большое: все складывается.


В стремлении к уменьшению мне больше всего нравится вот что: в конце остается только то, что реально нужно, только то, что по-настоящему требуется пользователю. Огромная фотка какого-то чувака, пьющего латте? Выкинуть. Кнопки социальных сетей, которые подсасывают кучу левого кода и ломают дизайн страницы? Пинок под зад им. Эта хреновина на JavaScript, которая перехватывает правый клик и показывает кастомное модальное окно? Выставить на мороз!


Речь идет не только про подключение штук, которые ломают интерфейс. То, как вы пишете свой собственный код, тоже играет большую роль в стремлении к уменьшению кода. Вот несколько советов и идей. Я писал о них ранее, но в контексте удобства и отзывчивого дизайна. Просто так получается, что гибкий, удобный веб требует меньше контроля с нашей стороны и его сложнее сломать.

Читать дальше →
Total votes 116: ↑101 and ↓15+86
Comments46

Как стать профессиональным веб-разработчиком: практическое руководство

Reading time12 min
Views652K

Дорога длинна и трудна, но интересна и полезна!

Статья задумывалась как практическое руководство для желающих стать профессиональным веб-разработчиком. Я уже более 20 лет пишу код для веба. Я ежедневно работаю с веб-разработчиками и помогаю им. В статье я опишу, что вам нужно выучить, когда вам нужно это выучить и где взять информацию (чаще всего даже бесплатно). Затем я дам совет по получению реального опыта, и что самое важное – по получению денег за написание кода.

По статье разбросано множество ссылок на бесплатные и важные ресурсы. Для простоты я собрал их в PDF и разбил по категориям. Мне не платят за упоминания сайтов, ссылки на которые я привёл – я всего лишь хочу порекомендовать вам лучшие ресурсы, чтобы помочь вам достичь вашей цели.

Что нужно помнить:

1. Статью разрешается пролистывать

Руководство может помочь вам вне зависимости от вашего положения на дороге к профессиональной разработке. Прокрутите его к тому заголовку, который лучше всего описывает ваше сегодняшнее положение, и читайте оттуда. Если вы только начали этот путь, или пока размышляете об этом – последуйте совету Короля из «Алисы в стране чудес»:

Начните с начала, и продолжайте, пока не дойдёте до конца; и там уже остановитесь.
Читать дальше →
Total votes 49: ↑38 and ↓11+27
Comments129

Руководство по HTML/CSS/JavaScript

Reading time13 min
Views210K

Frontend Guidelines

Правила и руководства оформления, форматирования HTML, СSS и JavaScript кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

От переводчика

Приветствую всех снова, меня зовут Максим Иванов, и сегодня я подготовил перевод, который, возможно, окажется для вас полезным. Бенджамин Де Кук (Benjamin De Cock), разработчик из Бельгии, собрал некоторые указания по оформлению кода, которые позиционируют себя как лучшие практики по написанию HTML, CSS, JS. Конечно, существует множество рекомендаций, например, есть хороший гайдлайн от Google, наверное, есть еще что-то, однако, если следовать хотя бы некоторым из них, то можно надеяться, что ваш код станет лучше. В отдельных случаях следование этим гайдлайнам не полезно, а совсем наоборот. В общем и целом, все зависит от вашего опыта и виденья дела, если вы новичок, то скорее вам будет полезно оценить то, что пишут другие и в обществе считается верным, если вы гуру, то наверное вам и не нужны гайдлайны, которые написаны непонятно кем на ваш взгляд. Итак, приступим.
Читать дальше →
Total votes 38: ↑29 and ↓9+20
Comments38

Несколько дельных советов по CSS

Reading time4 min
Views55K

CSS Protips

Это современные решения типичных проблем, коллекция советов, которая поможет вам улучшить ваши профессиональные навыки CSS.

От переводчика

Приветствую, для вас подготовлен еще один перевод заметок на тему CSS. Мэтт Смит, разработчик из Портленда, поделился CSS-советами и выложил их на GitHub. Мне особенно понравилась его подборка, она структурирована, не особо громоздкая в плане скучных больших текстов и описаний, и в целом будет понятна даже новичку. Я буду рад, если в комментариях мы с вами обсудим каждый пункт и в итоге дадим некоторые заключения. Итак, приступим.



Cодержание


  1. Используем псевдо-класс :not для задания рамки навигации
  2. Добавляем межстрочный интервал элементу body
  3. Центрируем по вертикали все что угодно
  4. Правильно разделяем запятыми элементы списков
  5. Отрицательный порядковый номер в nth-child
  6. Используем SVG-логотипы
  7. Аксиоматический CSS
  8. Максимальная высота у CSS-слайдера
  9. Наследуем box-sizing
  10. Одинаковая ширина ячейки таблицы
  11. Динамические внешние отступы при помощи flexbox
  12. Используем селектор атрибутов пустых ссылок
  13. Стили по умолчанию для обычных ссылок
Читать дальше →
Total votes 26: ↑21 and ↓5+16
Comments28

Конкурс по Material Design: объявляем победителей

Reading time4 min
Views27K
Привет, Хабрахабр! Настало время объявить победителей конкурса по Material Design (MD). Участников конкурса было так много, что нам пришлось увеличили количество призовых мест, чтобы не оставить без внимания достойные приложения и отличные редизайны Мы благодарим всех участников конкурса, а ниже чествуем победителей нескольких номинаций :)

image
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments20

Коллекция практических советов и заметок по вёрстке

Reading time32 min
Views177K

CSS Refresher


Это большая коллекция практических советов и заметок по вёрстке. Своеобразная памятка для тех, кто каждодневно использует CSS. Освещаются самые разные темы, от деталей поведения плавающих элементов до использования SVG и спрайтов. Проект постоянно обновляется, активное сообщество github также принимает в нем участие, там добавляются интересные замечания, о которых, возможно, вы и не слышали.

От переводчика


Приветствую всех, меня зовут Максим Иванов, и сегодня я подготовил для вас перевод заметок разработчика из Сан-Франциско Васанта Кришнамурти (Vasanth Krishnamoorthy) «CSS Refresher». Web-программирование одна из самых быстро развивающихся отраслей в наше время. Казалось бы, возьми какой-нибудь видеокурс на tuts+ и освой html-верстку, однако, как говорил разработчик Opera Software Вадим Макеев, выступая на конференции CodeFest, они все равно это делают плохо. Но давайте посмотрим, может мы итак все это знаем.

Содержание


  1. Позиционирование (position)
  2. Отображение элемента в документе (display)
  3. Плавающие элементы (float)
  4. CSS селекторы
  5. Эффективные селекторы
  6. Переотрисовка и перерасчет
  7. CSS3 свойства
  8. CSS3 медиа-запросы
  9. Адаптивный web-дизайн
  10. CSS3 переходы
  11. CSS3 анимации
  12. Масштабируемая векторная графика (SVG)
  13. CSS спрайты
  14. Вертикальное выравнивание
  15. Известные проблемы

Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments33

NW+Edge.js+Fiddler или сказ о стыкуемости нестыкуемого

Reading time4 min
Views4.8K
Привет всем.
Не так давно прочел статью Что нам стоит сайт распарсить. Основы webdriver API и вспомнил, что давно собирался довести хотя бы до относительно рабочего состояния одну забавную задумку. Руки все-таки дошли, а значит пора поведать, что же получилось.
Есть такая замечательная программа — Fiddler, позволяющая перехватывать и модифицировать http/https запросы. Есть замечательная штука под названием NW.js, она же node-webkit, позволяющая тыр… парсить разнообразные сайты в том числе. Вы красивы, я прекрасен — почему бы нам не подружиться?
Собственно, затея вот в чем: можно было бы, конечно, отдельно поднять Fiddler, написать в нем логику и гонять через него трафик с node-webkit-но это не так интересно. А значит, будем совмещать все под одной крышей, благо у Fiddler есть библиотека на C# — FiddlerCore.
Под ноду есть отличный модуль — Edge.js. Это такая хитрая штука, которая позволяет исполнять код C# (и не только). Есть под ноду? Замечательно, можно завести и под nw.js, благо даже мануал есть — да вот же он!

Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments4

Laravel. Интернет-ресурсы

Reading time4 min
Views64K

Привет Хабр!

Когда я узнал, что на Хабре у Laravel появился собственный хаб, то сразу понял о чем будет моя первая статья для Хабрахабр. Точнее не статья, а обзор интернет-ресурсов о Laravel, большую часть которых я использую для того, чтобы каждый день радовать участников нашего сообщества свежими новостями. И, конечно же, это не все ресурсы, а только самые интересные и полезные. А если кому-то из вас интересны не только ссылки на интернет-ресурсы, но и сами материалы по Laravel, то с радостью приглашаю к нам в группу ВКонтакте. Так получилось, что за все время своего существования, а это всего 10 месяцев, наша группа стала самым большим и полным в мире ресурсом по количеству материалов о фреймворке Laravel. И другого такого Laravel интернет-ресурса я не знаю.
Читать дальше →
Total votes 63: ↑48 and ↓15+33
Comments43

Стабильный релиз Node v5

Reading time2 min
Views16K

На прошлой неделе состоялся релиз Nodejs v5. Эта ветка включает в себя порцию новых возможностей и будет развиваться параллельно c веткой Node v4.x, которая является стабильной LTS веткой с длительным сроком поддержки в 30 месяцев. Релизы Node v5.x будут осуществляться раз в 8 месяцев.

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

Подробности под катом.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments2

Как начать работать с GitHub: быстрый старт

Reading time6 min
Views1.2M


Распределенные системы контроля версий (DVCS) постепенно замещают собой централизованные. Если вы еще не используете одну из них — самое время попробовать.

В статье я постараюсь показать, как можно быстро начать экспериментировать с git, используя сайт github.com.

В статье не будут рассмотрены различия между разными DVCS. Также не будет детально рассматриваться работа с git, по этой теме есть множество хороших источников, которые я приведу в конце статьи.
Читать дальше →
Total votes 182: ↑165 and ↓17+148
Comments51

Анимации c помощью Transitions API

Reading time11 min
Views70K
Привет!

На хабре ещё не была освещена тема Transitions API для анимаций, которые появились в Android начиная с 4.4 (KitKat) и продолжили свое развитие в 5.0 (Lollipop). В своей статье я расскажу о том, как упростить работу с анимациями с их использованием и как применять их на любом устройстве с версией Android 4.0 и выше.


Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments20

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

Reading time3 min
Views20K
image

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

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


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

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

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №132 (27 октября — 2 ноября 2014)

Reading time6 min
Views45K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →
Total votes 60: ↑43 and ↓17+26
Comments10

Несколько интересностей и полезностей для веб-разработчика #32

Reading time5 min
Views51K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

ICEcoder



Это не просто песочница, а полноценный open source редактор в вашем браузере. Вообще существуют десктопные версии, но по-моему, наибольшие внимание разработчики уделают веб-версии. ICEcoder поддерживает HTML, CSS, LESS, SASS, JS, Coffee, PHP, RonR, Python, C/C++/C#, Java, Lua, Rust, SQL, Markdown, всего более 60 языков! Фичи: возможность совместной работы с кодом, Emmet, LiveReload, работа с БД, колопикер, diff tool, линтеры и еще целое множество удачных интерфейсных решений. Повторюсь — это все в вашем браузере!

Читать дальше →
Total votes 61: ↑53 and ↓8+45
Comments9

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

Reading time5 min
Views18K
image

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

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


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

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

Information

Rating
Does not participate
Location
Иркутск, Иркутская обл., Россия
Works in
Date of birth
Registered
Activity