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

Пользователь

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

Написание Dockerfile. Лучшие практики

Время на прочтение4 мин
Количество просмотров13K
Публикуем новый перевод и надеемся, что рекомендации автора помогут вам оптимизировать образ Docker.

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



Если вы новичок в Docker, можете выбрать шаблон (базовый образ) и определить свои инструкции (команды Dockerfile), чтобы разместить свой код внутри образа и запустить его.

Простота Docker будем помогать вам в работе с самого начала его использования, а навык его оптимизации приходит с опытом и обычно требует времени.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+8
Комментарии10

История IT. ООП

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

Мою предыдущую статью «История IT. Когда компьютеры были большими…» мы завершили концом 80-х, когда произошло два знаменательных события. Во-первых, появился ООП и объектный язык C++. А во-вторых, появились персоналки, и это принципиально изменило задачи, стоящие перед IT-разработкой.


И дело тут не в том, что появилась возможность держать компьютеры дома, и выполнять на них рабочие задачи: редактировать тексты, вести расчеты, создавать рисунки. Софт для этого принципиально не отличается от аналогичного для больших компьютеров — его умели разрабатывать. Вопрос был лишь в оптимизации и адаптации под ограниченные ресурсы.


Главное изменение в том, что персоналки сделали компьютеры доступными небольшим компаниям. Потребовались системы автоматизации бизнес-процессов, которые сильно отличаются в разных компаниях. Типовую систему сделать сложно: сейчас такие системы уже есть, например, 1C, а в то время их не существовало. Как раз эту задачу помог решить ООП. Эту часть истории развития IT и концепций, которые тогда появились и до сих пор используются, я расскажу в этой статье.

Читать дальше →
Всего голосов 13: ↑12 и ↓1+17
Комментарии7

Секретная служба Абвер: интенсивной войне — интенсивный шпионаж

Время на прочтение20 мин
Количество просмотров18K
В ключе разведывательной службы Германии Абвер еще раз коснемся искусства под названием шпионаж, который часто называют «вторым древнейшим ремеслом», известным человеку.
Военный шпионаж, рассматривавшийся сначала как ремесло, а позже ставший искусством, берет свое начало в глубокой древности.


Читать дальше →
Всего голосов 22: ↑21 и ↓1+35
Комментарии14

Сам себе Большой Брат

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

Современное время очень динамичное и когда ты о чем-то думаешь напряженно, то внешние раздражители частично не достигают цели. И тогда, подойдя к точке интеграции с курьером, коллегой, да и что-ж (не будем кривить душой) и с семьей тоже, обнаруживается, что ты что-то важное забыл. Хорошо если тебя спросили по email/смс/Whatsapp/telegram и т.д. А если голосом? И тут историю не поднимешь, чтобы не ударить в грязь лицом. Хотя почему? Можно подумать и над этим вопросом.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии20

Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

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

Что мы будем рассматривать в данной статье?

В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
В Части 6 — послесловие
Читать дальше →
Всего голосов 108: ↑107 и ↓1+106
Комментарии36

Как создать RESTful API на Symfony 5 + API Platform для проекта на MODX

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


Из этого урока Вы узнаете как можно быстро создать RESTful API для любого сайта на любой CMS, MODX — это только пример.


Для создания API я буду использовать:


Читать дальше →
Всего голосов 6: ↑4 и ↓2+6
Комментарии12

Организация маршрутов в Laravel

Время на прочтение3 мин
Количество просмотров19K
Здравствуй, Habr. Недавно я согласился на ревью сайта, заказанного на фрилансе. Я ожидал увидеть контроллеры, которые делают вообще все и занимают 200+ строк (и прочие проявления плохого кода), но все было вполне прилично. Валидация не лежала в контроллере, что встречается достаточно часто. Иногда, конечно, встречались некоторые несоответствия PSR-2, но все выглядело нормально, пока я не заглянул в файл с маршрутами. Он занимал несколько экранов и имел комментарии о группах маршрутов. Я связался с разработчиком и он сказал, что все немного «разрослось» и согласился поправить. В следующей версии я увидел, что он создал несколько классов со статическими методами, в которые переложил код и вызвал их, как это обычно делается, с авторизацией. Тут я вспомнил, что уже сталкивался с подобным и встречал такую аргументацию: «В документации ничего не говорится о вынесении маршрутов в разные файлы». Буквально через пару минут я нашел статью и отправил разработчику. Через пол часа я получил маршруты в нормальном виде и принял решение, что многим новичкам эта статья будет полезна. Так родился этот вольный перевод.

Если вы ни разу не правили файл RouteServiceProvider, добро пожаловать под кат.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии29

