Search
Write a publication
Pull to refresh
-16
0
Send message

Профессиональное применение инструментов разработчика Chrome: 13 советов

Reading time7 min
Views35K
Автор статьи, перевод которой мы сегодня публикуем, хочет поделиться советами по профессиональной работе с инструментами разработчика браузера. А именно, эти советы рассчитаны на программистов, которые по какой-то причине решили, что их основным браузером будет Google Chrome.


Читать дальше →

Локальное хранилище или куки? Безопасное хранение JWT на клиенте

Reading time6 min
Views90K
JWT (JSON Web Token) — это замечательный стандарт, основанный на формате JSON, позволяющий создавать токены доступа, обычно используемые для аутентификации в клиент-серверных приложениях. При использовании этих токенов возникает вопрос о том, как безопасно хранить их во фронтенд-части приложения. Этот вопрос нужно решить сразу же после того, как токен сгенерирован на сервере и передан клиентской части приложения.



Материал, перевод которого мы сегодня публикуем, посвящён разбору плюсов и минусов использования локального хранилища браузера (localStorage) и куки-файлов для хранения JWT.
Читать дальше →

Работаем в IntelliJ IDEA на слабом железе

Reading time7 min
Views51K

Обнаружил секретный репозиторий на гитхабе JetBrains под названием Projector. Благодаря нему написал кусок кода в IntelliJ IDEA, запущенной на Android-планшете. Рассказываю, как это повторить.


Читать дальше →

Пора обновить ваш монитор

Reading time16 min
Views186K

Иллюстрация: Юлия Прокопова

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

Поэтому я оптимизирую настройки, чтобы показывать действительно, действительно хорошие буквы. Для этого необходим хороший монитор. Не просто нужен, а ОБЯЗАТЕЛЕН. А под «хорошим» я имею в виду настолько хороший, насколько это возможно. Это мои мысли, основанные на моём собственном опыте того, какие мониторы лучше подходят для программирования.
Читать дальше →

Как OpenShift меняет организационную структуру ИТ-организации. Эволюция организационных моделей при переходе на PaaS

Reading time10 min
Views4.4K
Хотя сами по себе решения PaaS («Платформа как сервис») не способны изменить способы индивидуального и командного взаимодействия, они часто служат катализатором организационных изменений в ответ на возросшую гибкость ИТ-технологий.



На деле максимальная отдача от инвестиций в PaaS зачастую возможна только при условии изменения организационных ролей, сфер ответственности (задач) и схем взаимоотношений. К счастью, решения PaaS, такие как OpenShift Container Platform, обладают достаточной гибкостью для того, чтобы каждая ИТ-организация могла самостоятельно определять скорость и масштабы перемен относительно вовлеченных людей и происходящих процессов.
Читать дальше: Как OpenShift меняет организационную структуру ИТ-организации

Как облегчить себе жизнь при использовании Git (а также подборка материалов для глубокого погружения)

Reading time13 min
Views38K

Tree of Dragons II by surrealistguitarist

Для тех, кто каждый день использует Git, но чувствует себя неуверенно, команда Mail.ru Cloud Solutions перевела статью фронтенд-разработчика Шейна Хадсона. Здесь вы найдете несколько трюков и советов, которые могут немного облегчить работу с Git, а также подборку статей и мануалов более продвинутого уровня.
Читать дальше →

Ускоряем node.js: нативные модули и CUDA

Reading time11 min
Views24K
Иногда разработчики различных веб-проектов сталкиваются с необходимостью обработки больших объемов данных или использованием ресурсозатратного алгоритма. Старые инструменты уже не дают необходимой производительности, приходится арендовать/покупать дополнительные вычислительные мощности, что подталкивает к мысли переписать медленные участки кода на C++ или других быстрых языках.

В этой статье я расскажу о том, как можно попробовать ускорить работу Node.JS (который сам по себе считается довольно быстрым). Речь пойдет о нативных расширениях, написанных с помощью C++.
Читать дальше →

Code review Терминатор. Ревью, за которое вам скажут спасибо

Reading time4 min
Views7.3K

Рыжик помогает мне ревьюить код. А когда ему что-то не нравится — тоже настоящий Терминатор

«Code review Терминатор», — однажды назвал меня коллега после особо продуктивного ревью. С одной стороны, это тешило ЧСВ и было приятно. С другой — коллега действительно научился чему-то новому, и это позволило писать ему более качественный код. Так что win-win.

После смены работы сменились и коллеги. Но и на новом месте тоже начали благодарить за ревью. Решил разобраться, почему, и разложил по полочкам. Получилось 11 рекомендаций.
Читать дальше →

Требования к ПО на пальцах

Reading time5 min
Views121K
Пост про основы разработки требований — без сложных схем, терминов и таблиц, зато с гифками.

image

Если коротко, то основные этапы разработки требований — это:

  1. Зачем нам что-то делать? (нужно больше золота)
  2. Что мы будем делать? (все как у людей, но дешевле)
  3. Как мы это сделаем? (с блокчейном и датасаентистами, естественно)
  4. Когда мы это сделаем? (вчера, а отрефакторим «потом»)

А теперь подробнее.
Читать дальше →

Как стать долларовым миллионером за 30 лет, лежа на диване

Reading time12 min
Views242K


На Хабре недавно вышел пост ״Новичкам фондового рынка: честные разговоры о трейдинге״. Этот пост, опубликованный в одном из самых читаемых блогов Хабра, вводит людей в заблуждение и создает у них ложное представление о том, что игра на бирже — хороший способ заработка. Это вынудило меня написать комментарий, постепенно переросший в целую статью, с детальным разбором того, почему трейдинг — это не способ разбогатеть, а способ потерять деньги, и о том, как на самом деле заработать на инвестициях.
Поехали!

Руководство по Git. Часть №2: золотое правило и другие основы rebase

Reading time6 min
Views30K
Посмотрим, что происходит, когда вы выполняете git rebase и почему нужно быть внимательным. 

Это вторая и третья части гайда по Git из блога Pierre de Wulf в переводе команды Mail.ru Cloud Solutions. Первую часть можно почитать тут.
Читать дальше →

Почему я люблю IKEv2 больше других VPN

Reading time5 min
Views198K


Сейчас все вокруг настраивают VPN для удаленных сотрудников. Мне больно смотреть, как люди устанавливают монструозные глючные программы, настраивают какие-то сертификаты, устанавливают драйвера TUN/TAP и делают множество сложных операций, в то время как лучшее решение уже встроено в операционную систему.

IKEv2 — это современный протокол VPN, разработанный Microsoft и Cisco. Он используется по умолчанию для новых VPN-подключений в Windows, macOS, iOS. Он быстрее и безопаснее большинства VPN-протоколов и может легко настраиваться на стороне клиента в два клика без использования сторонних программ.

Я считаю, что IPsec IKEv2 отлично подходит не только для соединения серверов, но и для обычных VPN-подключений конечных пользователей. В этом посте я постараюсь убедить вас использовать IPsec IKEv2 для обычных домашних пользователей вместо OpenVPN.
Читать дальше →

Поваренная книга Ruby-разработчика: Domain Driven Design рецепты ( 1-я часть, область применения )

Reading time7 min
Views17K

Введение


Я хотел бы рассказать об опыте применения практик DDD к существующему Ruby on Rails проекту. Изначально, мы имели монолит, который писался 10 лет. Основная трудность проекта была в достаточно сложных процессах, и высокой связанности. Нам удалось не только декомпозировать приложение на отдельные сервисы, но и существенно повысить читаемость кода, сделать описываемые процессы прозрачными.


Решение задач в рамках системы стало предсказуемым, мы перестали работать с черным ящиком, и в конечном итоге система сама стала подсказывать нам решения.


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

Читать дальше →

Универсальный солдат или узкий специалист? Что должен знать и уметь DevOps-инженер

Reading time4 min
Views13K

Технологии и инструменты, которые нужно освоить DevOps-инженеру.

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

Для того чтобы прояснить, что вообще такое DevOps и для чего нужны представители этой профессии, мы поговорили с Николаем Бутенко, архитектором Mail.ru Cloud Solutions. Он принимал участие в разработке программы курса факультета DevOps и одновременно преподает студентам третьей четверти.
Читать дальше →

Учимся разворачивать микросервисы. Часть 4. Jenkins

Reading time14 min
Views119K


Привет, Хабр!


Это четвертая и заключительная часть серии статей "Учимся разворачивать микросервисы", и сегодня мы настроим Jenkins и создадим пайплайн для микросервисов нашего учебного проекта. Jenkins будет получать файл конфигурации из отдельного репозитория, собирать и тестировать проект в Docker-контейнере, а затем собирать Docker-образ приложения и пушить его в реестр. Последней операцией Jenkins будет обновлять кластер, взаимодействуя с Helm (более подробно о нем в прошлой части).

Читать дальше →

Kubernetes: почему так важно настроить управление ресурсами системы?

Reading time13 min
Views51K

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


Читать дальше →

10 отличных Github репозиториев, которые должен знать каждый веб-разработчик

Reading time3 min
Views100K

Кроме огромных репозиториев с источниками для подготовки к интервью, здесь много чего интересного


Я собрал список из десяти отличных репозиториев на Github, которые помогут вам существенно расширить свои знания.


image


А я его перевел, т.к. показалось, что пост многим будет интересен. Перевод очень вольный: я опустил нерелевантные промо-ссылки и гипер эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, перейдем к списку.
Читать дальше →

9 четких инструментов для изучения и прокачки английской лексики

Reading time6 min
Views83K


В Оксфордском словаре английского языка почти 450 000 слов! Но если вы учите язык как иностранный, их совсем не нужно запоминать все и сразу.

Чтобы полноценно общаться на английском языке, вполне достаточно всего лишь 2000–3000 слов. При должном усердии и небольшом количестве хитростей их вполне можно выучить за год.

В этой статье мы собрали 9 шикарных инструментов, которые помогут вам учить английские слова и сделают учебную рутину интереснее. Не будем долго рассусоливать, погнали!
Читать дальше →

Разворачиваем Jenkins как код

Reading time8 min
Views15K
Прим. перев.: это перевод статьи из инженерного блога компании Preply о том, как можно использовать конфигурацию как код для такого популярного CI/CD инструмента как Jenkins.

В нашей компании, мы стараемся следовать практикам «Все как код», это касается не только инфраструктурных ресурсов, но и мониторинга, Jenkins джоб и т.д. В статье я расскажу, о том, как мы используем эту практику при разворачивании и поддержке Jenkins. Причем это касается не только инфраструктуры для сервера и агентов, но и плагинов, доступов, джоб и множества других вещей.

Кроме того, в данной статье мы попробуем найти ответы на такие вопросы как:

  • Стал ли наш Jenkins стабильнее?
  • Можем ли мы делать частые изменения в конфигурацию сервера и джоб?
  • Является ли обновление Jenkins для нас все еще болью?
  • Можем ли мы контролировать все наши изменения?
  • Можем ли мы быстро восстановить Jenkins в случае факапа?

image
Читать дальше →

7 опенсорсных инструментов для мониторинга безопасности облачных систем, о которых стоит знать

Reading time8 min
Views15K
Широкое распространение облачных вычислений помогает компаниям в масштабировании бизнеса. Но применение новых платформ означает и появление новых угроз. Поддержка внутри организации собственной команды, отвечающий за мониторинг безопасности облачных служб, это дело непростое. Существующие инструменты мониторинга дороги и медленны. Ими, в какой-то степени, тяжело управлять в том случае, если нужно обеспечить безопасность крупномасштабной облачной инфраструктуры. Компаниям, для того, чтобы поддерживать свою облачную безопасность на высоком уровне, нужны мощные, гибкие и понятные инструменты, возможности которых превышают возможности того, что было доступно раньше. Именно тут оказываются очень кстати опенсорсные технологии, которые помогают экономить бюджеты на безопасность и создаются силами специалистов, знающих толк в своём деле.



В статье, перевод которой мы сегодня публикуем, представлен обзор 7 опенсорсных инструментов для мониторинга безопасности облачных систем. Эти инструменты предназначены для защиты от хакеров и киберпреступников путём детектирования аномалий и небезопасных действий.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity