Pull to refresh
0
@dim_ok32read⁠-⁠only

User

Send message

Как поживает PHP сообщество в Дагестане?

Reading time2 min
Views4K
image

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

Вообще Дагестан довольно айтишный регион, но центром всего движа является столица Махачкала. Тут много кружков по робототехнике для детей, курсов для начинающих программистов. Проблема лишь в том, что это не сильно рекламируется.
Total votes 24: ↑23 and ↓1+33
Comments1

10 лучших игр по программированию, которые улучшат ваши навыки

Reading time7 min
Views94K

Вы помните далёкие дни из детства, когда вы, проводили целый день, а иногда даже не ели целый день, чтобы поиграть в игры на Nintendo? (Ах, дни Mario и Contra!!!)

С того времени игры претерпели гигантские преобразования и сфера стала более обширной. Это уже не просто хобби. Сейчас в Интернете доступно множество игр, связанных с программированием, и вы можете использовать их чтобы изучить и отточить свои скилы в увлекательной форме. Более того, эти игры могут помочь вам улучшить навыки решения задач, поскольку вам нужно будет решать задачи различной сложности, а также соревноваться с другими опытными программистами по всему миру. Специально к старту новых потоков курсов Fullstack-разработчик на Python, разработка на C# и разработка на Java, в этой статье мы отобрали несколько таких игр, играя в которые можно параллельно качать и себя самого.

Start game
Total votes 15: ↑12 and ↓3+15
Comments12

CRUD для NMAP’а: решение для мониторинга открытых портов на хостах

Reading time9 min
Views9.2K
Привет, Хабр! Меня зовут Рудаков Александр, я занимаюсь информационной безопасностью в компании "ЛАНИТ-Интеграция". Однажды, в рамках работы над проектом, мне понадобилось организовать небольшой непрерывный мониторинг (с хранением истории) открытых портов в подсети серверов. Требовалось за короткое время сделать рабочий прототип решения для данной задачи. В этой статье я расскажу о том, как с помощью nmap, Node.JS, PostgreSQL и ORM Sequelize организовать мониторинг открытых портов на хостах.

Источник 
Читать дальше →
Total votes 53: ↑52 and ↓1+60
Comments8

Фронтенд-2021: тенденции, как мы их видим

Reading time11 min
Views28K

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


Читать дальше →
Total votes 36: ↑33 and ↓3+38
Comments14

Библиотека Frontend-разработчика, часть 3: Литература уровня «Middle» и выше

Reading time5 min
Views23K

Явление деления разработчиков на уровни очень распространено. Даже в вакансиях чаще всего пишут не просто "Frontend-разработчик", а более развернуто - "Junior/Middle/Senior/${место для вашей должности} Frontend-разработчик". Для чего? С помощью такого деления легче делегировать задачи в команде. У каждого разработчика своя особая матрица компетенций, свои навыки, которые он оттачивал месяцами, а то и годами. С помощью такого деления процесс разработки ускоряется в разы.


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

Ну, удиви
Total votes 6: ↑6 and ↓0+6
Comments4

Бенчмарки PHP 8.0 и 7.4 на Symfony: повышение производительности JIT до +9% вместе с предварительной загрузкой OPCache

Reading time4 min
Views6.9K

PHP 8.0 должен увидеть свет 26 ноября 2020 года, а вскоре за ним и последняя версия фреймворка Symfony 5.2. Здесь представлена серия бенчмарков, выполненных на последних версиях обоих проектов. Это чистый hello world сценарий, и его следует воспринимать как таковой. Имеет значение только относительная производительность. В реальном мире YMMV (ваши результаты могут отличаться от приведенных).

Читать далее
Total votes 8: ↑7 and ↓1+9
Comments0

Сейчас я буду убеждать вас использовать статический анализ в PHP

Reading time6 min
Views8.4K


Я помню выход PHP7: появились strict types, скалярные type hint-ы.

Мы начали двигаться в сторону языка со статической типизацией, но типизация не ушла в статику. Концептуально все осталась прежним — мы запускаем программу и только в runtime узнаем, что где-то есть неправильный тип. Даже если мы везде явно проставим типы, все ошибки мы не поймаем — и можем больно упасть в продакшене.
Total votes 26: ↑26 and ↓0+26
Comments18

Composer 2: Что нового?

Reading time4 min
Views13K

Composer, менеджер зависимостей для PHP, был выпущен около 8 лет назад, а сегодня опубликовали новую версию, 2.0. За эти годы Composer получил множество новых функций и не отставал от стандартов PHP. Вторая версия совместима со старыми проектами, но привнесет еще несколько замечательных новых функций. В этой статье расскажу о них подробнее.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments9

Месяц до релиза PHP8. А на какой версии ты в основном сидишь сейчас?

Reading time3 min
Views3.4K
С этим вопросом мы пошли к докладчикам ульяновского PHP-митапа: его можно будет аккуратно посетить или свободно посмотреть в интерактивном формате уже в эти выходные.


Зрители субботней трансляции смогут задать вопрос голосом прямо из браузера.

Ответы и другие интересные истории от выступающих под катом.
Total votes 15: ↑13 and ↓2+17
Comments9

Настройка Webpack 5 с нуля

Reading time10 min
Views202K


Узнайте, как использовать вебпак для сборки JavaScript, изображений, шрифтов и стилей, а также как запускать сервер для разработки

Если вы раньше использовали вебпак 4, вот некоторые отличия от 5 версии:

  • команда «webpack-dev-server» теперь выглядит как «webpack-serve»
  • отдельная установка file-loader, raw-loader и url-loader больше не требуется, вы можете использовать встроенные загрузчики ресурсов (asset modules)
  • полифилы для Node.js больше не поддерживаются, поэтому если, например, вы получили ошибку для stream, необходимо добавить пакет «stream-browserify» в качестве зависимости и { stream: «stream-browserify» } в качестве алиаса в настройки вебпака

Что такое вебпак?


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

Вебпак — это сборщик модулей. Он служит для упаковки кода для использования браузером. Он позволяет использовать последние возможности JavaScript с помощью Babel или использовать TypeScript и компилировать его в кроссбраузерный минифицированный код. Он также позволяет импортировать статические ресурсы в JavaScript.

Для разработчиков вебпак также предоставляет сервер для разработки, который умеет обновлять модули и стили на лету при сохранении файла. Инструменты командной строки, такие как «vue create» и «react-create-app» используют вебпак за сценой, но вы легко можете создать собственную настройку вебпака для указанных фреймворков.

Вебпак также умеет делать много других вещей, но данная статья посвящена основам его настройки и использования.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments12

Как генерируются UUID

Reading time7 min
Views107K

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

Современную реализацию UUID можно проследить до RFC 4122, в котором описано пять разных подходов к генерированию этих идентификаторов. Мы рассмотрим каждый из них и пройдёмся по реализации версии 1 и версии 4.
Читать дальше →
Total votes 52: ↑51 and ↓1+68
Comments40

Собеседование php-developer (вопросы и ответы)

Reading time10 min
Views241K
Так уж получилось, что в этом году я прошел ряд собеседований на позицию PHP разработчика, чего я не делал уже несколько лет. Будучи человеком ленивым практичным, перед собеседованием я попытался найти сборники вопросов-ответов, но все найденное было довольно старым, поэтому я решил сам подготовить список вопросов, которые встречал.

Обычно в статьях такого рода даются полные ответы на вопросы, но если вы собеседуетесь на достаточно серьезную позицию, краткой выжимки будет явно недостаточно и необходимо довольно глубоко понимать сам вопрос, поэтому я в основном вставил ссылки на документацию или статьи по описываемым вопросам.
Читать дальше →
Total votes 25: ↑22 and ↓3+26
Comments18

Jekyll на VPS за 30 рублей для состоятельных людей

Reading time3 min
Views9K

Статический HTML почти ушел в прошлое. Теперь сайты это связанные с базами данных приложения, которые динамически формируют ответ на пользовательские запросы. Однако, в этом есть и свои недостатки: более высокие требования к вычислительным ресурсам и многочисленные уязвимости в CMS. Сегодня мы расскажем о том, как поднять свой простенький блог на Jekyll — генераторе статических сайтов, контент которых берется прямиком из GitHub.
Читать дальше →
Total votes 22: ↑18 and ↓4+28
Comments45

Решаем, нужен ли вам личный почтовый сервер

Reading time6 min
Views47K

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

Еще у части специалистов есть пунктик на тему красоты почты. Хочется красивый, короткий, запоминающийся адрес, который бы показывал, что вы не просто gmail-холоп, а вполне самостоятельная боевая единица на полях IT-сражений. А кто-то хочет просто экспериментов. Эти люди уже сами собирали ядро системы, тонко настроили домашний медиа-сервер, научили роутер качать все подряд с файлообменников без участия ОС. Теперь нужно поднять свою почту, приватный VPN, а дальше можно посмотреть в сторону написания драйверов или на другие активности уровня «хардкор».

У многих IT-специалистов существует запрос, который публичный почтовый сервис удовлетворить не способен. Вот только не все отдают себе отчет, чего им это будет стоить. Так что давайте разберемся, на самом ли деле вам нужен почтовый сервер или стоит приложить свою энергию в каком-то более перспективном направлении.
Читать дальше →
Total votes 45: ↑28 and ↓17+29
Comments221

Пишем веб сервис на Python с помощью FastAPI

Reading time17 min
Views112K
image

Знаю, знаю, наверное вы сейчас думаете «что, опять?!».

Да, на Хабре уже неоднократно писали о фреймворке FastAPI. Но я предлагаю рассмотреть этот инструмент немного подробнее и написать API своего собственного мини Хабра без кармы и рейтингов, зато с блэкджеком и с тестами, аутентификацией, миграциями и асинхронной работой с БД.
Читать дальше →
Total votes 21: ↑20 and ↓1+22
Comments27

