Взрасти меня, если сможешь

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

Денис Неклюдов — Google Developer Expert по Android, Pay и IoT. Внес свою небольшую лепту в мобильные приложения нескольких стартапов в России, Азии и Европе, сейчас работает в Lyft в солнечной Калифорнии. Возможно, вы уже слышали голос Дениса в Android Dev Подкасте или видели его на конференциях.

#developer #programming

What is GEEK

Buddha Community

Взрасти меня, если сможешь

Взрасти меня, если сможешь

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

Денис Неклюдов — Google Developer Expert по Android, Pay и IoT. Внес свою небольшую лепту в мобильные приложения нескольких стартапов в России, Азии и Европе, сейчас работает в Lyft в солнечной Калифорнии. Возможно, вы уже слышали голос Дениса в Android Dev Подкасте или видели его на конференциях.

#developer #programming

Seamus  Quitzon

Seamus Quitzon

1594470360

UX-дизайн: с чего начать, если нет опыта

Привет, меня зовут Маша Татаренко, работаю UX-дизайнером в Astound Commerce около трех лет, в прошлом работала в EVO. Сменила нейробиологию на ІТ, пройдя путь от стажера до продвинутого дизайнера, осваивая большую часть профессии самостоятельно. Сейчас работаю в большой команде UX- и UI-дизайнеров (около 50 ребят) с крупными брендами США, Британии, Германии, участвую в конференциях и провожу лекции по дизайну.

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

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

Как я попала в UX

Я получила академическое образование в области нейробиологии поведения, но, к сожалению, в нашей стране очень сложно реализовать себя в этой професии из-за отсутствия достаточных технологий и уровня развития науки (а выезд за границу я тогда не рассматривала), поэтому моя первая работа заключалась в продаже товаров в зоомагазине. Затем я пришла в колл-центр одной ІТ-компании, проработала там три дня, но, собираясь увольняться, меня заметили в UX-отделе и предложили пройти собеседование. За год до этого публиковала на DOU объявление, что у меня есть ай-трекер (прибор для отслеживания взгляда, который используют для тестирования визуальной части сайтов), и меня пригласили в компанию сделать исследование с помощью этого прибора. Но отложили из-за того, что сайт был не готов. А когда через год пришла в эту же компанию в колл-центр, меня увидели, вспомнили, узнали, что я нейробиолог и у меня всё еще есть ай-трекер, и решили из колл-центра перевести на UX.

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

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

Что такое UX-дизайн и чем он отличается от UI

Общепринятого определения, что такое UX-дизайн, не существует, а прямой перевод с английского User experience — «опыт пользователя», согласитесь, достаточно абстрактный для понимания. Но если простыми словами, то опыт пользователя — это ощущения и эмоции, которые испытывает человек, взаимодействуя с чем-либо. От простого нажатия на кнопку включения электрочайника до сложного запуска ядерного реактора, требующего предварительной подготовки. UX-дизайнер, вопреки расхожему мнению, не проектирует пользовательский опыт, но создает то, что может на этот опыт повлиять, учитывая удобство, эргономику, логичность поведения системы и уменьшение количества ошибок. Другими словами, UX решает, как правильно расположить и обозначить кнопку на чайнике, чтобы легко и быстро его включить, а не вызывать приступ раздражения.

Что же такое UI-дизайн и какова его цель? Если UX— это про функциональность, то UI — про искусство визуальной составляющей, внимание к форме, цвету, пространству в деталях и соблюдение стиля. UX и UI дополняют друг друга, но выполняют разные задачи. Представьте, что если UX- и UI-дизайнеры строят дом. То первого волнует, как разместить стены, а второго — в какой цвет их покрасить. Несмотря на то, что UX и UI выполняют разные задачи, часто бывает, что один дизайнер называет себя UX/UI. Почему так? UX — это модно, поэтому некоторые UI-специалисты добавляют себе приставку UX, повышая свою стоимость на рынке.

Компании тоже хотят быть модными и иметь в штате и UX, и UI, при этом не всегда углубляются в разницу между специальностями. Зачастую это обусловлено желанием сэкономить и нанять специалиста 2 в 1, который покроет глобальное требование «нам нужен дизайнер». В этом нет ничего плохого, но разделение UX и UI обычно показывает зрелость компании и понимание важности того, какое место должно отводиться UX- и UI-дизайну в разработке решений.

#ux

Как создать файл, если он не существует в Python

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

Python создает файл, если он не существует.

Чтобы создать файл, если он не существует в Python, используйте функцию open(). open() — это встроенная функция Python, которая открывает файл и возвращает его как файловый объект. open() принимает путь к файлу и режим в качестве входных данных и возвращает файловый объект в качестве выходных данных.

Синтаксис open()

open(file, mode)

Аргументы

file: это путь и имя файла.

mode функция open() принимает один из следующих режимов.

  1. w : Это для режима записи.
  2. r : Это для режима чтения.
  3. a : это для режима добавления.
  4. w+ : создать файл, если он не существует, а затем открыть его в режиме записи.
  5. r+ : Открыть файл в режиме чтения и записи.
  6. a+ : создать файл, если он не существует, а затем открыть его в режиме добавления.

Это различные режимы, которые вы можете использовать при создании нового файла.

Если вы передаете +, добавьте текст в файл или сначала создайте его, если он не существует.

Режим w+ усекает файл, а затем открывает его в режиме записи, поэтому, если мы не хотим, чтобы файл был усечен, мы должны использовать режим a+ .

file = open('data.py','a+')

Если вы запустите приведенный выше код, он создаст файл с именем  data.py. Файла раньше не существовало, но после того, как мы запустили код, он был создан. Если файл существует и уже имеет содержимое, то + не удалит содержимое.

Чтобы обрезать файл при создании нового файла, используйте режим w+ в функции open() .

Мы пишем код внутри файла data.py , а затем запускаем файл app.py в режиме w+.

file = open('data.py','w+')

Теперь, если вы запустите приведенный выше код, он урежет файл.

w обрезает существующий файл. docs: Режимы 'r+', 'w+' и 'a+' открывают файл для обновления.

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

Создайте файл, если он не существует, используя touch()

Есть еще один способ создать файл, если он не существует, используя метод touch() модуля pathlib  . Метод path.touch() создает файл по указанному пути.

from pathlib import Path

fle = Path('data.py')
fle.touch(exist_ok=True)
f = open(fle)

Если файл уже существует, то он ничего не сделает. В противном случае будет создан новый файл.

Как проверить значение вашей переменной PHP, если она не пуста

В этом уроке мы узнаем, как проверить значение вашей переменной PHP, если оно не пустое.

Чтобы проверить, не пуста ли ваша PHP-переменная, вы можете инвертировать empty()функцию с помощью оператора bang (!).

Функция PHP empty()используется для проверки того, является ли переменная пустой или NULL.

Переменная считается пустой, если она не была объявлена ​​или определена с помощью пустой строки:

// 👇 this is an empty string
$name = ""; 

Вот несколько примеров если не пустая проверка с использованием PHP:

<?php
$name = "Nathan";

// 👇 if name is not empty, echo some text
if (!empty($name)) {
    echo "NAME is not empty";
}

// 👇 if age is not empty, echo some text
if (!empty($age)) {
    echo "AGE is not empty";
}

Чтобы проверить, не пуста ли переменная PHP, вы можете вызвать отрицательную пустую функцию или !empty()в своем ifоператоре.

Ссылка: https://sebhastian.com/php-variable-if-not-empty-check/

#php

Как GPU-вычисления буквально спасли меня на работе. Пример на Python

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

В следующих разделах я детально опишу эту задачу. Также мы обсудим, как и когда использовать GPU для решения любых подобных задач. Итак, читаем внимательно – поверьте, вы не пожалеете. Сначала мы вникнем в детали задачи, затем освоимся с GPU и, наконец, воспользуемся GPU для решения этой задачи. Я буду пользоваться библиотекой Python Numba  и графическим процессором Nvidia Volta V100 16GB GPU .

1. Подробное описание задачи

В сфере розничной торговли часто приходится искать похожие или наиболее близкие объекты. Мне дали список позиций, каждая из которых была представлена k латентными атрибутами. Итак, мне было поручено найти топ-3 наиболее схожих позиций к каждой из позиций списка. Метрикой схожести в данной задаче было выбрано косинусное сходство. Вот как выглядели мои данные.

Список позиций данных с 64-латентными признаками

Сложность задачи

Мне дали список, в котором было около 10⁵ позиций. Поиск 3 наиболее схожих позиций для каждой из них потребовал бы проверить косинусное сходство с каждым без исключения элементов в списке. Получалось бы n * k операций, где n – количество позиций, а k – атрибуты на каждую позицию. Потребовалось бы получить скалярное произведение данной позиции с каждой из остальных позиций в списке.

#python #gpu-вычисления #спасли