All streams
Search
Write a publication
Pull to refresh
4
0.3

.NET Software Engineer

Send message

Про аудирование, или Из чего состоит знание иностранного языка

Reading time10 min
Views28K

Пишу на материале английского, потому что мне так удобнее, а людям — понятнее.

В изучении языка есть стандартные этапы отчаяния:
- «Мне поможет только погружение в языковую среду»;
- «Что-то идёт не так, нужен какой-то особый подход» [после малорезультативного «погружения»].

На самом деле это один и тот же этап: в какой-то момент застрявшая в голове рекламная демагогия неизбежно начинает конфликтовать с реальностью.

9 из 10 жалуются: я плохо воспринимаю речь на слух… что делать… У рекламщиков ответ уже готов: «Улучшить восприятие на слух? — Приходите! Поможем!» Заканчивается всё очередным разочарованием и ещё более глубокой убеждённостью в «уникальности» своего случая. В общем, давайте разберёмся, из чего состоит аудирование.

Во-первых, не надо слишком буквально понимать знакомых, которые, якобы, хорошо разбирают речь носителей на слух. Если ты не рос в Англии, у тебя ВСЕГДА будут проблемы с восприятием речи британца. Помните, как вы хорошо понимали носителя, пока он говорит с вами, но мгновенно переставали его понимать, когда он начинал говорить с другим носителем. Как так?

Реальные живые носители произносят не совсем те слова, которые мы читаем в субтитрах. Ни в одном словаре нет слова forya (ударение на первый слог), хотя оно и распространённое (в субтитрах пишут for you). Не менее распространено слово whaddaya (в субтитрах будет what do you). То же самое в скоростной русской речи: вместо «он говорит» в реальной жизни мы обычно используем слово «онгрьт» с невнятными «н» и «т». Очсомневаюсь, что оно есть в словаре. Носитель расшифровывает «онгрьт» через 3 канала одновременно:

Читать далее

Используйте простейшие рабочие решения

Level of difficultyEasy
Reading time7 min
Views7.1K

Занимаясь проектированием систем ПО, идите самым простым путём из возможных.

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

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

Читать далее

Внедрение API Gateway: проблемы, решения, практические рекомендации

Level of difficultyMedium
Reading time10 min
Views8.2K

В мире микросервисов десятки, а то и сотни сервисов живут своей жизнью. Каждый со своим адресом, своими правилами, своей аутентификацией. Для внешнего клиента это выглядит как город без улиц и указателей. API Gateway — это попытка навести порядок. Он становится единым фасадом, центральным КПП для всего вашего бэкенда.

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

Читать далее

Музыка в кейгенах

Level of difficultyEasy
Reading time14 min
Views14K

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

Но откуда она взялась, сама эта музыка? Почему она именно такая и звучит именно так? Как вообще возникла традиция её использовать? Уверен, кто-то где-то уже рассказывал, ибо это база, но повторение — мать учения, а также бальзам для ностальгии. Обмажемся же им поскорее!

Читать далее

Расстаемся с any в TypeScript

Level of difficultyEasy
Reading time12 min
Views8.3K

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

Использование any небезопасно, поскольку таким образом вы отключаете многие проверки во время компиляции вашего кода в JavaScript, что по итогу ограничивает способность TypeScript помогать вам, отказываясь тем самым от преимуществ строгой типизации.

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

Читать далее

Оценка сроков выполнения задач: покоряем закон Хофштадтера

Level of difficultyMedium
Reading time13 min
Views31K

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

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

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

Читать далее

7 SQL-запросов, которые решают 90% всех задач на работе

Level of difficultyEasy
Reading time4 min
Views50K

Каждый день одно и то же. Открываешь клиент базы данных, чтобы что-то проверить, посчитать или найти. И снова пишешь почти тот же SELECT, что и вчера, с тем же WHERE и JOIN. Знакомо?

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

В этой статье я собрал 7 таких запросов-«рабочих лошадок». Это не какой-то там справочник, а готовая шпаргалка для реальных задач.

Читать далее

Промптинг и суеверия. Что (не) надо добавлять к запросу в ChatGPT

Level of difficultyEasy
Reading time28 min
Views55K

Американцы обожают играть на деньги и смотреть красочное шоу. Это самое примитивное и оттого ошибочное объяснение популярности программы The Price Is Right. Если вы никогда не видели эту передачу дневного американского телевидения, представьте себе многолетнюю светскую церемонию потребления, где зрителей зовут на сцену и награждают за умение ориентироваться в ценниках. Зритель из зала слышит заветную фразу «Come on down!», выбегает к подиуму и соревнуется в угадывании стоимости бытовых товаров.

Впервые формат появился в 50-х годах прошлого века, а в 1972 году The Price Is Right подобновили и начали транслировать днём по будням на канале CBS. Но идёт передача не в прайм-тайм, а в 10:00 или 11:00 утра. Несмотря на её странное время показа, знакома она всем американцам. Смотрят её не только пенсионеры и домохозяйки, её хотя бы раз видели затемпературившие дети, которые вместо школы остались дома.

Реальный секрет долгожительства программы — смешение доброжелательности ведущих, простоты правил с бытовой темой и разнообразные мини-игры. Одна из таких — Plinko, которая выглядит как детская забава. Участник получает плоские жетоны и, стоя наверху большой вертикальной доски со штырьками, сбрасывает их в прорези сверху. Жетон, ударяясь о штырьки, хаотически меняет траекторию и внизу попадает в одну из девяти ячеек с разными суммами.

Читать далее

Мобильная разработка за неделю #602 (8 — 14 сентября)

Level of difficultyEasy
Reading time5 min
Views2.3K

В этом выпуске построение современного BLE-сервиса и повышение производительности за счет лучшего сокращения ресурсов, Swift на Android и эволюция презентационных паттернов, MAX без оболочки, эмоциональное решение проблем, трудные уроки инди-хакинга и многое другое. Заходите!

Читать далее

MAX без оболочки: Что мы нашли в его APK

Level of difficultyMedium
Reading time5 min
Views413K

Недавно появившейся в мессенджер «Макс», наделал много шума. Он является достаточно спорным приложением и мне пришла в голову мысль изучить приложение и посмотреть, а настолько ли опасно оно, как о нем говорят.

Как можно познакомиться с приложением ближе, чем через его код? Тем более, что для исследования android-приложений нам не понадобятся сложные инструменты на подобии IDA или Ghidra, как это бывает с анализом исполняемых файлов.

Для анализа я использовал стандартный, для подобной задачи, набор инструментов: JADX, APKtool, VSCode ну и конечно же Android Studio, куда без него в анализе APK файлов.

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

Читать далее

Почему в Linux «Всё есть файл»? Или почему гениальные абстракции UNIX настолько гениальны

Level of difficultyMedium
Reading time21 min
Views95K

– Ваш терминал и ваше интернет соединение – это файл!
– Да что вы такое говорите?
– Скажите ещё, что и мышка в моей руке или жёсткий диск – это тоже файл.
– Абсолютно верно!

На самом деле, с точки зрения Linux – это так.

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

Читать далее

Как я ездил в Узбекистан чтобы создать юрлицо и почему IT Park в Узбекистане — это находка для айтишников?

Reading time6 min
Views8.1K

Всем привет! Меня зовут Александр Антипин и я руковожу небольшой студией разработки. Мы разрабатываем мобильные игры и IT-решения для компаний. В этой статье я расскажу про IT Park в Узбекистане — место, которое сейчас активно обсуждают в айтишных чатах. Если вы думаете, что это просто хайп, то я попробую вас переубедить. За пару дней в Ташкенте я успел зарегистрировать компанию, открыть счёт, получить карты и даже съездить в Самарканд, чтобы проникнуться духом города с 2500-летней историей. Но обо всём по порядку: зачем вообще туда ехать, почему именно Узбекистан, какие бонусы даёт IT Park и как там живётся?

Читать далее

SW: stale-while-revalidate на практике + гист

Level of difficultyEasy
Reading time4 min
Views504

Идея простая:

В статье разбирается стратегия кэширования stale-while-revalidate в Service Worker — подход, позволяющий мгновенно отдавать пользователю закэшированный контент и параллельно обновлять его в фоне. Рассмотрены сценарии применения (статика, API), потенциальные риски (устаревший HTML, квоты хранилища), а также приведён готовый рабочий пример с регистрацией, SW-кодом, офлайн-страницей и настройкой серверных заголовков. Материал сопровождается ссылкой на архив с исходниками и практическими советами по отладке, оптимизации и интеграции SWR в реальные проекты.

Читать далее

Выжимаем максимум из ChatGPT-5

Level of difficultyEasy
Reading time3 min
Views33K

Достаточно нервный запуск GPT-5 подошел к концу, OpenAI определилась с лимитами использования и настройками, поэтому самое время поделиться некоторыми нюансами работы с новинкой. В первую очередь я буду ориентироваться на пользователей ChatGPT Plus: 20-долларовая подписка наиболее массовая, кроме того, именно на ней возникают сложности с выбором модели.

Читать далее

anton@gmail.com, anton+habr@gmail.com, an.ton@gmail.com — почему всё это один и тот же имейл

Level of difficultyEasy
Reading time5 min
Views12K

Однажды у нас в CRM появились 3 загадочных клиента. С каждым вёл переговоры отдельный продавец. А потом выяснилось, что эти клиенты — один и тот же человек с одним и тем же имейлом.

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

Спойлер: это не связано с европейским регламентом по защите данных (GDPR) и правом клиента быть забытым (потребовать от компании удаления всей информации о себе).

Читать далее

Топ-5 бесплатных нейросетей для транскрибации: лучшие сервисы для перевода аудио в текст

Level of difficultyEasy
Reading time7 min
Views35K

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

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

Заинтересовали? Тогда давайте расшифровывать, сравнивать и делиться впечатлениями вместе.

Приятного прочтения!

Читать далее

Когда VPN душат, в бой идёт SOCKS5: что нового в ProxiFyre 2.0

Level of difficultyMedium
Reading time4 min
Views87K

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

Моя собственная схема — домашний сервер за WireGuard-эндпоинтом — уже не раз демонстрировала странности: внезапные падения скорости, потеря UDP-пакетов (особенно в мобильных сетях). Всё вроде работает, но как-то не так: туннель подключается, но затем «виснет» или показывает подозрительно низкую пропускную способность. В таких случаях надёжным обходным путём становится туннелирование TCP-трафика через SOCKS5-прокси, например, поверх SSH.

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

Читать далее

Про скорость обмена веществ у людей, он же метаболизм

Level of difficultyEasy
Reading time6 min
Views2.8K

Великий, ужасный, все его любят вспоминать, особенно если на весах упорно показывается ожирение - у меня медленный метаболизм, я ем так же как все, но вот толстею из ничего. Ответ прост - жир никуда не девается, даже отложенные 1 грамм в сутки будут храниться всю жизнь, если их не сжечь. В конце года 1 грамм в сутки - превращаются в 365 граммов жира, если не следить за увеличением массы, то будет ожирение. Да, 10 ккал переедаемые в сутки, это 450 граммов жира в год. А переедают всегда от 100 ккал и больше. Скажем одно пирожное в день, лишнее. Получается 400 ккал в сутки - 146 000 ккал в год - 16 кг жира на теле. Злая математика. Вот только обмен веществ базовый вообще не при делах, это виноваты личные пищевые привычки. Большая часть толстых - толстеет упорно, незаметно. Кроме тех, кто постоянно взвешивается и вовремя калории режет.

Гормоны не при делах, гормоны сами делаются из энергии (особенно из жиров ), они не умеют туда сюда ворочать метаболизмом. Не умеют гормоны делать из 100 калорий - 101, это физически никто во вселенной не умеет, даже чёрная дыра. Гормоны конечно могут вызывать голод, притуплять или наоборот обострять. Ещё от строения тела может зависеть желудок и чувство насыщения в нём. От гормонов вы можете быть активнее-пассивнее и так далее. Но даже если вы пассивно приползёте, взвеситесь раз в неделю и при увеличении массы, пассивно срежете раз за разом по 100 калорий, вы не будете толстеть, а похудеете.

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

Читать далее

Советы новичкам в карьере программиста

Level of difficultyEasy
Reading time7 min
Views18K

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

Читать

Нейроуловки для изучения английского: как запоминать слова без зубрежки

Level of difficultyEasy
Reading time9 min
Views22K

Привет! Меня зовут Маша Фадеева, я методист и преподаватель курсов английского в Практикуме. Знакомо это чувство, когда учишь-учишь список слов, а через неделю вспоминаешь от силы парочку? Это не лень и не плохая память — просто наш мозг не особо любит зубрёжку. Зато он отлично запоминает всё, что кажется ему важным, эмоциональным или необычным.

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

Читать далее
1
23 ...

Information

Rating
2,351-st
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Backend Developer
C#
SQL
.NET
WPF
Database