Разработка под Docker. Локальное окружение. Часть 1

Время на прочтение3 мин
Количество просмотров72K
Возможно, одна из самых основных причин почему мне нравится докер это то, что он позволяет избавиться от необходимости установки на компьютер различных сервисов. К их числу можно отнести и сам веб-сервер Apache или Nginx, базы данных и прочие компоненты инфраструктуры приложения. Вся инфраструктура прописана в конфигурационном файле docker-compose.yml и запускается одной командой вместе с вашим приложением. Все что нужно разработчику работающему с докером, это по сути сам докер и любимая среда разработки и ВСЕ!
Читать дальше →
Всего голосов 47: ↑38 и ↓9+29
Комментарии82

В каких случаях стоит использовать Django (а в каких не стоит)

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

Давайте поможем разработчикам разобраться, подходит ли фреймворк Django для их следующего проекта. Вполне вероятно — подходит.

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

Прежде чем приступать к новому проекту, следует оценить, какой язык или фреймворк лучше всего подойдет вам для достижения желаемого результата. Что для вас наиболее важно? Безопасность, скорость разработки, масштабируемость, универсальность, поддержка?
Лучше принять информированное решение перед тем как приступать к работе, чем потом раскаиваться в поспешном (или, хуже того, навешивать на проект костыли в процессе реализации – из-за того, что заранее не озаботились его поддержкой).

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

Понимаю, это громкое заявление. Позвольте мне его обосновать.
Читать дальше →
Всего голосов 28: ↑20 и ↓8+12
Комментарии41

Асинхронный PHP. Зачем?

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

Асинхронное программирование сегодня востребовано, особенно в веб-разработке, где отзывчивость приложения особенно важна. Никому не хочется ждать, пока приложение «отвиснет», пусть даже в это время оно выполняет запрос к базе данных, отправляет электронное письмо или работает над другими задачами, которые могут занять много времени. Клиент хочет получить ответ на свое действие, лучше всего — сразу же. Если ваше приложение работает медленно, вы теряете клиентов. Столкнувшись с зависающим приложением, чаще всего пользователь просто закрывает его и уже никогда не возвращается. С точки зрения пользователя, приложение просто зависло, он не может понять, почему это произошло: выполняет ли оно сложную операцию или перестало работать в принципе.

Представляем перевод статьи бэкенд-разработчика Skyeng Сергея Жука.
Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии18

PHP GR8: повысит ли JIT производительность PHP 8

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


PHP — один из основных языков разработки в Badoo. В наших дата-центрах тысячи процессорных ядер заняты выполнением миллионов строк кода на PHP. Мы внимательно следим за новинками и активно ищем пути улучшения производительности, так как на наших объёмах даже небольшая оптимизация приводит к существенной экономии ресурсов. Одна из главных новостей в области производительности PHP — появление JIT в восьмой версии языка. Это, безусловно, не могло остаться без нашего внимания, и мы перевели статью о том, что есть JIT, как он будет реализован в PHP, зачем его решили делать и что от него ждать.

Если вы не вышли из пещеры или не прибыли из прошлого (в этом случае добро пожаловать), то уже знаете, что в PHP 8 будет JIT: на днях тихо-мирно завершилось голосование, и подавляющее большинство участников высказались за внедрение, так что всё решено.
 
Можно в порыве радости даже изобразить несколько безумных движений как на фото (это, к слову, называется «детройтский JIT»:
 
Читать дальше →
Всего голосов 70: ↑69 и ↓1+68
Комментарии76

Google PageSpeed Insights кардинально обновился, что изменится?

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

12 ноября Google по тихому обновил PageSpeed Insights, изменив в нем практически все. Это станет большой переменой для всей индустрии сайтостроения. Похоже, сейчас настанет некоторая волна паники и хайпа вокруг этого события. В статье — анализ перемен и что они нам принесут.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии52

Проектирование, циклы разработки и тестирование

Время на прочтение3 мин
Количество просмотров3K
Поработав с разными командами, я выяснил для себя несколько правил разработки, которыми хочу с вами поделиться.
Читать дальше →
Всего голосов 29: ↑16 и ↓13+3
Комментарии17

Оптимизация сайта для GooglePage Speed (учтены все особенности после его обновления) Часть 1

Время на прочтение4 мин
Количество просмотров52K
Эта статья будет интересна, кто столкнулся с разного рода проблемами после обновления Google PageSpeed и претензиям со стороны заказчиков или начальника, почему упал бал или возникло такое количество замечаний. А так же тем, кто производит оптимизацию сайтов.
В первую очередь стоит упомянуть, что вот в этой статье, на мой взгляд, всё очень грамотно и доступно расписано.

Я же от себя добавлю больше практических советов, а так же будет интересно послушать вашу точку зрения и увидеть ваши наработки.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии57

Семь бесплатных автоматизированных платформ-задачников для прокачки навыков программирования

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

Привет! Недавно сделали подборку бесплатных сервисов для изучения программирования с нуля. В комментариях получили много заинтересовавших нас платформ. Из них составили отдельный список таких, которые подойдут профессиональным программистам.


CheckiO


Проект из Украины «Чекио» сфокусирован на Python и JavaScript. Это сборник игровых задач по программированию для тех, кто уже не новичок. Большой упор на геймификацию, симпатичную графику и общение в сообществе. В самом решении задач игрового процесса нет, но есть общий сценарий для прохождения платформы. Полезная фича — смотреть другие решения и подсказывать студентам как их можно улучшить.


CheckiO


leetcode


Сборник задач по программированию на разных языках. Цель сервиса — готовить программистов к заданиям, которые встречаются на интервью. Платформа сразу даёт фидбэк на правильность и эффективность решения, показывает варианты решений и позволяет обсудить их с другими участниками. В платной версии можно пройти автоматизированное интервью в Google, Facebook или Amazon: робот подберёт вопросы, засечёт время и даже поможет оценить.


leetcode

Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии18

Что нужно запомнить программисту, переходящему на Python

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

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


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


  • Билл Любанович «Простой Python. Современный стиль программирования»
  • Дэн Бейдер «Чистый Python. Тонкости программирования для профи»
  • Бретт Слаткин «Секреты Python: 59 рекомендаций по написанию эффективного кода»

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


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

Читать дальше →
Всего голосов 46: ↑41 и ↓5+36
Комментарии33

Краткий экскурс по основным моментам Zend Framework

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

Это просто фреймворк, или этот фреймворк олицетворяет собой гордость PHP-сообщества — его трудолюбивых разработчиков, так сказать, ключевой ингредиент? С россыпью конфигов… Предмет любви нашего ЯП, обладающий хорошим MVC, благодаря чему Zend Framework — самый лучший фреймворк на PHP.


Здесь вы не найдёте ответа на этот вопрос, зато узнаете про ServiceManager и ModuleManager.


Бегите, глупцы!

Читать дальше →
Всего голосов 28: ↑22 и ↓6+16
Комментарии2

Урок по оптимизации серверной части веб-приложений

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


Привет, Хабр! Меня зовут Алексей Приставко, я директор по веб-проектам в компании DataLine. Моя сегодняшняя статья посвящена тому, как исправить или предотвратить проблемы с производительностью бэк-энда веб-приложений.

Речь пойдет о том, как оптимизировать веб-приложения, которые страдают от хронических проблем с масштабируемостью, производительностью или надежностью.
Всем заинтересовавшимся – добро пожаловать под кат!
 
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии1

Ранняя вселенная 1. Инфляционная Космология: является ли наша вселенная частью мультивселенной? Часть 1

Время на прочтение34 мин
Количество просмотров19K
На сайте бесплатных лекций MIT OpenCourseWare выложен курс лекций по космологии Алана Гуса, одного из создателей инфляционной модели вселенной. Курс мне показался достаточно интересным, чтобы заняться его переводом.

Вашему вниманию предлагается перевод первой лекции: «Инфляционная Космология. Является ли наша вселенная частью мультивселенной? Часть 1».
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии20

Как Вселенная появилась из ничего

Время на прочтение10 мин
Количество просмотров30K
Некоторое время назад среди космологов и философов науки началось очень активное обсуждение причин существования Вселенной. Да, мы тут ерундой не занимаемся.

Сначала Лоуренс Краусс выпустил новую книгу "Вселенная из ничего. Почему не нужен Бог, чтобы из пустоты создать Вселенную" [A Universe from Nothing: Why There Is Something Rather than Nothing] (основанную, в частности, на популярной лекции, доступной на YouTube), освещающую этот вопрос с точки зрения современного космолога. Затем Дэвид Альберт, современный философ науки, составил разгромную рецензию книги для New York Times. Это обсуждение с тех пор продолжается: интервью Джерри Койн (на стороне Альберта), блог "Философия космологии" Рутгерса, большое интервью с Крауссом в The Atlantic, комментарии Массимо Пиглюччи, ещё один ответ Краусса на сайте Scientific American.

По личным и научным причинам я тоже собирался вставить своё мнение. Происхождение Вселенной – одна из тем моей работы, а Лоуренс и Дэвид – мои друзья и партнёры по блогу.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии73

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность