Как стать автором
Обновить
-2
0
Дэн @iit

php backed + js frontend

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

Мой новый стек веб-технологий для 2020 года

Время на прочтение9 мин
Количество просмотров68K
Помните те времена, когда стеки веб-технологий были простыми? Когда уровни этих стеков можно было обозначить в виде четырёхбуквенного сокращения вроде LAMP, LEMP или LEPP? Когда всё, что было нужно для создания и поддержки сайтов, сводилось к вполне обычному железу, к какому-нибудь опенсорсному софту, да к упорству в достижении цели?

Мой первый успешный сайт, теперь уже старинный проект 1999 года, был создан с использованием технологий, которые можно пересчитать по пальцам одной руки: HTML4, CSS2, JavaScript3 и Apache 1.1. Всё это крутилось на сервере с Linux 2.0. Сайт включал в себя 38000 страниц. И сегодня, через 20 лет, он всё ещё их выдаёт.



С тех пор всё изменилось. Это касается и стеков веб-технологий. Теперь они совсем не те, что прежде.

Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как он перешёл от «фуллстека» к «стеку 2020 года». Некоторые технологии в ходе этого путешествия неожиданно стали фаворитами, а некоторые потеряли былую привлекательность.
Читать дальше →
Всего голосов 77: ↑52 и ↓25+27
Комментарии108

Хроника противостояния Рамблера и Nginx (обновлено 10 июня 2020)

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


12 декабря 2019 из твиттера сотрудника Nginx стало известно, что в офисе компании прошел обыск в рамках уголовного дела по статье 146 УК РФ «Нарушение авторских и смежных прав». Претензии предъявила компания Рамблер, хотя формально обвинителем стала Lynwood Investments CY Ltd, которой передали на это права. Последняя связана с совладельцем Rambler Group Александром Мамутом.

Вот как развивались события.
Читать дальше →
Всего голосов 206: ↑202 и ↓4+198
Комментарии267

Пилим статью на Хабр

Время на прочтение12 мин
Количество просмотров3.5K
Под катом частный пример поиска темы, ее адаптации для технической аудитории и формирование правильной структуры статьи. Плюс немного про оформление и читаемость.



А также про выбор и покупку российских вин.

Читать дальше →
Всего голосов 32: ↑22 и ↓10+12
Комментарии8

Вам не кажется: программы и правда стали дороже

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

Инфляция программного обеспечения с 2009 по 2019




Сегодняшний доллар стоит чуть больше завтрашнего – мы знаем это с детства. Но, не в последнюю очередь благодаря закону Мура, технология перевернула это уравнение вверх ногами. Бытовая техника, компьютеры, телефоны, телевизоры каждый год предлагают нам всё больше возможностей – и часто за меньшую цену. Мы привыкли, что с покупкой техники можно и подождать. Есть шансы, что завтра она станет лучше и дешевле.

Но, возможно, это не так. В последнее десятилетие цены на ПО постепенно карабкались вверх. Мы изучили сотню бизнес-приложений, и в среднем их цена выросла на 62% — даже если учитывать приложения, стоимость которых не менялась или уменьшилась. А если вы платите за приложение, стоимость которого увеличилась, есть большая вероятность, что сегодня она стоит на 98% дороже, чем десять лет назад.

Вам не кажется: программы и правда стали дороже.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии23

Мониторинг мёртв? — Да здравствует мониторинг

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


Наша компания с 2008 года занимается преимущественно управлением инфраструктурами и круглосуточной технической поддержкой веб-проектов: у нас более 400 клиентов, это порядка 15% электронной коммерции России. Соответственно, на поддержке очень разнообразная архитектура. Если что-то падает, мы обязаны в течение 15 минут это починить. Но чтобы понять, что авария произошла, нужно мониторить проект и реагировать на инциденты. А как это делать?

Я считаю, что в организации правильной системы мониторинга происходит беда. Если бы беды не было, то мой спич состоял из одного тезиса: «Установите, пожалуйста, Prometheus + Grafana и плагины 1, 2, 3». К сожалению, теперь так не работает. И главная проблема заключается в том, что все продолжают верить во что-то такое, что существовало в 2008 году, с точки зрения программных компонентов.

В отношении организации системы мониторинга я рискну сказать, что… проектов с грамотным мониторингом не существует. И ситуация настолько плохая, если что-то упадёт, есть риск, что это останется незамеченным — все ведь уверены, что «всё мониторится».
Возможно, всё мониторится. Но как?

Все мы сталкивались с историей наподобие следующей: работает некий девопс, некий админ, к ним приходит команда разработчиков и говорит — «мы зарелизились, теперь замониторь». Что замониторь? Как это работает?

Ок. Мониторим по старинке. А оно уже изменяется, и выясняется, что ты мониторил сервис А, который стал сервисом B, который взаимодействует с сервисом C. Но команда разработчиков тебе говорит: «Поставь софт, он же должен все замониторить!»

Так что изменилось? — Всё изменилось!
Читать дальше →
Всего голосов 62: ↑56 и ↓6+50
Комментарии24

Дайджест новостей из мира PostgreSQL. Выпуск №15

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


Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL.

Новости


Главное событие месяца — это, конечно, Feature Freeze. Мартовский коммитфест закрыт. Основной облик версии PostgreSQL 12 определился. Дальше будут доработки и исправления, но не изменения в функциональности. О наиболее важных фичах 12 версии в ближайшее время мы сделаем отдельную публикацию.

Уязвима ли «уязвимость»


Под загадочным кодом CVE-2019-9193 скрывается политически важная для сообщества причина беспокойства. Речь о конструкции COPY… PROGRAM, появившейся еще в 9.3, которая дает возможность исполнять в запросе файлы ОС и писать в стандартный ввод или читать из стандартного вывода программы.

When a vulnerability is not a vulnerability

Однако, классик PostgreSQL Магнус Хагандер (Magnus Hagander) разъясняет в своем блоге:
Эта «уязвимость» эквивалентна тому факту, что в типичной Unix-системе вы можете залогиниться рутом и создавать или редактировать файлы, и исполнять команды как root. <...> Будучи суперюзером, можно запускать файлы в ОС отнюдь не только при помощи COPY… PROGRAM." <...> Итак, уязвимости в PostgreSQL нет, зато однозначно есть уязвимые инсталляции PostgreSQL.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии2

Big O

Время на прочтение5 мин
Количество просмотров214K
Примечание. Сокращенный перевод, скорее пересказ своими словами.
UPD: как отметили в комментариях, примеры не идеальны. Автор не ищет лучшее решение задачи, его цель объяснить сложность алгоритмов «на пальцах».


Big O нотация нужна для описания сложности алгоритмов. Для этого используется понятие времени. Тема для многих пугающая, программисты избегающие разговоров о «времени порядка N» обычное дело.

Если вы способны оценить код в терминах Big O, скорее всего вас считают «умным парнем». И скорее всего вы пройдете ваше следующее собеседование. Вас не остановит вопрос можно ли уменьшить сложность какого-нибудь куска кода до n log n против n^2.

Структуры данных


Выбор структуры данных зависит от конкретной задачи: от вида данных и алгоритма их обработки. Разнообразные структуры данных (в .NET или Java или Elixir) создавались под определенные типы алгоритмов.

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

Здесь мы будем использовать только массивы чисел (прямо как на собеседовании). Примеры на JavaScript.
Читать дальше →
Всего голосов 39: ↑30 и ↓9+21
Комментарии30

Человек разумный? Уже нет

Время на прочтение2 мин
Количество просмотров16K
Многие люди до сих пор верят в заблуждение, что они поступают преимущественно разумно и рационально. Однако, наука и практическая психология уже давно пришла к выводу, что поведение человека иррационально и неразумно в большинстве жизненных ситуаций. Это не хорошо и не плохо, это просто есть. Предлагаю вам подборку авторов и книг, в которых приводятся убедительные доводы неразумности Homo Sapiens.
Читать дальше →
Всего голосов 39: ↑30 и ↓9+21
Комментарии78

CJDNS мертв, да здравствует Yggdrasil

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


Что такое Yggdrasil?
Yggdrasil — это распределённая Mesh сеть, которая работет в Overlay режиме, позволяя сделать интернет поверх интернета.

Причем, сеть может одновременно работать в двух режимах — через интернет и без интернета, соединяясь напрямую с физически соседними пирами (через Ethernet, Wi-Fi или Bluetooth) работая на 3-ем уровне модели OSI.

На Apple устройствах использован протокол AWDL.
Последние новости о сети cjdns датируются 2017 годом, может показатся, что сеть умерла и разработка остановлена (на самом деле — да), однако появился самозванец — Yggdrasil, который практически полностью копирует cjdns однако делает это намного лучше.

В посте рассмотрим:

  • Что такое Yggdrasil
  • Зачем это нужно
  • Откуда он взялся
  • Можно ли ему доверять
  • В чем отличее от cjdns
  • Почему его стоит установить прямо сейчас
  • Поддержка iOS (Да!)
  • Что в планах
  • Как настроить

Читать дальше →
Всего голосов 55: ↑52 и ↓3+49
Комментарии71

Представлен Talos — «современный Linux-дистрибутив для Kubernetes»

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


На днях американский инженер Andrew Rynhard представил интересный проект: компактный дистрибутив Linux, предназначенный специально для запуска Kubernetes-кластеров. Он получил название из древнегреческой мифологии — Talos.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии12

DNS rebinding в 2k19, или как по-настоящему вспотеть, посетив порносайт

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


Всем привет! Сегодня мы бы хотели рассказать об одной старой и почти всеми забытой атаке под названием DNS rebinding. Первые разговоры о ней начались еще в 2007 году, однако тогда эксперты из области практической информационной безопасности не уделяли ей должного внимания в связи с особенностями эксплуатации этой атаки, а также мало ощутимыми, как тогда казалось, последствиями. Сегодня мы попробуем убедить в обратном их и вас, в частности, продемонстрировав, что в современном мире эта атака обрела второе дыхание и более не кажется такой безобидной.

Читать дальше →
Всего голосов 146: ↑143 и ↓3+140
Комментарии163

Налогообложение ИП в Казахстане: как быть фрилансеру?

Время на прочтение6 мин
Количество просмотров21K
Рассказывая на IT тусовках и в интернете о том, как посчитать и заплатить налоги дизайнерам, программистам и другим фрилансерам меня часто просили написать об этом простой и понятный пост. Простого в налогообложении мало, но я постарался чтобы он был хотя бы понятным. ПОд катом информация для тех кто живет в Казахстане и хочет спать спокойно.

image
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии63

Основы электробезопасности при проектировании электронных устройств

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

После волны, поднятой моим предыдущим постом, довольно заметное число людей спрашивали меня (в фейсбуке, в личке и т.п.), на что, собственно, обращать внимание, чтобы вместо умной розетки на ардуино не получить очередной тазик-эвтаназик.


Тема это большая и сложная, но я постараюсь выделить основные моменты — не в последнюю очередь на основании ошибок, которые я видел во всевозможных реальных устройствах и проектах, в том числе публиковавшихся на Хабре. Я не буду долго и нудно перечислять ГОСТы, но перечислю совсем базовые вещи, которые необходимо понимать и соблюдать, чтобы не убить хотя бы себя (если вы планируете не убивать также и окружающих, то после завершения этой статьи не поленитесь пролистать и релевантные ГОСТы).

Итак, вы собрались делать устройство, которое как минимум одним своим концом включается в розетку.
Читать дальше →
Всего голосов 172: ↑167 и ↓5+162
Комментарии281

Ричард Хэмминг: Глава 26. Эксперты

Время на прочтение13 мин
Количество просмотров7.1K
«То, что привело вас к успеху, может стать неэффективным в будущем.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2244 в закладки, 351k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Давайте ее переведем, ведь мужик дело говорит.

Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

Мы уже перевели 8 (из 30) глав.

Глава 26. Эксперты


(За перевод спасибо Mitroshin Evgeny, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

Как было отмечено в пятой главе, количество проблем предстающих перед нами растёт экспоненциально, и в качестве решения, мы справляемся с этим с помощью специализации. Это высказывание с годами становится лишь более правдивым:

Эксперт — это тот, кто знает всё в чём-то малом, эрудит — это тот кто знает мало, зато обо всём.

В споре между экспертом и эрудитом эксперт обычно побеждает, просто потому что использует никому не понятные термины и ссылается на свой специфический опыт, который, часто вообще не имеет отношения к предмету спора. Однако, с мнением экспертов нужно считаться. Поскольку эксперты одновременно играют очень важную роль и, иногда, мешают развитию отрасли, их мнение нужно оценивать со всех сторон. Часто эксперт недооценивает поставленную проблему, а эрудиту не справиться с задачей в силу отсутствия глубоких знаний. Тот, кто думает, что он понимает поставленную задачу, а на самом деле нет, является настоящей напастью, по сравнению с тем, кто знает, что ничего не понимает в поставленном вопросе.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии0

Чеклист фронтенд-разработчика

Время на прочтение12 мин
Количество просмотров70K
Глеб Летушов, редактор-фрилансер, адаптировал для блога Нетологии чеклист с Github от David Dias. Этот чеклист уже переводили, но так как на Хабре его нет, мы решили, что он пригодится. В чеклисте собран полный список элементов, которые необходимо проверить перед запуском и публикацией сайта.



Список основан на многолетнем опыте фронтенд-разработчиков, а дополнения собраны из общедоступных источников.
Читать дальше →
Всего голосов 30: ↑24 и ↓6+18
Комментарии21

Программный синтез звука на ранних персональных компьютерах. Часть 1

Время на прочтение21 мин
Количество просмотров20K
Это статья о первых программных синтезаторах, которые были когда-то созданы на самых обычных персональных компьютерах. Я даю несколько практических примеров по реализации простых методов звукового синтеза в историческом контексте.

Перейти ко второй части

Всего голосов 39: ↑38 и ↓1+37
Комментарии11

Написание blockchain менее чем за 200 строк кода на Go

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

Привет, Хабр! Представляю вашему вниманию перевод статьи "Code your own blockchain in less than 200 lines of Go!".


image

Данный урок является хорошо адаптированным постом про простое написание blockchain на Javascript. Мы портировали его на Go и добавили дополнительных фич, таких как просмотр цепочек в браузере.

Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии19

PHP-Дайджест № 124 (14 – 28 января 2018)

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

Свежая подборка со ссылками на новости и материалы. В выпуске: новый стандарт PSR-15, WordPress на .NET, порция полезных инструментов, и многое другое.
Приятного чтения!


Читать дальше →
Всего голосов 57: ↑54 и ↓3+51
Комментарии22

Социальная архитектура: 4 шага к самоуправляемому сообществу

Время на прочтение5 мин
Количество просмотров5.1K
image Я бы хотел, чтобы сообщество было полностью самоуправляемо, и, возможно, когда-нибудь так и будет, но пока это не так. ZeroMQ близко к этому, но по моему опыту сообществу требуется четыре вещи:

Во-первых, просто потому, что большинство людей слишком милые, нам требуется некое символическое лидерство или владельцы, которые будут выступать конечными арбитрами в случае возникновения конфликта. Обычно это основатели сообщества. Я видел, как с этим управляется самоизбранная группа «старших», но старики слишком любят поболтать. Я видел, как сообщества раскалываются, сталкиваясь с вопросом «кто главный?», и создают юридические лица с советом директоров, который только усугубляет споры о контроле. Может так получается, т.к. кажется, что есть, что делить. Но одним из настоящих преимуществ свободного программного обеспечения является его ремиксабельность, поэтому вместо того, чтобы драться за пирог, просто отщипните «вилкой» кусочек.

Во-вторых, сообществам требуются правила жизни, и еще юрист, способный эти правила сформулировать и записать их. Правила критически важны — будучи хорошо составленными, они исключают трения. А неправильно составленные, или игнорируемые, приведут к раздорам и сложностям, которые отпугнут большую часть, оставив спорящую группу во главе горящего дома. Я сам пробовал создать универсальные правила для ZeroMQ и предыдущих сообществ, поэтому, наверно, нам не так уж и нужны юристы.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

JavaScript и ужасы мутаций

Время на прочтение9 мин
Количество просмотров37K
Мутация — это изменение. Изменение формы или изменение сути. То, что подвержено мутациям, может меняться. Для того чтобы лучше осознать природу мутации — подумайте о героях фильма «Люди Икс». Они могли внезапно получать потрясающие возможности. Однако проблема заключается в том, что неизвестно, когда именно эти возможности проявятся. Представьте себе, что ваш товарищ ни с того ни с сего посинел и оброс шерстью. Страшновато, правда? В JavaScript существуют те же проблемы. Если ваш код подвержен мутациям, это значит, что вы можете, совершенно неожиданно, что-то изменить и поломать.


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

Информация

В рейтинге
Не участвует
Откуда
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Дата рождения
Зарегистрирован
Активность