Pull to refresh
@Bromkaread⁠-⁠only

User

Send message

Исчерпывающее руководство по настройке Jenkins под iOS в 2023 году

Level of difficultyMedium
Reading time10 min
Views3.1K

На дворе 2023 год, и вот вы и ваша команда наконец решили отказаться от CI-пайплайна, которым вы пользовались, в пользу автономного Jenkins CI. Замечательно! В этой статье мы не будем разглагольствовать о плюсах и минусах использования одних CI-систем в сравнении с другими, а сразу сосредоточимся на том, как настроить полностью функциональную среду Jenkins CI для iOS.

Читать далее
Total votes 9: ↑8 and ↓1+8
Comments0

Как получить визу таланта О-1 в США: требования, критерии, личный опыт

Level of difficultyMedium
Reading time11 min
Views17K

На сегодняшний день виза О-1 — это самый простой и надежный способ переехать в США для профессионалов. Получить ее намного проще, чем EB-1 или H1B, при этом нет привязки к работодателю и количество выдаваемых виз не квотируется государством, а процент одобрения сейчас на уровне 96% от всех поданных заявлений.

Читать далее
Total votes 24: ↑9 and ↓15-2
Comments36

Удивительное изобретение русского инженера, которое не спасло его от нищеты. Прямило Липкина

Level of difficultyEasy
Reading time3 min
Views40K

В 1868 году русский математик Липкин опубликовал первое геометрическое доказательство возможности идеального преобразования прямолинейного движения в движение по окружности. О том, как это было сделано, читайте в материале.

Читать далее
Total votes 75: ↑59 and ↓16+62
Comments120

Flutter: Почему использует язык Dart

Reading time16 min
Views26K

Почему Flutter использует язык Dart? Основные преимущества языка Dart.

Сложность: Новичок.

Многие лингвисты считают, что естественный язык, на котором говорит человек, влияет на то, как он думает. Применяется ли та же концепция к компьютерным языкам? Программисты, работающие с разными языками программирования, часто предлагают совершенно разные решения проблем. В качестве более радикального примера, ученые-компьютерщики убрали оператор goto, чтобы поощрять более структурированные программы (не совсем тоже самое, что тоталитарные лидеры в романе "1984", удаляющие еретические слова из естественного языка, чтобы устранить мыслепреступления, но вы поняли идею).

Какое это имеет отношение к Flutter и Dart? На самом деле совсем немного. Ранняя команда Flutter оценила более дюжины языков и выбрала Dart, потому что он соответствовал тому, как они создавали пользовательские интерфейсы.

Dart — главная причина, по которой разработчики любят Flutter.

Читать далее
Total votes 8: ↑5 and ↓3+3
Comments5

Советы по проектированию интерфейса. Часть 1 — Гештальт

Reading time4 min
Views5.8K

Если ты часто задаешь себе вопросы вроде: Правильно ли я собрал главную страницу? Каким способом лучше выделить кнопку СТА чтобы она не потерялась во множестве объектов? Как направить пользователя в нужное место и управлять его взглядом? То попробуем разобраться вместе : )

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

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments5

Кто нанимает в русскоязычные команды вне РФ и Беларуси? (апрель 2022)

Reading time3 min
Views55K

После 24-го февраля появились десятки каналов в Телеграме, постов на VC, Хабре, страничек в Notion, которые собирают компании с удаленкой и релокацией. Но я не нашел ресурсов или каналов, которые концентрируются на одном аспекте: русском языке общения в командах.

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

Для этих людей я собрал в этом посте какие-то компании с русскоязычными командами разработки, которые релоцируют из РФ и Беларуси сейчас (то есть это не компании в Прибалтике, Польше и Чехии), либо позволяют удаленку из-за границ РФ с зарплатой в долларах или евро.

Пост не претендует на полноту или оригинальность. Хочется сделать русско-эмигрантский аналог постов Who is hiring? на Hacker News, где участники сообщества рекламируют вакансии в своих фирмах в комментариях.

На мой взгляд, это важный аспект, потому для ИТ-специалиста с хорошим английским, у которого главная цель - уехать из РФ или Беларуси, найти работу - вообще не проблема даже без всяких чатов и каналов. Английский - единственный профессиональных язык общения в огромном количестве компаний в Англии, Германии, Швеции, ОАЭ, Юго-Восточной Азии, куда довольно легко попасть (потому что сейчас везде острая нехватка специалистов), а релоцируют быстро и без особых проблем.

