Как стать автором
Обновить
8
0
Imran Gadzhiev @imrangadzhiev

Инженер-разработчик

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

Какие задачи решают IAM системы?

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

Какие задачи решают IAM системы?



Терминология


Чаще всего мы встречаем термин Identity Management (IdM), что означает управление учетными записями или электронными представлениями пользователей. Как правило, от IdM-системы требуется управление не только учетными записями, но и доступом к системам. Поэтому обычно говоря об IdM, подразумевают Identity and Access Management.

Под Identity and Access Management (IAM) понимают набор технологий и программных продуктов, отвечающих задачам управления жизненным циклом учетных записей и управления доступом к различным системам в компании. Аналитические агентства (Gartner, Forrester, KuppingerCole) и разработчики IAM-систем выделяют как минимум две области внутри IAM: User Administration and Provisioning (UAP) и Identity and Access governance (IAG). Современное IAM-решение должно предоставлять функциональность в обеих областях.

UAP-решения появились в конце 1990-х как средства автоматизации работы со службами каталогов. UAP решает задачи автоматизации создания, изменения и удаления учетных записей в информационных системах организации, а также обеспечивает доступ к приложениям и ресурсам, которые нужны пользователю для работы.
Читать дальше →
Всего голосов 4: ↑2 и ↓20
Комментарии10

Flux в картинках

Время на прочтение5 мин
Количество просмотров49K
Нам в Хекслете нравится ReactJS и Flux. Нам кажется, что это правильное направления развития. Мы любим функциональное программирование и чистые функции, и когда сложные архитектуры упрощаются за счет подходов, связанных с ними — это круто. По Реакту уже есть немало ресурсов в интернете, в том числе наш практический курс по React JS. Последний урок в этом курсе называется «Однонаправленное распространение данных», и там мы подходим к интересной теме, которая лежит в основе архитектуры Flux.

Flux это паттерн распространения даных в приложении. Flux и React выросли в стенах Фейсбука вместе. Многие используют их одновременно, но ничто не мешает использовать их по отдельности. Они были созданы для решения конкретной проблемы в Фейсбуке.

Мы используем React и Flux в своей браузерной среде разработки Hexlet IDE (она в опен-сорсе), в которой учащиеся выполняют практические задания. Flux одновременно очень популярен и очень непонятен для многих в мире веба. Сегодняшний перевод — попытка объяснить Flux на пальцах (ну, то есть картинках).

Проблема


Вначале нужно понять, какую проблему решает Flux.


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

Взаимодействие веб-сервисов через REST

Время на прочтение8 мин
Количество просмотров11K
При разработке современных веб-сервисов зачастую появляется вопрос, каким образом обеспечить простое и прозрачное взаимодействие нескольких разнородных систем. Благо, выбор большой: здесь и SOAP, и CORBA, и DCE/RPC, и, конечно же, REST. О создании межплатформенного API на его базе и пойдет речь.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии16

Реальная стоимость жизни в Кремниевой Долине для разработчика

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

Зачем это читать?


Всем привет! Меня зовут Винсент, и я с 2018 года живу в Кремниевой Долине со своей супругой и сыном.


Своим фильмом, Дудь хотел поднять стартапный ажиотаж в России, но в итоге возбудил всех моих товарищей гораздо больше здесь, в Silicon Valley.


Этот пост — расчет стоимости жизни "обычного разработчика" (не "стартапера"), который работает "на дядю". Все максимально честно и подробно.

Читать дальше →
Всего голосов 208: ↑199 и ↓9+260
Комментарии899

RESTful API — большая ложь

Время на прочтение7 мин
Количество просмотров434K
От переводчика:
Я впервые попробовал перевести статью такого объёма и IT-тематики, с радостью прочту ваши комментарии и замечания. Что же касается самой статьи: я не согласен с автором как минимум потому, что, по сути, он заменяет REST на… REST (!!!), но немного в другом обрамлении. Однако, не смотря на то, что в статье преподносится много очевидных вещей, мне она показалась достойной обсуждения на Хабре.

Почему Вам стоит похоронить эту популярную технологию

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

CSS-in-JS — мифы и реальность (на примере styled-components)

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

CSS-in-JS, будучи не совсем новой технологией и реализованной во множестве библиотек, до сих пор вызывает сомнения и споры в целесообразности ее использования. Свои точки над «i» в спорах о CSS-in-JS в общем, и о styled-components в частности, расставил еще год назад, ( 27 Apr 2017 ), и Gajus Kuizinas, автор react-css-modules и babel-plugin-react-css-modules, во все еще, на мой взгляд, актуальной публикации «Прекратите использовать CSS-in-JavaScript в веб-разработках».
Ниже предлагается слегка сокращенный ее перевод с некоторыми добавлениями и выводами:

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

Race condition в веб-приложениях

Время на прочтение7 мин
Количество просмотров32K
TL;DR В статье описываются непопулярные трюки с race condition, которые обычно не используют в атаках такого типа. По итогу исследований мы сделали свой фреймворк для атак racepwn.

Вася хочет перевести 100 долларов, которые есть у него на счету, Пете. Он переходит на вкладку переводов, вбивает Петин ник и в поле с количеством средств, которые необходимо перевести — цифру 100. Далее, нажимает на кнопку перевода. Данные кому и сколько отправляются на веб-приложение. Что может происходить внутри? Что необходимо сделать программисту, чтобы все работало корректно?
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии10

Автоматизируем переход на React Hooks

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

React 16.18 — первый стабильный релиз с поддержкой react hooks. Теперь хуки можно использовать не опасаясь, что API изменится кардинальным образом. И хотя команда разработчиков react советует использовать новую технологию лишь для новых компонентов, многим, в том числе и мне, хотелось бы их использовать и для старых компонентов использующих классы. Но поскольку ручной рефакторинг — процесс трудоемкий, мы попробуем его автоматизировать. Описанные в статье приемы подходят для автоматизации рефакторинга не только react компонентов, но и любого другого кода на JavaScript.

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

React + Mobx: в чём смысл?

Время на прочтение16 мин
Количество просмотров141K
Сегодня я хочу рассказать вам о том, как на нашем проекте состоялся переход на Mobx, какие преимущества это даёт. Также будет показан типовой проект и даны пояснения по основным вопросам. Но сначала вводные.

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

Как работает JS: обзор движка, механизмов времени выполнения, стека вызовов

Время на прочтение6 мин
Количество просмотров206K
Популярность JavaScript растёт, его возможности используют на разных уровнях применяемых разработчиками стеков технологий и на множестве платформ. На JS делают фронтенд и бэкенд, пишут гибридные и встраиваемые приложения, а также многое другое.

Анализ статистики GitHub показывает, что по показателям активных репозиториев и push-запросов, JavaScript находится на первом месте, да и в других категориях он показывает довольно высокие позиции.


Статистические сведения по JavaScript с GitHub

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

Если множество проектов плотно завязаны на JavaScript, значит, разработчикам необходимо как можно более эффективно использовать всё, что даёт им язык и его экосистема, стремясь, на пути разработки замечательных программ, к глубокому пониманию внутренних механизмов языка.

Как ни странно, существует множество разработчиков, которые регулярно пишут на JavaScript, но не знают, что происходит в его недрах. Пришло время это исправить: этот материал посвящён обзору JS-движка на примере V8, механизмов времени выполнения, и стека вызовов.
Читать дальше →
Всего голосов 41: ↑33 и ↓8+25
Комментарии29

Создание npm-пакета

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


Типичная ситуация — в проекте существует некий модуль. Модуль развивается, становится самостоятельным элементом и копируется в другой проект. Потом еще один проект. И еще.
В каждом проекте модуль обновляется и улучшается, и, в какой-то момент, становится не понятно, где актуальная версия. Да ладно, «не понятно где актуальная версия»! Вполне возможно, что в каждом проекте у модуля будут свои модификации, в которые будет достаточно сложно привести в порядок для использования в следующем проекте.
Вполне можно ограничиться созданием отдельного репозитория для модуля, например на GitHub или Bitbucket. Но добавлять репозиторий как субмодуль для GIT — это путь к приключениям.
Но можно пойти дальше, и создать на основе такого модуля npm-пакет. Работать с такими пакетами очень просто. Установить npm-пакет можно с помощью команды npm install, а обновить с помощью npm update.
Подробности
Всего голосов 31: ↑24 и ↓7+17
Комментарии4

Boston Dynamics: от заказов для армии США к коммерческому роботу Spot

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

Boston Dynamics последний десяток лет удивляет нас видео со своими роботами. Компания начала с жутковатого BigDog по заказу армии США, а закончила ярко-желтым и дружелюбным SpotMini для промышленности. Их машины могут сканировать помещения, переносить грузы, а еще — балансировать на льду, танцевать и исполнять паркур — даже покруче людей. Кажется, нужно еще чуть-чуть подождать, и роботы начнут свободно ходить по улицам. Сейчас, когда полмира сидит по домам, это смотрелось бы особенно комично. История Boston Dynamics началась почти 30 лет назад, а может и все 40 — когда основатель компании придумал одноногого прыгающего робота.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+43
Комментарии3

IP-телефония. Виды VoIP устройств, обзор плюсов-минусов. Что выбрать?

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

По данным исследований DISCOVERY Research Group среднегодовой темп роста IP-телефонии в России составляет 30%. Предположительно рынок IP-телефонии в России к 2021 году вырастет до 14,2 млрд. Как видите, рост довольно серьезный.


С развитием услуг IP-телефонии растет и рынок VoIP оборудования. И для каждой компании важно, чтобы оборудование было удобным в использовании и работало стабильно.


Статья рассказывает о том, какие виды конечного VoIP оборудования существуют, плюсы-минусы каждого вида, и какие более стабильны в работе. Информация из статьи поможет компаниям, системным администраторам, руководителям, директорам и другим пользователям, кто решил подключить себе IP-телефонию, выбрать для себя правильную категорию VoIP оборудования.


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

Читать дальше →
Всего голосов 9: ↑6 и ↓3+7
Комментарии27

Пять знаменитых цитат о программировании с объяснениями

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


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

Эту статью я посвятил разбору нескольких из своих любимых высказываний, касающихся программирования. Единственным критерием, по которому я производил отбор, было требование, чтобы цитате сравнялось не менее двадцати лет. Потому что это только устаревшие технологии быстро становятся непригодными к использованию, тогда как древние заповеди наших предков-программистов долго сохраняют актуальность.
Читать дальше →
Всего голосов 17: ↑11 и ↓6+11
Комментарии9

Как я заработал 1 000 000 $ без опыта и связей, а потом потратил их, чтобы сделать свой переводчик

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

Как все начиналось


Эта история началась 15 лет назад. Работая программистом в столице, я накапливал деньги и увольнялся, чтобы потом создавать собственные проекты. Для экономии средств уезжал домой, в небольшой родной город, где работал над сайтом для студентов, программой для торговли, играми для мобильных телефонов. Но из-за отсутствия опыта ведения бизнеса это не приносило дохода, и вскоре проекты закрывались. Приходилось снова ехать в столицу и устраиваться на работу. Эта история повторилась несколько раз.

Когда у меня в очередной раз закончились деньги, наступил кризис. Я не смог найти работу, ситуация стала критической. Пришло время посмотреть на все вещи трезвым взглядом. Нужно было честно признаться себе, что я не знаю, какие ниши выбрать для бизнеса. Создавать проекты, которые просто нравятся, — путь в никуда.
Читать дальше →
Всего голосов 173: ↑164 и ↓9+215
Комментарии144

Как использовать консоль JavaScript: выход за пределы console.log ()

Время на прочтение3 мин
Количество просмотров12K
Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use the JavaScript console: going beyond console.log()» автора Yash Agrawal.

Один из самых простых способов отладки чего-либо в JavaScript — вывод материала с помощью console.log. Но есть много других методов, предоставляемых консолью, которые могут помочь улучшить отладку.

