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

Веб-разработка *

Делаем веб лучше

Сначала показывать
Период
Уровень сложности

Онлайн-инструменты для кодеров

Время на прочтение2 мин
Количество просмотров282K
Онлайн-сервисы становятся все популярнее, постепенно усложняя функционал и улучшая интерфейсы. В этой подборке представлены онлайн-инструменты для кодеров.

Cloud9


«Это Google Docs, только для кода» — так говорят о проекте. Облачный сервис вырос из Mozilla Bespin. Основные фишки: SSH, drag-and-drop и возможность разработки оффлайн.

Читать дальше →
Всего голосов 204: ↑191 и ↓13+178
Комментарии55

Расширения Firefox для веб-разработки на все случаи жизни

Время на прочтение6 мин
Количество просмотров56K
Исторически сложилось так, что Firefox пользуется широкой популярностью среди веб-разработчиков благодаря его расширяемости через подключение всевозможных плагинов и дополнений, написанных сторонними разработчиками. Идея выделения функционала в расширения позволила решать массу всевозможных задач прямо в браузере, не прибегая к внешним инструментам.

Безусловно в этом списке вы обязательно найдёте уже знакомые расширения, однако огромный пласт полезных расширений всегда остаётся в стороне. Так что приготовьтесь установить ещё парочку расширений! :)

Встроенные инструменты разработки в Firefox


Перед началом списка было бы неправильно не упомянуть об инструментах, уже встроенных в Firefox. Здесь речь идёт о тех самых инструментах разработки в Firefox Aurora 10 и том функционале, который сегодня можно найти в любом современном браузере.

При разработке интерфейса этих инструментов было перепробовано множество подходов и решений. В результате получился довольно приятный интерфейс, который любой желающий может испробовать, установив Firefox Aurora (хм, вы ещё его не поставили?)



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

Читать дальше →
Всего голосов 216: ↑197 и ↓19+178
Комментарии55

Я бы пересмотрел вообще всё

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

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


Вот примеры.


1) Например, DRY — don’t repeat yourself. Хорошее полезное правило, но его можно довести до маразма. Из того что я встречал на практике: есть два разных по бизнес-смыслу раздела, которые начинались с простого CRUD, и многие части (и фронта и бека) выглядели во многом абсолютно одинаково. Если их объединить с помощью общей высосанной из пальца абстракции и тем самым избавиться от небольшого дублирования кода, то потом (очень скоро) можно будет сойти с ума, потому что эти две вещи скоро разъедутся, обрастая кастомными фичами, и абстракция будет только вредить. Нельзя абстрагировать неабстрагуемое, даже если DRY нарушен.


«[Немного] дублирования обходится гораздо дешевле, чем неправильная абстракция» — Сэнди Мец

Т.е. DRY — хороший принцип, но бывают исключения.

Читать дальше →
Всего голосов 261: ↑219 и ↓42+177
Комментарии346

Эти бесчисленные парадигмы, концепции, инструменты и фреймворки

Время на прочтение5 мин
Количество просмотров6.8K
Мое мировоззрение, как программиста, сформировалось еще во времена консольных приложений и текстовых пользовательских интерфейсов, на смену им пришли графические оконные GUI, а сейчас я наблюдаю уже третий виток технологий, связанный с глобальной сетью. Каждый раз, конечно же, приходилось менять не только любимый язык программирования, но и весь технологический стек, с наработками, заготовками и достаточно обширными библиотеками, кои сейчас гордо зовутся фреймворками. Резать приходилось по живому, нещадно и решительно.
Читать дальше →
Всего голосов 227: ↑202 и ↓25+177
Комментарии148

Истории

Электронная очередь абитуриентов

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

Введение


Хочу рассказать об одной интересной задаче, которая возникла передо мной и моим коллегой в университете. Хоть сейчас и лето, но жизнь там не угасает ни на минуту. Все суетятся, обрабатывают документы, подсчитывают абитуриентов, если все обобщать – сезон поступления в ВУЗы. Учусь я на техническом факультете университета, причем, учусь неплохо, поэтому нам предложили написание электронной очереди для поступления абитуриентов. Не долго думая, я и мой коллега (и по группе и по работе) согласились. Причиной не желания воспользоваться уже какими-то готовыми продуктами для университета стала заоблачная цена данных разработок, которая составляла порядка 300т.р. Может и не много, но для нашего города цена высокая, наверное, поэтому и решили привлечь студентов своего университета, ко всему прочему это ещё и неплохой опыт работы в данной отрасли.
Читать дальше →
Всего голосов 197: ↑187 и ↓10+177
Комментарии121

WebM: Google открыл видео-кодек VP8

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


Кажется войне Theora против H.264 пришёл конец. В битве между свободным и лучшим победило свободное и лучшее.

Как мы помним, Google недавно купила компанию On2. Это компания известна не только тем, что открыла VP3, который лёг к основу свободного кодека Theora, но и тем, что создала отличный видео-кодек VP8 который вполне может потягаться с текущим лидером H.264. Компании Google (как и многим другим) очень не выгодна война кодеков вокруг тега <video> в HTML5. Поэтому как только On2 была куплена сразу начали говорить, что VP8 скоро откроют, что и произошло недавно (лицензия BSD).

Однако VP8 — это только видео-код. Чтобы смотреть фильм, нужно ещё кодировать звук и собрать все потоки данных в один файл. Поэтому был предложен набор WebM: Vorbis в качестве аудио-кодека (известен некоторым под неправильным названием Ogg) и Matroska в качестве контейнера (известен из раздач торрентов, обладает кучей функций и основан на бинарном XML).

Конечно же новый стандарт не захватит мир сразу — он ещё в статусе dev preview, надо добавить поддержку в браузеры, на сайты и в чипы мобильных устройств. Поддержка уже есть в ночных сборках Firefox, Chromium, Opera и ffmpeg. А YouTube уже отдаёт видео в WebM (нужно включить HTML5 и добавить &webm=1 в URL) и наверняка на него перейдёт Википедия, потому что он свободный. Процесс пошёл и победа WebM — лишь вопрос времени.

Адрес проекта: webmproject.org.
Всего голосов 199: ↑188 и ↓11+177
Комментарии220

Верстка скругленных границ и острых углов

Время на прочтение4 мин
Количество просмотров20K
Сложность элементов интерфейса увеличивается с каждым новым макетом, что доставляет немало хлопот верстальщикам. Развивающиеся технологии позволяют создавать в WEBе сложные приложения (Google не даст мне соврать), поэтому дизайнеры себя не сдерживают и рисуют всё более навороченные вещи. Как правило, это приводит к большому количеству графики на страницах.

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

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

С днем веб-мастера!

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


Сегодня во всем мире веб-дизайнеры, и веб-девелоперы празднуют день веб-мастера.

Кто не знает, сегодняшняя дата, а именно, 4.04 является «магической цифрой», которая ассоциируется с 404 ошибкой, именно в честь 404-ой ошибки и считают этот день праздником веб-мастера.

Поздравляю всех веб-мастеров, и тех, кто хоть как-нибудь с этим связан. С праздником!
Всего голосов 219: ↑197 и ↓22+175
Комментарии68

«Hello, (real) world!» на php в 2017 году

Время на прочтение8 мин
Количество просмотров76K
Вы наверняка думаете, что писать на php — это просто. И «hello, world» выглядит примерно так так:

<?php
echo 'Hello, world!';

Конечно, чего еще ожидать от языка с низким порогом входа. Ну да, именно так и было раньше. Много лет назад. Но теперь, в 2017 году никто так уже не делает. Давайте рассмотрим, почему, и попробуем построить наше более реалистичное hello-world приложение по шагам, а их, скажу сразу, получилось не мало.

Читать дальше →
Всего голосов 347: ↑260 и ↓87+173
Комментарии571

Как стать ведущим разработчиком. Часть 1

Время на прочтение8 мин
Количество просмотров142K
Это перевод статьи, написанной Джоном Оллспоу, который на данный момент является старшим вице-президентом технического отдела в Etsy.

Продолжение перевода здесь

В нашей сфере деятельности нам доступны огромные объёмы знаний, в особенности тех, которые позволяют разработчику стать эффективным. Но почему-то, несмотря на существование множества книг о специфических задачах и обязанностях менеджеров в нетехнических областях, я практически не вижу новых книг или статей о том, как стать хорошим ведущим разработчиком. Замечательным исключением, конечно, являются статьи Кейт Maцудайры [от переводчика: на фотографии, кстати, именно она], немало написавшей о культурных составляющих инженерии.

Но в то же время, все мои знакомые преуспевающие разработчики помнят своих наставников, которые научили их тому, что значит быть „ведущим“.
Читать дальше →
Всего голосов 233: ↑203 и ↓30+173
Комментарии76

Семь смертных грехов программных систем, которых в 2011-м году стыдно не замечать

Время на прочтение5 мин
Количество просмотров2.8K
Я сам, как проектировщик интерфейсов и программист, с одной стороны вижу проблемы, а с другой понимаю, что одним мановением руки они не решаются, и во многих случаях у компромисса есть объективные причины. Но предлагаю не жевать сопли, а собрать волю в кулак и дружно шагать в светлое будущее. В конце концов, кто, если не мы?

Итак, грехи:
  1. Медлительность
  2. Блокирующее взаимодействие
  3. Неуместные ограничения
  4. Ненастроенность
  5. Несамостоятельность
  6. Забывчивость
  7. Гордыня

Проблем, конечно, намного больше, но эти выбраны с учетом веяний моды и того, что постепенно уже осознает мейнстрим. Под катом подробнее:
Читать дальше →
Всего голосов 229: ↑201 и ↓28+173
Комментарии460

Галерея эффектов кэшей процессоров

Время на прочтение10 мин
Количество просмотров25K
Ядро PenrynПочти все разработчики знают, что кэш процессора — это такая маленькая, но быстрая память, в которой хранятся данные из недавно посещённых областей памяти — определение краткое и довольно точное. Тем не менее, знание «скучных» подробностей относительно механизмов работы кэша необходимо для понимания факторов влияющих на производительность кода.

В этой статье мы рассмотрим ряд примеров иллюстрирующих различные особенности работы кэшей и их влияние на производительность. Примеры будут на C#, выбор языка и платформы не так сильно влияет на оценку производительности и конечные выводы. Естественно, в разумных пределах, если вы выберите язык, в котором чтение значения из массива равносильно обращению к хеш-таблице, никаких результатов пригодных к интерпретации вы не получите. Курсивом идут примечания переводчика.
Читать дальше
Всего голосов 181: ↑177 и ↓4+173
Комментарии47

Прекратите превращать программирование в религию (восклицательный знак)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров49K

Как вы меня задолбали, священники, святые отцы и монахи с кадилами. Сколько можно это терпеть? Я учился в университете, чтобы получить диплом по специальности, но вместо этого я получил пропуск в какую-то конспирологическую теоретическую секту.

Не верите?

Давайте я покажу вам.
Всего голосов 239: ↑205 и ↓34+171
Комментарии302

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн

CSS трюки — пишем сайт без html

Время на прочтение2 мин
Количество просмотров16K
В качестве предисловия к переводу. Открываем Firefox/Opera, переходим по ссылке, смотрим исходный код страницы и удивляемся. Потому что его нет. Под катом рассказ, как такое можно сделать.
Читать дальше →
Всего голосов 197: ↑184 и ↓13+171
Комментарии76

Про Git на пальцах (для переходящих с SVN)

Время на прочтение8 мин
Количество просмотров279K
Год назад мы с командой решили перейти с SVN на Git. Зачем это было надо — писать не буду, т.к. на эту тему уже и так много написано. А хочу я описать типичные алгоритмы работы, понятные человеку, который долгое время пользовался SVN. Ниже — памятка, написанная для команды год назад, чтобы легче было мигрировать. Надеюсь, кому-нибудь пригодится.
Читать...
Всего голосов 179: ↑175 и ↓4+171
Комментарии100

Эффект неисправного монитора для текста, картинок и SVG

Время на прочтение4 мин
Количество просмотров115K
Эффект Glitch Лукаса Беббера выглядит очень круто — как будто вы смотрите на текст на старом мониторе, который слишком часто роняли на пол и у него «плавает» вертикальная синхронизация и сведение.

Реализация этого эффекта на CSS выглядит вполне убедительно. Мне пришлось немного поломать голову, чтобы выяснить, как он работает, и теперь я хочу объяснить это вам. Кроме того, я воспроизвёл этот эффект не только для текста, но и для растровых изображений и SVG, а так же написал несколько примесей Sass, чтобы облегчить работу с ним.


Читать дальше →
Всего голосов 182: ↑176 и ↓6+170
Комментарии34

Джон Резиг: Пишите код каждый день

Время на прочтение5 мин
Количество просмотров129K
Прошлой осенью работа над моими побочными проектами зашла в тупик: я практически не продвигался вперёд и у меня никак не получалось делать больше, не принося в жертву свою основную работу в Khan Academy.

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

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

Услышав о невероятном эксперименте Дженнифер Девальт, которая решила изучить программирование, создав 180 сайтов за 180 дней, я отважился испробовать сходную тактику: работать над побочными проектами каждый день.

image
Иллюстрация Стивена Резига
Читать дальше →
Всего голосов 196: ↑183 и ↓13+170
Комментарии56

Firefox остался один

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

Кажется, мы стоим на пороге монополии одного браузерного движка. Вроде бы браузеров много: Chrome, Firefox, Edge, Safari, Brave, Opera, Vivaldi, Tor и десятки других… Но если присмотреться, картина вовсе не такая разнообразная. Большинство из них сделано на одном движке — Chromium. Даже Microsoft убила Internet Explorer и перешла на Chromium. Это значит, что мы возвращаемся к монополии, как в начале 2000-х годов. Только тогда это была монополия Microsoft, а сейчас — Google. Возможно, единственная сохранившаяся альтернатива — это Mozilla Firefox.
Читать дальше →
Всего голосов 187: ↑178 и ↓9+169
Комментарии801

Как улучшить свой стиль программирования?

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

Исповедь 1


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

Весь мой опыт программирования складывается из университетских работ и пары лет пребывания в различных компаниях. Критикующие меня люди неоднократно говорили мне, что в целом я разбираюсь в теме, так что я далеко не клинический случай, как можно было подумать. Однако, очевидно, я выработал совсем не те программистские привычки (как минимум, на взгляд работодателя) и мне нужно срочно изменить их. Везде, где бы я ни работал, мои решения, использующие иерархии мелких классов с делегированием поведения, признавались плохими. Говорят, будто так и надо писать, но это не так. Потому что всё это «как надо» может стоить мне работы.
Читать дальше →
Всего голосов 235: ↑202 и ↓33+169
Комментарии248

Объясняем современный JavaScript динозавру

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


Если вы не изучали JavaScript с самого начала, то осваивать его современную версию сложно. Экосистема быстро растёт и меняется, так что трудно разобраться с проблемами, для решения которых придуманы разные инструменты. Я начал программировать в 1998-м, но начал понимать JavaScript только в 2014-м. Помню, как просматривал Browserify и смотрел на его слоган:


Browserify позволяет делать require («модули») в браузере, объединяя все ваши зависимости


Я не понял ни слова из предложения и стал разбираться, как это может помочь мне как разработчику.


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

Всего голосов 174: ↑171 и ↓3+168
Комментарии505
Изменить настройки темы

Вклад авторов