Книга «Эффективный TypeScript: 62 способа улучшить код»

Reading time8 min
Views12K
imageПривет, Хаброжители! Книга Дэна Вандеркама окажется максимально полезена тем, кто уже имеет опыт работы с JavaScript и TypeScript. Цель этой книги — не обучать читателей пользоваться инструментами, а помочь им повысить свой профессиональный уровень. Прочитав ее, вы сформируете лучшее представление о работе компонентов TypeScript, сможете избежать многих ловушек и ошибок и развить свои навыки. В то время как справочное руководство покажет пять разных путей применения языка для реализации одной задачи, «эффективная» книга объяснит, какой из этих путей лучше и почему.
Читать дальше →
Total votes 11: ↑10 and ↓1+17
Comments5

Apache & Nginx. Связаны одной цепью

Reading time3 min
Views16K
Как реализована связка Apache & Nginx в Timeweb

Для многих компаний Nginx + Apache + PHP — очень типовая и распространенная связка, и Timeweb здесь не стал исключением. Однако разобраться, как именно она реализована, может быть любопытно и полезно.

image

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

Основные настройки Apache выполняются в конфигурационных файлах самого Apache, а настройки для клиентских сайтов происходят через файл .htaccess. .htaccess — конфигурационный файл, в котором клиент может самостоятельно настроить правила и поведение веб-сервера. Такая настройка будет относиться конкретно к его сайту. Например, благодаря функционалу Apache пользователи могут менять режим работы в рамках одной версии PHP с mod_php на mod_cgi; можно настраивать редиректы, оптимизацию для SEO, удобный URL, некоторые лимиты для PHP.

Nginx используется как прокси-сервер для перенаправления трафика на Apache и как веб-сервер для отдачи статического контента. Также для Nginx мы разработали модули безопасности, которые позволяют защитить данные наших пользователей, например, разделить права доступа.

Представим, что какой-то пользователь заходит на сайт нашего клиента. Сначала пользователь попадает на Nginx, который отдает статический контент. Это происходит мгновенно. Затем, когда дело доходит до загрузки PHP, Nginx перенаправляет запрос на Apache. И Apache совместно с PHP уже генерирует динамический контент.

Особенности связки Apache & Nginx в Timeweb


На нашем виртуальном хостинге реализованы 2 основные схемы работы Apache & Nginx: Shared и Dedicated.
Читать дальше →
Total votes 11: ↑4 and ↓7+1
Comments50

Управление зависимостями JavaScript

Reading time10 min
Views35K

Управление зависимостями JavaScript


Всем привет! Меня зовут Слава Фомин, я ведущий разработчик в компании DomClick. За свою 16-ти летнюю практику я в первых рядах наблюдал за становлением и развитием JavaScript как стандарта и экосистемы. В нашей компании мы используем JavaScript, в первую очередь, для продвинутой front-end разработки и успели перепробовать достаточно большое количество различных технологий, инструментов и подходов, набить много шишек. Результатом этого кропотливого труда стал ценнейший опыт, которым я и хочу поделиться с вами.

Читать дальше →
Total votes 28: ↑25 and ↓3+25
Comments19

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

Reading time12 min
Views135K

Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового.


Для исправления этой вселенской несправедливости я решил написать введение в Ансибл для тех, кто его уже знает. Предупреждаю, это не пересказ манов, это лонгрид в котором много букв и нет картинок.


Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

Читать дальше →
Total votes 88: ↑86 and ↓2+108
Comments66

Введение в TLS для п̶р̶а̶к̶т̶и̶к̶о̶в̶ Патриков (часть 1)

Reading time11 min
Views25K
Как вы, возможно, уже знаете, это Патрик. Он морская звезда, а значит, можно, не оскорбляя его, сказать, что руки у него растут из одного места. Еще Патрик очень практичный и сразу забывает всё, что ему не нужно – но если что-то ему нужно, он хочет это знать (потому что ему это нужно!). Спойлер: здесь Патрик пытается сделать TLS Handshake.



Эта статья написана для Патрика и таких, как он. Она родилась из презентации, впервые показанной на нашем внутреннем образовательном Plesk TechTalk, где сотрудники в доступной форме делятся друг с другом информацией об интересных технологиях, процессах и решениях. Поэтому картинки в этой статье будут похожи на слайды :) Автор оригинального текста доклада — program manager Plesk Руслан Косолапов.

Обычно все материалы по TLS охватывают какой-то маленький аспект, но не общую картину. Это не очень практично и у Патрика от такого болит голова. Здесь всё будет по-другому: коротко, применимо «в быту» и по возможности исчерпывающе.
Итак, поехали!
Total votes 27: ↑27 and ↓0+27
Comments10
1
23 ...

Information

Rating
Does not participate
Registered
Activity