Давайте начнем.

Самым базовым вариантом использования является вывод строки или группы объектов JavaScript. Довольно просто,

console.log('Is this working?'); 

Теперь представьте сценарий, когда у вас есть куча объектов, которые вам нужно вывести в консоль.

const foo = { id: 1, verified: true, color: 'green};
const bar = { id: 2, verified: false, color: 'red' };

Самый интуитивно понятный способ вывода просто console.log (variable) несколько раз. Проблема становится более очевидной, когда мы видим, как оно отображается в консоли.

image

Как видите, имена переменных не видны, что не очень удобно. Это можно решить объединив все переменные в единый console.log ({foo, bar}). Это также уменьшает количество строк console.log в нашем коде.
Читать дальше →
Всего голосов 28: ↑15 и ↓13+10
Комментарии3

Настройка nginx

Время на прочтение5 мин
Количество просмотров290K
Тема правильной настройки nginx очень велика, и, боюсь, в рамки одной статьи на хабре никак не помещается. В этом тексте я постарался рассказать про общую структуру конфига, более интересные мелочи и частности, возможно, будут позже. :)

Неплохой начальной точкой для настройки nginx является конфиг, который идёт в комплекте с дистрибутивом, но очень многие возможности этого сервера в нём даже не упоминаются. Значительно более подробный пример есть на сайте Игоря Сысоева: sysoev.ru/nginx/docs/example.html. Однако, давайте лучше попробуем собрать с нуля свой конфиг, с бриджем и поэтессами. :)
подробности
Всего голосов 88: ↑78 и ↓10+68
Комментарии53

Оптимизация хвостовой рекурсии в JavaScript

Время на прочтение4 мин
Количество просмотров26K
Привет, читатель.

Иногда для решении задачи приходится использовать Рекурсию, в которой есть свои плюсы и минусы. Я столкнулся с проблемой переполнения стека.
Максимальная глубина рекурсии ограничена движком JavaScript. Точно можно рассчитывать на 10000 вложенных вызовов, некоторые интерпретаторы допускают и больше, но для большинства из них 100000 вызовов – за пределами возможностей. Существуют автоматические оптимизации, помогающие избежать переполнения стека вызовов («оптимизация хвостовой рекурсии»), но они ещё не поддерживаются везде и работают только для простых случаев.

Пример рекурсивной функции:
function sum(n) {
  return n === 0 ? 0 : n + sum(n - 1)
}

sum(5) // 1 + 2 + 3 + 4 + 5  = 15
sum(100000) // Error: Maximum call stack size exceeded.

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

Сети для начинающего IT-специалиста. Обязательная база

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

Примерно 80% из нас, кто заканчивает университет с какой-либо IT-специальностью, в итоге не становится программистом. Многие устраиваются в техническую поддержку, системными администраторами, мастерами по наладке компьютерных устройств, консультантами-продавцами цифровой техники, менеджерами в it-сферу и так далее.


Эта статья как раз для таких 80%, кто только закончил университет с какой-либо IT-специальностью и уже начал мониторить вакансии, например, на должность системного администратора или его помощника, либо выездного инженера в аутсорсинговую фирму, либо в техническую поддержку 1-й/2-й линии.


А также для самостоятельного изучения или для обучения новых сотрудников.


За время своей трудовой деятельности в сфере IT я столкнулся с такой проблемой, что в университетах не дают самую основную базу касательно сетей. С этим я столкнулся сначала сам, когда, после окончания университета, ходил по собеседованиям в 2016 году и не мог ответить на простые (как мне сейчас кажется) вопросы. Тогда мне конечно показалось, что это я прохалтурил и не доучил в университете. Но как оказалось дело в образовательной программе. Так как сейчас, я также сталкиваюсь с данным пробелом знаний, когда обучаю новых сотрудников.


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


Именно поэтому я решил собрать основные темы в одну статью и объяснить их как можно проще «на пальцах».

Читать дальше →
Всего голосов 61: ↑50 и ↓11+55
Комментарии99

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность