Как стать автором
Обновить
0
@augrinnread⁠-⁠only

Программист 1С

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

BI-инструмент от Яндекса DataLens — теперь в опенсорсе

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

Сегодня мы опубликовали на GitHub под открытой лицензией Apache 2.0 исходный код Yandex DataLens — сервиса для анализа и визуализации данных. Теперь использовать опенсорс-версию DataLens может любой желающий и в любой инфраструктуре. 

Меня зовут Павел Дубинин, вместе с Гаджи Гаджиевым мы в Yandex Cloud занимаемся развитием DataLens. Сегодня расскажем, какие задачи он помогает решать разным пользователям, какие возможности открываются с выходом в опенсорс и что можно развернуть у себя прямо сейчас.   

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

Настраиваем и автоматизируем развёртывание Active Directory

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


В этой статье я бы хотел предложить вам пошаговый туториал по развёртыванию контроллера домена Active Directory на Windows Server 2016 (с графической оболочкой), а также по вводу рабочей станции в получившийся домен. Чем этот туториал может выделиться на фоне других:


  1. Вместо простого "Далее, Далее, кликаем сюда, вбиваем это" я постарался дать внятное объяснение каждому шагу, каждой настройке, которую предстоит выполнить. Помимо основных понятий Active Directory, DNS и DHCP вы также сможете найти много интересной информации по всем галочкам, которые вы часто видели, но не задумывались об их назначении.
  2. В конце статьи я предложу способ автоматизировать развёртывание получившегося стенда полностью с нуля, имея на компьютере только iso-образы ОС Windows 7 и Windows Server 2016. И никакого PowerShell. Всего одной командой.

Статья предполагает наличие у читателя лишь самых начальных знаний об устройстве сетей (на уровне "Что такое IP-адрес и DNS-адрес").


Заинтересовало что-то из вышеперечисленного? Тогда погнали.

Всего голосов 11: ↑10 и ↓1+9
Комментарии6

Дефицит специалистов не только в IT — он везде. Но денег не платят

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

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

Читать далее
Всего голосов 440: ↑424 и ↓16+408
Комментарии1017

Чек-лист хороших инженерных практик в компаниях

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

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

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

В этой статье я расскажу о причинах такой катастрофической разницы, а также об инженерных практиках, которые позволят поддерживать высокий темп разработки:

Читать далее
Всего голосов 22: ↑20 и ↓2+18
Комментарии8

Памятка/шпаргалка по SQL

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

Доброго времени суток, друзья!


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

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

Парадокс Ферми

Время на прочтение17 мин
Количество просмотров154K
В чудную звёздную ночь каждый ощущает нечто особенное, когда обращает свой взор в небо и видит подобную картину:




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

Вот это самое нечто ощутил и физик Энрико Ферми, задавшийся резонным вопросом: "А где все?".
А ведь и правда, где все?
Всего голосов 77: ↑71 и ↓6+65
Комментарии384

Карманная книга по TypeScript. Часть 1. Основы

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

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



С сегодняшнего дня мы начинаем серию публикаций адаптированного и дополненного перевода "Карманной книги по TypeScript".


Каждое значение в JavaScript при выполнении над ним каких-либо операций ведет себя определенным образом. Это может звучать несколько абстрактно, но, в качестве примера, попробуем выполнить некоторые операции над переменной message:


// Получаем доступ к свойству `toLowerCase`

// и вызываем его

message.toLowerCase()

// Вызываем `message`

message()

На первой строке мы получаем доступ к свойству toLowerCase и вызываем его. На второй строке мы пытаемся вызвать message.


Предположим, что мы не знаем, какое значение имеет message — обычное дело — поэтому мы не можем с уверенностью сказать, какой результат получим в результате выполнения этого кода.


  • Является ли переменная message вызываемой?
  • Имеет ли она свойство toLowerCase?
  • Если имеет, является ли toLowerCase вызываемым?
  • Если оба этих значения являются вызываемыми, то что они возвращают?

Ответы на эти вопросы, как правило, хранятся в нашей памяти, поэтому остается только надеяться, что мы все помним правильно.

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

Основы Linux от основателя Gentoo. Часть 1 (1/4): BASH, основы навигации

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

Предисловие


Об этом руководстве


Добро пожаловать в первую из четырех частей обучающего руководства по основам Linux, разработанного чтобы подготовить вас к сдаче экзамена Linux Professional Institute 101. В нем вы познакомитесь с bash (стандартной оболочкой командного интерпретатора в Linux), узнаете о большинстве возможностей таких стандартных команд Linux, как ls, cp и mv, разберетесь в инодах, жестких и символьных ссылках, и многом другом. К концу этого руководства у вас сформируется некий фундамент знаний, и вы будете готовы к изучению основ администрирования Linux. К концу всего курса (8 частей), у вас будет достаточно навыков, чтобы стать системным администратором Linux и пройти сертификацию LPIC Level 1 от Linux Professional Institute, если конечно захотите.



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


Читать дальше →
Всего голосов 150: ↑130 и ↓20+110
Комментарии50

Введение в REST API — RESTful веб-сервисы

Время на прочтение4 мин
Количество просмотров940K
Эта статья начинает серию постов о разработке REST API:


Она содержит введение в RESTful веб-сервисы и краткий обзор REST и HTTP.


Intro to RESTful Web Services
Читать дальше →
Всего голосов 15: ↑8 и ↓7+1
Комментарии13

Визуализация «В Контакте»: Скажи мне, кто твой друг?

Время на прочтение2 мин
Количество просмотров145K
Привет, Хабралюди!

У меня есть хобби. Я ночами (в нерабочее время) пишу библиотеку укладки графов: vivagraph.js. Хотел поделиться с вами, узнать что думаете. Визуализировал я сеть друзей своих на «В Контакте» с использованием WebGL. Но лучше один раз увидеть, чем читать, верно?



Это мои друзья. Каждая точка — человек, целый мир, с которым так или иначе мне повезло встретиться. Линия между точками обозначает дружбу. По этой сети можно, правда, сказать многое о человеке.

Как построить свою сеть?
Всего голосов 314: ↑302 и ↓12+290
Комментарии256

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

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

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


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


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


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


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


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

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

Охота на мифический MVC. Построение пользовательского интерфейса

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

Детектив по материалам IT. Часть вторая


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


Начну с Вида. Не смотря на то, что Вид определяется как модуль, отображающий Модель – "а view is a (visual) representation of its model", на практике к Виду, как правило, просто относят все графические элементы GUI, то есть Видом считается все то, что мы видим на экране ЭВМ.


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


View or Controller

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

Охота на мифический MVC. Обзор, возвращение к первоисточникам и про то, как анализировать и выводить шаблоны самому

Время на прочтение24 мин
Количество просмотров141K
— Не понимаю, почему люди так восхищаются этим Карузо? Косноязычен, гугнив, поёт — ничего не разберешь!
— А вы слышали, как поёт Карузо?
— Да, мне тут кое-что из его репертуара Рабинович напел по телефону.

Детектив по материалам IT. Часть первая


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


Проект мы переписали, уже без MVC, просто руководствуясь принципами – код перестал быть похож на клубок спагетти и сократился наполовину (об этом позже, в обещанной статье про то, как мы применяли «принципы» в своем проекте). Но хотелось понять, что же мы сделали не так, в чем была ошибка? И в течении долгого времени изучалось все, что содержало аббревиатуру MVC. До тех пор пока не встретились исходные работы от создателя – Трюгве Реенскауга…


И тогда все встало на свои места. Оказалось что фактически на основе принципов мы пере-изобретали «original MVC». А то, что зачастую преподносится как MVC, не имеет к нему никакого отношения… впрочем также как и к хорошей архитектуре. И судя по тому сколько людей пишет о несостоятельности «классического MVC», спорит о нем и изобретает его всевозможные модификации, не одни мы столкнулись с этой проблемой.


Более 30 лет собранные в MVC идеи и решения остаются наиболее значимыми для разработки пользовательских интерфейсов. Но как ни странно, несмотря на существующую путаницу и обилие противоречивых трактовок, разработчики продолжают довольствоваться информацией «из вторых рук», черпая знания о MVC из википедии, небольших статей в интернете и фреймворков для разработки веб-приложений. Самые «продвинутые» читают Мартина Фаулера. И почему-то почти никто не обращается к первоисточникам. Вот этот пробел и хотелось бы заполнить. И заодно развеять некоторые мифы.


Читать дальше →
Всего голосов 73: ↑71 и ↓2+69
Комментарии387

Что такое Docker: краткий экскурс в историю и основные абстракции

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

10 августа в Слёрм стартовал видеокурс по Docker, в котором мы разбираем его полностью — от основных абстракций до параметров сети.


В этой статье поговорим об истории появления Docker и его основных абстракциях: Image, Cli, Dockerfile. Лекция рассчитана на новичков, поэтому вряд ли будет интересна опытным пользователям. Здесь не будет крови, аппендикса и глубокого погружения. Самые основы.


Всего голосов 29: ↑21 и ↓8+13
Комментарии9

Путеводитель по репликации баз данных

Время на прочтение15 мин
Количество просмотров96K
Повторяться, но каждый раз по-новому – разве не это есть искусство?

Станислав Ежи Лец, из книги «Непричёсанные мысли»

Словарь определяет репликацию как процесс поддержания двух (или более) наборов данных в согласованном состоянии. Что такое «согласованное состояние наборов данных» – отдельный большой вопрос, поэтому переформулируем определение проще: процесс изменения одного набора данных, называемого репликой, в ответ на изменения другого набора данных, называемого основным. Совсем не обязательно наборы при этом будут одинаковыми.



Поддержка репликации баз данных – одна из важнейших задач администратора: почти у каждой сколько-нибудь важной базы данных есть реплика, а то и не одна.

Среди задач, решаемых репликацией, можно назвать как минимум

  • поддержку резервной базы данных на случай потери основной;
  • снижение нагрузки на базу за счёт переноса части запросов на реплики;
  • перенос данных в архивные или аналитические системы.

В этой статье я расскажу о видах репликации и о том, какие задачи решает каждый вид репликации.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии11

Vue.js для начинающих, урок 1: экземпляр Vue

Время на прочтение5 мин
Количество просмотров88K
Сегодня мы предлагаем вашему вниманию перевод первого урока учебного курса по Vue.js для начинающих. Его порекомендовала Наталья Теплухина, Staff Engineer в Gitlab и Core Team Member фреймворка Vue (Q/A сессия с Наташей прошла в нашем инстаграм, а расшифровку можно прочитать здесь)

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


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

Vue.js для начинающих, урок 8: компоненты

Время на прочтение9 мин
Количество просмотров36K
Сегодня, в восьмом уроке курса по Vue, состоится ваше первое знакомство с компонентами. Компоненты — это блоки кода, подходящие для многократного использования, которые могут включать в себя и описание внешнего вида частей приложения, и реализацию возможностей проекта. Они помогают программистам в создании модульной кодовой базы, которую удобно поддерживать.



Vue.js для начинающих, урок 1: экземпляр Vue
Vue.js для начинающих, урок 2: привязка атрибутов
Vue.js для начинающих, урок 3: условный рендеринг
Vue.js для начинающих, урок 4: рендеринг списков
Vue.js для начинающих, урок 5: обработка событий
Vue.js для начинающих, урок 6: привязка классов и стилей
Vue.js для начинающих, урок 7: вычисляемые свойства
Vue.js для начинающих, урок 8: компоненты
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии2

Про кластер серверов 1С

Время на прочтение12 мин
Количество просмотров75K
Кластер — это разновидность параллельной
или распределённой системы, которая:
1. состоит из нескольких связанных
между собой компьютеров;
2. используется как единый,
унифицированный компьютерный ресурс

Gregory F. Pfister, «In search of clusters».


Дано: есть бизнес-приложение (например, ERP-система), с которым работают одновременно тысячи (возможно, десятки тысяч) пользователей.

Требуется:
  1. Сделать приложение масштабируемым, чтобы при увеличении количества пользователей можно было за счёт наращивания аппаратных ресурсов обеспечить необходимую производительность приложения.
  2. Сделать приложение устойчивым к выходу из строя компонентов системы (как программных, так и аппаратных), потере связи между компонентами и другим возможным проблемам.
  3. Максимально эффективно задействовать системные ресурсы и обеспечить нужную производительность приложения.
  4. Сделать систему простой в развертывании и администрировании.

Чтобы решить эти задачи, мы в платформе 1С:Предприятие используем кластерную архитектуру.

К желаемому результату мы пришли не сразу.

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

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

Советы руководителю от руководителя

Время на прочтение11 мин
Количество просмотров113K
Привет, Хабр! Я управляю командами разработки уже 10 лет.

Недавно меня попросили поделиться на внутренней конференции «секретами управления» с другими руководителями. Поводом стала низкая текучка в моём подразделении и здоровый дух внутри команды — так было на всех моих работах. Я отказался, сославшись на то, что не делаю для этого ничего особенного. Сработала внутренняя установка «не будь выскочкой».

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

Поэтому выключаю тумблер «не будь выскочкой» и делюсь «секретами».



Тут не будет стандартных «делегируй», «налаживай процесс», «стой в правильной позе на стендапе» — об этом написано уже достаточно. Будет о другом.
Читать дальше →
Всего голосов 155: ↑152 и ↓3+149
Комментарии201

Как верстать веб-интерфейсы быстро, качественно и интересно

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

image


Всем привет! Давно хотел и наконец написал небольшую книжку — бодрое пособие по своей профессиональной области: актуальным подходам к разметке интерфейсов, экранному дизайну и доступности. Она о моем оригинальном подходе к созданию GUI, препроцессорам CSS (для объективности, немного и об альтернативных подходах), и его эффективном практическом использовании с javascript и популярными реактивными компонентными фреймворками Vue и React. Материал представлен аккуратно последовательно, но безумно интенсивно и динамично — ничего лишнего или даже слишком подробного — для того чтобы увлеченный и подготовленный читатель не потерял интереса и «проглотил на одном дыхании». С другой стороны, текст, достаточно сложный ближе к концу, и на всем протяжении — густо насыщенный идеями, ссылками на технологии и подходы — поэтому, очевидно, будет «на вырост» начинающим. Но, в любом случае, как и если вы только начали интересоваться данной тематикой, так и если уже давно занимаетесь веб-дизайном, версткой и программированием фронтенда — вам может быть полезно на него взглянуть.

Читать дальше →
Всего голосов 24: ↑17 и ↓7+10
Комментарии60
1
23 ...

Информация

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