Читать далее
Total votes 26: ↑21 and ↓5+23
Comments18

Чек-лист по SEO оптимизации для фронтенд разработчика

Reading time3 min
Views8.1K

Привет всем!

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

Читать далее
Total votes 4: ↑0 and ↓4-4
Comments1

Лучшие подходы и решения для уменьшения кода на React. Часть 2

Reading time4 min
Views5.2K

Привет. Это перевод второй статьи из серии “Лучшие подходы и решения для уменьшения кода на React” автора Rahul Sharma.

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

Всего в данной серии 3 статьи, и найти их все вы можете по ссылкам ниже:

Часть 1
Часть 2
Часть 3

Читать далее
Total votes 5: ↑3 and ↓2+2
Comments4

Гайд по архитектуре приложений для Android. Часть 5: слой данных

Reading time22 min
Views15K

Перевод обновлённого гайда Android по архитектуре приложений. Это — заключительная часть: рассказываем про слой данных.

Читать далее
Total votes 5: ↑4 and ↓1+5
Comments0

Асинхронное программирование в однопоточных средах JavaScript

Reading time52 min
Views31K

Асинхронное программирование в однопоточных средах JavaScript


Моя прошлая обучающая статья Введение в Redux & React-redux набрала больше 100к просмотров. Что же это не может не радовать меня. И поэтому я решил порадовать и вас написав очередную статью по JavaScript. Хотя если честно я не хотел больше писать статьи поскольку это довольно сложно, занимает уйму времени и сил, а еще мне не платят за всю эту научную работу. Так что следующую статью я напишу только если эта наберет 150к просмотров.

Оглавление


1. Введение в асинхронное программирование
2. Цикл событий
3. Отложенное выполнение кода с помощью setTimeout setImmediate и process.nextTick
....3.1 setTimeout
....3.2 setImmediate
....3.3 process.nextTick
4. Устаревшие паттерны асинхронного программирования
5. Promise
....5.1 Основы Promise
....5.2 Методы экземпляра Promise
........5.2.1 Promise.prototype.then
........5.2.2 Promise.prototype.catch
........5.2.3 Promise.prototype.finally
....5.3 Композиция и цепочки промисов
........5.3.1 Графы промисов
........5.3.2 Параллельная композиция промисов с Promise.all и Promise.race
........5.3.3 Серийная композиция промисов
6. Асинхронные функции
....6.1 Остановка и возобновление выполнения
....6.2 Стратегии для асинхронных функций
........6.2.1 Реализация Sleep
........6.2.2 Максимизация распараллеливания
........6.2.3 Серийное выполнение промисов
........6.2.4 Трассировка стека и управление памятью

1. Введение в асинхронное программирование

Читать дальше →
Total votes 17: ↑16 and ↓1+18
Comments10

Почему я больше не пытаюсь «войти в Ай-Ти»

Reading time5 min
Views56K

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

Я уже предпринимал некоторое количество попыток подобного вхождения в недалёком прошлом. Результат был примерно одинаков: либо мне сразу предлагали выполнить тестовое задание, и уже по его итогам приглашали на собеседование, либо сразу приглашали – и по окончании беседы обещали выслать тестовое задание, но так и не высылали. Ну, или (в редких случаях) честно и сразу забраковывали мою кандидатуру прямо на собеседовании, либо (что случается намного чаще) отбраковывали ещё на стадии рассмотрения резюме (либо последующего за ним тестового задания).

Вот, собственно, и всё. Лишь один раз я удостоился высокой чести быть приглашённым на испытательный срок на должность разработчика, да и то в далёком уже 2013 году. Посидев там с недельку, я лично для себя понял, что не готов сейчас к постижению премудростей их имеющегося кода, о чём честно и заявил. В качестве последней надежды для себя я предложил вариант, при котором я сперва посижу дома один и попытаюсь во всём разобраться – однако получил отказ в подобной привилегии. А жаль – ведь мало кому, наверное, хочется совершать каждодневный поход в офис лишь для того, чтобы казаться самому себе глупым на фоне уже сложившегося коллектива разработчиков. Причём и отвлекать их от повседневной работы на свои дурацкие вопросы тоже было как-то неловко (всё по той же причине).

Читать далее
Total votes 104: ↑31 and ↓73-37
Comments282

Как найти удаленную работу в США с прицелом на релокацию: описания виз, списки ~1000 компаний, полезные инструменты

Reading time5 min
Views33K

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

В этой статье я собрал материалы для тех, кто задумывается о поиске сначала удаленной работы в США, а затем и о переезде. В тексте есть описания виз, списки компаний, нанимающих на remote, инструменты для подготовки к собеседованиям. Надеюсь, будет полезно!

Читать далее
Total votes 32: ↑18 and ↓14+14
Comments11

Разработка приложения на Flutter с нуля до релиза: Идея + Базовая инфраструктура

Reading time11 min
Views33K

Привет! В данном цикле статей я хотел бы показать, как может происходить создание приложений с использованием Flutter. У меня есть несколько Open Source решений, которые будут использованы в данном приложении. Что из этого получится - увидим в скором будущем.

Если долго мучаться...
Total votes 25: ↑25 and ↓0+25
Comments5

Обзор аутентификации на основе токенов

Reading time7 min
Views35K
В прошлом для аутентификации в большинстве приложений и веб-сервисов пользователи должны были запоминать и при каждом логине вводить свои пароли. Кроме неудобства, это создавало ещё и угрозы безопасности, поскольку пользователи часто выбирали слабые пароли и использовали их в нескольких сервисах. Аутентификация на основе токенов устраняет подобные проблемы. Давайте разберёмся, как она реализуется.


Токены могут быть или программными компонентами (например, на основе стандарта JSON Web Tokens), или аппаратными устройствами. Они позволяют пользователям с лёгкостью выполнять вход и оставаться в системе без компрометации защиты. Токены даже могут повышать безопасность, стимулируя к использованию сильных паролей и действуя наряду с паролями для реализации многофакторной аутентификации (Multi-Factor Authentication, MFA).
Читать дальше →
Total votes 16: ↑12 and ↓4+9
Comments5

Дженерики в TypeScript

Reading time10 min
Views139K

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

Эта статья для тех, кто не использует generic-типы в TypeScript: не знают о них, боятся использовать или используют вместо реальных типов — any.

Перестать везде использовать тип "any"
Total votes 49: ↑48 and ↓1+52
Comments16

Совместное использование типов TypeScript между Backend и Frontend

Reading time6 min
Views9.2K

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

Если модель данных изменяется на серверной части - убедитесь, что клиентский код подхватит эти изменения. Иначе клиентский код сильно пострадает при получении несовместимых данных, либо из-за игнорирования дополнений. А это не то, чего вы хотите.

Давайте рассмотрим стратегии синхронизации клиентского и серверного кода.

Читать далее
Total votes 9: ↑8 and ↓1+10
Comments8

Как называть функции во фронтенде

Reading time2 min
Views6.8K

Тут нет правильного варианта ответа, это вкусовщина. Единственная цель этой статьи – узнать ваше мнение по этому вопросу и окончательно сформировать своё, потому что сейчас я в сомнениях.

Не знаю, какие там проблемы в других сферах программирования, мой вопрос касается фронтенда.

Независимо от того, каким фреймворком вы пользуетесь, и пользуетесь ли вообще, у нас есть HTML-шаблон и JavaScript-код. Код частично залезает в шаблон, и тут и появляется наша проблема. От чего отталкиваться при названии функций?

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments35

Приёмы ускорения кода на JS и других языках: подборка от разработчика поиска Яндекса

Reading time17 min
Views68K
Привет! Меня зовут Виктор Хомяков, в Яндексе я работаю над скоростью страниц поиска. Однажды мне в голову пришла идея обобщить свой опыт и систематизировать приёмы ускорения работы кода на JavaScript. То, что получилось в итоге, собрано в этом материале.

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


Читать дальше →
Total votes 80: ↑80 and ↓0+80
Comments51

Flutter + Socket.io — Обмен информацией в режиме реального времени

Reading time7 min
Views16K

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

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments4

Not so big data: как работать с небольшими, но очень ценными данными

Reading time8 min
Views4.3K

Что делать с данными в 2021 году, если вы финансовая компания с традиционной инфраструктурой и не смотрели дальше BI? Как и зачем договариваться разным бизнесам в B2B и что можно найти среди маленьких данных?

Мы расскажем про опыт НРД — центрального депозитария РФ. НРД хранит активы на сумму более 60 трлн руб. и аккумулирует практически весь рынок ценных бумаг в России. Основной бизнес сфокусирован на надежности: хранение, проведение расчетов, отчетность.

Если вы тоже задаетесь похожими вопросами или вам знакомы слова финансовый бэк-офис, добро пожаловать под кат.

Читать далее
Total votes 7: ↑5 and ↓2+4
Comments1
1

Information

Rating
Does not participate
Registered
Activity