Pull to refresh
3
0.1
Send message

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

Reading time5 min
Views59K
Если поразмышлять о том, какие качества характерны для того, кого можно назвать «хорошим программистом», то на ум тут же придут некоторые привычки. Такие привычки, которые, с чем согласится большинство разработчиков, иметь весьма полезно. Но, на самом деле, большинство таких разработчиков сами подобных привычек не имеют.

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



Предлагаю поговорить о шести привычках, которые стоит постараться сформировать у себя тому, кто хочет выделяться из серой толпы.
Читать дальше →

6 концепций, которые нужно освоить архитектору Angular-приложений

Reading time8 min
Views21K
Angular — один из самых масштабных из существующих веб-фреймворков. Он включает в себя множество встроенных возможностей. А это значит, что для полноценного освоения Angular нужно разобраться с изрядным количеством концепций.



Автор материала, перевод которого мы сегодня публикуем, полагает, что существует шесть концепций, глубокое знание которых нужно Angular-разработчикам для того чтобы создавать хорошо спроектированные приложения. При этом он говорит не об изучении исходного кода реализации этих концепций, хотя и ему самому иногда приходится заглядывать в код. Речь идёт о понимании соответствующих механизмов и об умении применять их на практике.
Читать дальше →

Защита бренда: ЕС и масштабирование в 2020-м

Reading time5 min
Views1.5K
Первое, с чем нужно изначально разобраться —
зачем вообще нужна торговая марка и когда ее стоит регистрировать?
Торговая марка, кроме того, что служит средством индивидуализации субъектов коммерческой деятельности на рынке, также поможет защитить ваши права на доменное имя в случае возникновения споров или претензий, является объектов интеллектуальной собственности, который можно внести в уставной капитал или же передать в пользование по лицензионному соглашению и использовать роялти в целях налогового планирования, или же передать право использования торговой марки по франшизе как один из составляющих ее объектов.

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

Во-вторых, необходимо понять,
какая торговая марка лучше будет защищать ваши интересы – словесная или изобразительная (логотип)
Клиенты часто обращаются к нам с данным вопросом и поэтому мы решили собрать в одном месте все „за” и „против”.
Читать дальше →

Цветовая схема без помощи дизайнера

Reading time5 min
Views10K

Наверняка многие из вас бывали в ситуации, когда нужно быстро подобрать цвета для оформления, а дизайнер занят более важными задачами, в плохом настроении или в отпуске. Задача несложная, но иногда ответа приходится ждать по несколько дней.
Особенно, если нужно подобрать цвета для тёмной схемы

О хранении JWT токенов в браузерах

Reading time3 min
Views68K

Открытый стандарт JWT официально появился в 2015 (rfc7519) обещая интересные особенности и широкие перспективы. Правильное хранение Access токена является жизненно важным вопросов при построении системы авторизации и аутентификации в современном Web, где становятся все популярнее сайты, построенные по технологии SPA.

Неправильное хранение токенов ведет к их краже и переиспользованию злоумышленниками.
Читать дальше →

Заворачиваем в Promise модальное окно подтверждения действия

Reading time3 min
Views4.9K
Когда пользователь совершает какие-то критические и/или необратимые действия, перед тем, как отправить запрос на сервер, нужно запросить у пользователя подтверждение.

Как правило, выводится модал «Вы уверены, что хотите сделать то то и то то» и внизу две кнопки: Да и Нет. Если пользователь нажал «да», то отправляем запрос на сервер и закрываем модал. Если «нет», просто закрываем модал.

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

Перейдем от лирики к делу. Для отображения модала будем использовать Bootstrap.

Собственно мой вариант такого компонента:
Читать дальше →

Переносим Angular проект на ESLint, с Prettier, Husky и lint-staged

Reading time8 min
Views34K
Привет, Хабр! Меня зовут Богдан, я работаю в ПИК Digital Front-End тимлидом. Большую часть проектов мы разрабатываем на Angular и недавно я решил пересмотреть наши стайл гайды, а также добавить новые инструменты для более удобной работы.

В качестве линтера я решил использовать ESLint, так как в скором времени на него планируют перевести Angular. И в этой статье я хочу поделиться инструкцией по переходу с TSLint на ESLint, а заодно рассказать, как запускать Prettier из ESLint, как добавить правила стайл гайда AirBnB, и как сделать линтинг удобным и незаметным с помощью настройки VS Code и Git хуков.
Читать дальше →

[Geektimes-style] Наше технобудущее: предсказания от экспертов

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

Современные архитектуры фронт-энда (часть 2)

Reading time8 min
Views15K
image

Вторая часть статьи "Contemporary Front-end Architectures", в которой рассмотрены архитектуры фронт-энда с точки зрения распределения потоков данных. Начало здесь
Читать дальше →

Стоимость денег, типы процентов, дисконтирование и форвардные ставки. Ликбез для гика, ч.1

Reading time9 min
Views66K
Представьте себе ситуацию – вы покупаете машину, и вам предлагают два варианта: заплатить с рассрочкой в несколько месяцев или погасить всю сумму сразу и с небольшой скидкой. Какой окажется выгоднее?

Или, например, вы хотите разместить вклад на год. Можно положить на весь срок под высокий процент или на отдельные короткие сроки под более низкий. Что лучше и насколько?



Все ответы под катом. И добро пожаловать в мир, где время — всегда деньги. До этого вы знали об этом, но теперь — в деталях и с примерами.
Читать дальше →

Что внутри у .wasm-файла? Знакомство с wasm-decompile

Reading time7 min
Views11K
В нашем распоряжении имеется множество компиляторов и других инструментов, позволяющих создавать .wasm-файлы и работать с ними. Количество этих инструментов постоянно растёт. Иногда нужно заглянуть в .wasm-файл и разобраться с тем, что у него внутри. Может быть, вы — разработчик одного из Wasm-инструментов, или, возможно, вы — программист, который пишет код, рассчитанный на преобразование в Wasm, и интересующийся тем, как выглядит то, во что превратится его код. Такой интерес может быть вызван, например, соображениями производительности.



Проблема заключается в том, что в .wasm-файлах содержится довольно-таки низкоуровневый код, который сильно похож на настоящий ассемблерный код. В частности, в отличие, например, от JVM, все структуры данных компилируются в наборы операций load/store, а не в нечто такое, в чём имеются понятные имена классов и полей. Компиляторы, вроде LLVM, могут так изменить входной код, что то, что у них получается, и близко на него не похоже. 

Как быть тому, кто хочет, взяв .wasm-файл, узнать о том, что в нём происходит?
Читать дальше →

Angular: делаем код читаемым для бэкендера. Бонус: подмена API заглушками и кэширование запросов

Reading time4 min
Views3.8K
Очень часто на проекте темпы разработки фронтенда опережают темпы разработки бэкенда. При такой ситуации возникает необходимость двух вещей:

  1. возможность запускать фронт без бэкэнда, либо без отдельных эндпоинтов;
  2. описывать бэкендеру, какие нужны эндпоинты, формат запроса, ответа, итд.

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

Создаем в корне проекта файл конфигурации api.config.json:

{
  "apiUrl": "https://api.example.com",
  "useFakeApiByDefault": false,
  "fakeEndPoints": ["Sample"]
}

Здесь прописываем базовый урл для API, если параметр useFakeApiByDefault = true, то наше приложение будет использовать только заглушки вместо всех запросов. Если false — то заглушки будут использоваться только для запросов из массива fakeEndPoints.

Чтобы можно было импортировать JSON в код, добавляем в секцию CompilerOptions файла tsconfig.json две строчки:

    "resolveJsonModule": true,
    "esModuleInterop": true,
Читать дальше →

Как сделать хороший короткий доклад

Reading time9 min
Views20K
Конец мая и начало июня — традиционное время защиты дипломов в вузах. Помимо самой выпускной работы, студентам нужно подготовить короткое (на 7–10 минут) выступление перед экзаменационной комиссией, а также сделать презентацию. И зачастую для студента подготовить нормальный доклад/презентацию — чуть ли не более сложная вещь, чем написать сам диплом. При этом часто оказывается, что чем содержательнее и интереснее работа, тем сложнее бывает сделать по ней качественное выступление/презентацию. В этой статье мы предлагаем наш взгляд на то, как решать эту проблему.


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

Оценка. Рассчитать и уложиться

Reading time11 min
Views12K
Предсказуемость сроков выполнения играет важную роль в разработке IT-проектов. И в связи с высокой сложностью процессов оценка задач является непростой проблемой, у которой нет явного алгоритма или простого плана. Усугубляется это тем, что в процессе общения об оценках бизнес, управление проектами и разработка могут говорить на разных языках, не понимать и не хотеть понимать проблемы и ценности друг друга. В результате получаются «отписки», на которые тратятся усилия, а необходимого эффекта они не приносят. 

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

Как создать сайт? Структура и контент

Reading time19 min
Views62K
Итак, вы решили быть последовательными и начать разработку сайта с самого важного и фундаментального этапа — со структуры (visual sitemap) и контента. Ок, значит, вы попали в правильное место, где мы собрали для вас инструкции и эффективные советы как это лучше всего сделать и с чего начать. Да пребудет с вами сила, так как такой фундаментальный гид за один присед вряд ли удастся осилить.

Пример структуры веб-сайта Octopus.do

Пример структуры веб-сайта (Блоки кликабельны)

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

Подборка VR-шлемов для промышленных задач

Reading time7 min
Views7.2K
Чаще всего люди покупают себе шлем виртуальной реальности (VR) для того, чтобы использовать его для развлечения. Ведь платформы Steam, Oculus Store и Windows всем знакомы по огромному количеству игр! Однако в настоящее время растет спрос на индустриальный VR, возможности которого позволяют специалистам из разных сфер коллективно работать с 3D-моделями нужных объектов в виртуальной реальности. В мире и в России при крупных корпорациях появляются целые департаменты по развитию и инновациям, чья задача — безболезненно внедрить в бизнес-процессы новые технологии типа искусственного интеллекта, облачных решений, и, конечно, виртуальной реальности. Например, за последние 2 года свои отделы по внедрению виртуальной реальности создали такие компании как Сбербанк, Ланит, Сибур и Газпром.
Читать дальше →

Nuxt as fullstack server: frontend + backend API Server (Часть 1)

Reading time6 min
Views28K
Nuxt as fullstack server: frontend + backend API Server


Разработчики Nuxt предлагают 3 метода доступа к API:

  1. Встроенный в Nuxt сервер Connect и использование serverMiddleware
  2. Интегрированные фреймворки (Express, Koa, Hapi и т.д.)
  3. Внешние API сервера

Я покажу на простом примере как организовать API сервер с использованием serverMiddleware на том же инстансе Nuxt, который у нас отвечает за frontend.
Читать дальше →

Строим личный кабинет для SaaS-сервиса по безопасности

Reading time6 min
Views4.4K
image

В эпоху бурного развития SaaS отсутствие личного кабинета для облачного сервиса уже считается просто неприличным. Но для сервисов защиты от ботов и других киберугроз есть еще одна важная причина: они не похожи на такие популярные сервисы, как облачные хранилища (типа Azure, AWS), аренда виртуальных серверов (DigitalOcean) или система контроля версий (GitHub, Gitlab) по той причине, что клиентам здесь часто трудно понять, за что именно они платят деньги. Только продвинутая статистика и наглядные графики могут четко ответить на этот вопрос. Поэтому у процесса создания личного кабинета в Variti были свои особенности.
Читать дальше →

5 бесплатных инструментов, повышающих продуктивность труда веб-разработчика

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


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

Не решать за дизайнера задачу дизайнера

Reading time26 min
Views20K
Привет, Хабр.

Последние 3 месяца около 40% моего рабочего времени занимает общение с дизайнерами. Спасибо, но жалеть не нужно. Шучу. Нужно. Дизайнеров.

Про то, что дизайн — это не про нарисовать, а про спроектировать, мне уже показали. А о том, почему это так, нашла доступное объяснение от Кости Горского, в прошлом артдира Яндекса. Видео доступно по ссылке.


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

Information

Rating
6,439-th
Registered
Activity