Как стать автором
Обновить
13
0
Арслан Тарланов @levbrave

System Analyst

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

Семь известных всем неприятных правил жизни, которые мало кто учитывает

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


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

Мы живем по сложным правилам. Причем эти правила бывают разные.

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

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

Переведено в Alconost
Читать дальше →
Всего голосов 34: ↑19 и ↓15+13
Комментарии47

Может, нам слегка успокоиться с JavaScript?

Время на прочтение8 мин
Количество просмотров73K
У меня очень странная проблема с браузером. Скрипты на некоторых страницах просто не работают, пока не пройдёт около 20 секунд.

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

(В самом деле, даже не пытайтесь диагностировать проблему по одному предложению, не надо, я слышала и перепробовала почти всё, что вы можете себе представить).
Читать дальше →
Всего голосов 148: ↑134 и ↓14+157
Комментарии308

Полная домашняя автоматизация в новостройке

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


Панель управления квартирой в феврале 2020 года (Home Assistant)

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


Строительство нашего дома в процессе — ноябрь 2016 года
Умный дом в самом соку...
Всего голосов 104: ↑101 и ↓3+132
Комментарии514

Поиск сотрудников и поиск работы: мой взгляд изнутри и снаружи

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

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


ПОИСК ПЕРСОНАЛА: взгляд со стороны работодателя


Сразу отмечу, что я не профессиональный HR-рекрутер и не психолог, но по заказу клиента занималась подбором и первичным обучением команды, специалисты которой работали в нескольких городах РФ. Опыт по “другую сторону баррикад” получился в таких для меня уроках.


image


  • Любой контакт с работодателем может оказаться первым и последним, смотря что вы скажете или не скажете. Я вела собеседования на вакансию, где предполагалось постоянное общение с людьми и было важно поддерживать положительный эмоциональный контакт. И когда на такую позицию собеседуемый на третьей минуте разговора сказал “б***ь”, то, считайте, для меня разговор был окончен, хоть он и извинился. Если у человека такая культура речи, то контролировать её в клиентской работе постоянно он не сможет. Хотя не отрицаю, что он подойдет на любое другое место, где общение – не ключевая сторона работы.
  • Настойчивость порой действительно открывает все двери, как не очевидно бы это было. Однажды мы взяли в команду человека, которого вообще не планировали.
Читать дальше →
Всего голосов 14: ↑7 и ↓7+5
Комментарии53

Книга «Совершенный алгоритм. Жадные алгоритмы и динамическое программирование»

Время на прочтение6 мин
Количество просмотров7.8K
image Привет, Хаброжители! В новой книге Тим Рафгарден рассказывает о жадных алгоритмах (задача планирования, минимальные остовные деревья, кластеризация, коды Хаффмана) и динамическом программировании (задача о рюкзаке, выравнивание последовательностей, кратчайшие пути, оптимальные деревья поиска). В данном посте представлен отрывок «Разработка жадного алгоритма»

Жадные алгоритмы, по всей видимости, хорошо подходят для задачи планирования работ, минимизируя взвешенную сумму сроков завершения. Выход имеет итеративную структуру, где работы обрабатываются по одной. Почему бы не использовать жадный алгоритм, который итеративно решает, какая работа будет следующей?
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии0

Решение нескольких задач от Microsoft на примере JavaScript

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


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

Представляю вашему вниманию три задания по JS, предложенные участникам Microsoft’s Online Assessment 2019.

Microsoft’s Online Assessment — предварительный отбор кандидатов в разработчики. Тех, кто прошел предварительный отбор, приглашают на онлайн собеседование. Нашел в сети информацию, что на решение задач отводился ровно один час, но это не точно.

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

За решения огромное спасибо Matt Clark.

Итак, поехали.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+15
Комментарии18

Каких сервисов вам не хватает?

Время на прочтение5 мин
Количество просмотров8.4K
Можно сколько угодно иронизировать над «проблемами первого мира», но цифровая цивилизация действительно приносит множество неудобств. Интернет обрушивает на нас тонны контента, в соцсетях сыпятся приглашения в непонятные группы от малознакомых людей, да и мало ли еще бытовых мелочей, от которых так и хочется избавиться, чтобы спокойно поработать или отдохнуть?

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

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

Изменение требований к проекту — ключевая проблема разработки ПО

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

Шаги по разработке большой компьютерной программы для доставки заказчику

Иллюстрация выше — из статьи д-ра Уинстона Ройса «Управление разработкой больших программных систем» 1970 года. Считается, что это первое в программной инженерии описание модели водопада. Диаграммы д-ра Ройса разошлись по сотням учебников и статей. Но часто забывают тот факт, что изобретатель водопада сразу написал: «Эта конкретная реализация рискованна и влечёт за собой неудачу».

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

Прошло уже более 50-ти лет с момента проведения первой конференции IFIP по программной инженерии, и за это время предложено немало различных методик, процессов и моделей, призванных помочь разработчикам достичь этого предсказуемого и экономически эффективного процесса. Но и через полвека у нас те же проблемы, что и всегда: опоздания, неудовлетворительные результаты и полные провалы проектов.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+14
Комментарии26

Сканирующее окно по массивам NumPy

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

CoLab блокнот с примерами.


Возможно сделать скользящее окно (rolling window, sliding window, moving window) по массивам NumPy на языке программирования Python без явных циклов. В данной статье рассматривается создание одно-, двух-, трех- и N-мерных скользящих окон по массивам NumPy. В результате скорость обработки данных увеличивается в несколько тысяч раз и сравнима по скорости с языком программирования С.


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


Отказ от ответственности: в исходном коде могут быть ошибки! Если вы видите ошибку, пожалуйста, напишите мне.


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

Как я самостоятельно выучил новый язык за 12 месяцев: тотальный гайд

Время на прочтение31 мин
Количество просмотров159K
От А0 до B2 за год

Чуть больше года назад я был полностью монолингвом, говорящем только на английском, с нулевыми познаниями во французском языке. А спустя двенадцать месяцев, я с лёгкостью сдал международный экзамен DELF B2. Если вы не знаете, что значит «В2», посмотрите шкалу CEFR.

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

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

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

  • Беседа на французском в течение нескольких часов;
  • Понимание различных видов французских СМИ (например, новости и видео на YouTube);
  • Чтение статей, написанных для носителей французского языка;
  • Построение мыслей на французском;

Конечно, я всё ещё очень далёк от уровня носителя. У меня точно есть слабые места, и я не могу выражаться на французском так же хорошо, как на английском. Тем не менее, я очень даже доволен своим уровнем владения французским и думаю, что многие изучающие язык тоже были бы довольны.
Читать дальше →
Всего голосов 41: ↑38 и ↓3+44
Комментарии91

Топ лучших докладов Joker 2019

Время на прочтение4 мин
Количество просмотров14K
В октябре в Санкт-Петербурге прошла хардкорная конференция Joker 2019, и уже много про нее написано («Joker 2019: триумф года», «Чем нам запомнилась последняя JokerConf», «Атакуем Joker 2019 полностью: как прошла самая крупная Java-конференция в России»), и фоточки уже доступны. Обратная связь собрана, итоги подведены, и самое время поудобней усесться в кресле и посмотреть десятку лучших докладов с конференции.


Ссылка на плейлист с открытыми докладами — под катом.
Всего голосов 36: ↑36 и ↓0+36
Комментарии11

Понимание итераторов в Python

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

Python — особенный язык в плане итераций и их реализации, в этой статье мы подробно разберём устройство итерируемых объектов и пресловутого цикла for.


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


1. Использование генератора дважды


>>> numbers = [1,2,3,4,5]

>>> squared_numbers = (number**2 for number in numbers)

>>> list(squared_numbers)
[1, 4, 9, 16, 25]

>>> list(squared_numbers)
[]

Как мы видим в этом примере, использование переменной squared_numbers дважды, дало ожидаемый результат в первом случае, и, для людей незнакомых с Python в достаточной мере, неожиданный результат во втором.


2. Проверка вхождения элемента в генератор


Возьмём всё те же переменные:


>>> numbers = [1,2,3,4,5]
>>> squared_numbers = (number**2 for number in numbers)

А теперь, дважды проверим, входит ли элемент в последовательность:


>>> 4 in squared_numbers
True
>>> 4 in squared_numbers
False
Читать дальше →
Всего голосов 23: ↑21 и ↓2+25
Комментарии20

7 рекомендаций по повышению надёжности JavaScript-кода

Время на прочтение6 мин
Количество просмотров16K
Автор статьи, перевод которой мы сегодня публикуем, решил поделиться с читателями семью рекомендациями по JavaScript. Эти рекомендации, как хочется надеяться автору, помогут писать более надёжные программы.


Читать дальше →
Всего голосов 34: ↑23 и ↓11+30
Комментарии42

pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way

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

КДПВ


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


Для этой цели существует немало инструментов: PyInstaller, cx_Freeze, py2exe, py2app, Nuitka и многие другие… Но что, если вы используете в своей программе PyQt? Несмотря на то, что многие (если не все) из выше перечисленных инструментов умеют упаковывать программы, использующие PyQt, существует другой инструмент от разработчиков самого PyQt под названием pyqtdeploy. К моему несчастью, я не смог найти ни одного вменяемого гайда по симу чуду, ни на русском, ни на английском. На хабре и вовсе, если верить поиску, есть всего одно упоминание, и то — в комментариях (из него я и узнал про эту утилиту). К сожалению, официальная документация написана довольно поверхностно: не указан ряд опций, которые можно использовать во время сборки, для выяснения которых мне пришлось лезть в исходники, не описан ряд тонкостей, с которыми мне пришлось столкнуться.


Данная статья не претендует на всеобъемлющее описание pyqtdeploy и работы с ним, но, в конце концов, всегда приятно иметь все в одном месте, не так ли?

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

Почему так важно сообщать соискателю, что пошло не так на собеседовании (и как это сделать правильно)

Время на прочтение10 мин
Количество просмотров23K
Одна из самых отстойных вещей в технических собеседованиях — то, что это чёрный ящик. Кандидатам сообщают лишь то, прошли ли они на следующий этап без каких-либо подробностей, почему так вышло.

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


Читать дальше →
Всего голосов 17: ↑15 и ↓2+21
Комментарии44

Подборка @pythonetc, январь 2020

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


Новая подборка советов про Python и программирование из моего авторского канала @pythonetc.

Предыдущие публикации


Порядок блоков except имеет значение: если исключение может быть поймано несколькими блоками, то его поймает верхний блок. Этот код не будет работать так, как задумано:
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии0

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

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

На Хабре с завидной периодичностью возникают посты от возмущенных программистов, которые справедливо (наверное) негодуют, почему на собеседовании никто не спросил про их прошлые проекты, не посмотрел их код, но задавал шаблонные справочные вопросы или заставлял решать алгоритмические задачи, которые, скорее всего (в 99%), не будут применяться на вакантной работе.

Чтобы уменьшить поток этих публикаций (святая простота), ниже будет краткий, но лаконичный справочник по типам собеседований, которые вам стоит ожидать от конкретного типа компании. Справочник основан на личном многолетнем опыте. Надеюсь, это поможет вам (именно тебе, да) выбрать лучшую стратегию успешного получения работы.
Погнали!
Всего голосов 204: ↑183 и ↓21+225
Комментарии335

Давайте быстрокодить как профессионалы

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

Дайте мне рычаг, точку опоры, место для ног и армированный скотч



Даже попытавшись, нельзя лаконично обрисовать, насколько бездонная кроличья нора вас поджидает. Здесь один из тех редкостных случаев, когда, чтобы осознать, о чём будет идти речь, надо выслушать речь до самого финала. Изучив по шагам настоящее руководство, каждый обнаружит для себя что-то своё: эзотерический «текстовый» редактор Leo Editor всей своей сутью призывает применить его самым изумительным образом.
Читать дальше →
Всего голосов 30: ↑22 и ↓8+23
Комментарии26

Цели уровня обслуживания — опыт Google (перевод главы книги Google SRE)

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

SRE (Site Reliability Engineering) — подход к обеспечению доступности веб-проектов. Считается фреймворком для DevOps и говорит как добиться успеха в применение DevOps-практик. В этой статье перевод Главы 4 Service Level Objectives книги Site Reliability Engineering от Google. Этот перевод я готовил самостоятельно и полагался на собственный опыт понимания процессов мониторинга. В телеграм-канале monitorim_it и прошлом посте на Хабре я публиковал также перевод 6 главы этой же книги о мониторинге распределённых систем.

Перевод по катом. Приятного чтения!
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии1

5 возможностей Python, о которых я не знал — а зря

Время на прочтение5 мин
Количество просмотров35K
Python можно без сомнений называть языком, испытавшим в последнее десятилетие значительный рост, языком, который доказал свою мощь. Я создал множество Python-приложений — от интерактивных карт до блокчейнов. Python обладает огромным количеством возможностей. Начинающим очень сложно сходу всё это ухватить.



Даже если вы — программист, который переходит на Python с другого языка, вроде C, или если вы — учёный, который раньше работал в MATLAB, Python-программирование с использованием высокоуровневых абстракций — это, определённо, совершенно особый опыт. Я хочу рассказать о пяти очень важных, на мой взгляд, возможностях Python, о которых я раньше, к сожалению, не знал.
Читать дальше →
Всего голосов 47: ↑24 и ↓23+17
Комментарии13

Информация

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

Специализация

DevOps, Software Architect
Lead
От 8 000 $
Python
High-loaded systems
Designing application architecture