Как стать автором
Обновить

Технотекст

Рекомендации по ведению SQL-кода

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров22K
В этом материале разберем общие рекомендации по ведению SQL-кода на примере СУБД MS SQL (T-SQL). Однако, многие пункты можно также применить и к другим СУБД.
Читать дальше →
Всего голосов 35: ↑31 и ↓4+47
Комментарии382

Как я сделал проект для себя и получил приз от Telegram

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров20K

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

Читать далее
Всего голосов 33: ↑32 и ↓1+34
Комментарии15

Как департамент утилизации CPU превратился в департамент экономии железа, выдерживающий нагрузку в 1 млн RPS

Уровень сложностиПростой
Время на прочтение26 мин
Количество просмотров37K

Привет, меня зовут Мария, когда-то я работала на шахте, потом на заводе, а 3.5 года назад пришла в Ozon Tech. Сейчас я старший Golang-разработчик в команде product-facade. Это самый высоконагруженный сервис маркетплейса, но так было не всегда.

Хотите узнать, что скрывается под витриной маркетплейса? Что держит нагрузку в 1 миллион запросов в секунду? Толстые кэши или нечто большее? Про то, как устроено наше кэширование и как мы к этому пришли, — рассказываю в статье.

Читать далее
Всего голосов 128: ↑128 и ↓0+128
Комментарии96

Производительность базового поиска в Ozon как культурный феномен

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров24K

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

Читать далее
Всего голосов 68: ↑63 и ↓5+71
Комментарии87

Закупщик и Айтишник: понять и принять

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

Хочу рассказать о моей профессии закупщик в ИТ. Во-первых, это красиво (с). А ещё я уверена, что многие айтишники и инженеры как-то, да взаимодействуют с отделом закупок и даже знаю, каким технические специалисты видят процесс закупок («просто возьмите и купите по спецификации, что привязались-то, а?»). Но так не работает при высокостоимостных закупках, а в ИТ они, в основном, именно такие.

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

Читать далее
Всего голосов 6: ↑5 и ↓1+8
Комментарии6

Как жизнь сортирует нас пузырьком, или Почему в ИТ войдут не все

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров54K

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

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

Что я хочу сказать сегодня? Нет никакой гарантии, что все из вас, взявшиеся за изучение ИТ-профессии, в конце концов получат работу. Если ты остановил свой взгляд на этой статье в поисках решения своей проблемы, всё уже не замечательно. В статье расскажу, почему.

Читать далее
Всего голосов 75: ↑63 и ↓12+57
Комментарии207

Open-source блокнот Wolfram Language или как воссоздать минимальное ядро Mathematica на Javascript и не только

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров8.1K

На Хабре уже проскакивали упоминания о совместимых или систем-копиях Wolfram Mathematica, но реализованных на других языках, скажем, Mathics. В качестве расширения этой ниши я представляю молодую систему, которая не только воспроизводит многие ключевые функции блокнота Mathematica с нуля, но и расширяет функционал гораздо дальше, чем там, где очертил его границы Стивен Вольфрам, создав эту потрясающую систему более 30-ти лет назад.

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

Многопоточность (Multithreading) для практического программирования. То, о чем «забыть-нельзя-вспоминать» придется

Уровень сложностиСложный
Время на прочтение14 мин
Количество просмотров17K

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

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

Мне кажется нельзя считать что вы до конца понимаете концепцию многопоточности (Multithreading/ Concurrency) если вы не понимаете когда (для каких задач) ее можно и/или нужно использовать на однопроцессорной машине, 2-х процессорной, N‑процессорной машине и от чего это зависит.

Читать далее
Всего голосов 13: ↑7 и ↓6+4
Комментарии19

Kaspresso для самых маленьких

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров9.7K

Привет! Меня зовут Элчин, я занимаюсь автоматизацией мобильных приложений в hh.ru и расскажу вам о том, как написать первый тест на Android. В разработке автотестов мы используем Kotlin и нативный фреймворк Kaspresso, о котором я напишу подробней в этой статье.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии9

Требуется ли бизнесу маркировать собственные посты у себя в соцсетях?

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров71K

В данной публикации рассмотрим вопрос с комментариями официциальных ответов ФАС, который очень часто задают в связи с исполнением закона о маркировке рекламы. А именно, нужно ли компаниям маркировать собственные посты у себя в социальных сетях?

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

Typescript: лучшие практики

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров24K

Привет👋 В последние годы среди фронтенд разработчиков Typescript используется практически везде по умолчанию, начиная небольшими пет-проектами и заканчивая огромнейшими веб-приложениями. Однако, до сих пор на некоторых проектах можно встретить кучу any и Function. Давайте разберемся используете ли вы этот невероятно мощный инструмент правильно?

Читать далее
Всего голосов 22: ↑19 и ↓3+20
Комментарии27

Хитрый виджет: разбор тестового Flutter-задания. Детективная нуар-история

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров3K

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

«Введённое сегодня утром чрезвычайное положение из‑за аномальных метеоусловий остаётся в силе на территории всего штата. Метель свирепствует в городе третий день, и конца ей пока не предвидится» — тревожно вещал радиоприёмник. На облачное небо медленно взбирались наполненные тревогой сумерки.

Полиция прибыла на место происшествия в мотель «Burnout Meteo Inn» за час до меня. В 911 сообщили о подозрительном…

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии10

Почему я больше не буду работать наставником на IT-курсах

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров109K

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

Читать далее
Всего голосов 284: ↑270 и ↓14+311
Комментарии725

WebAssembly: короткий обзор ассемблера для фронтенда

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров17K

В последнее время фронтенд все больше и больше обрастает новыми технологиями, одна из них — WebAssembly. На ней можно написать полноценное web‑приложение и почти все на что способна ваша фантазия. В статье мы рассмотрим, что такое WebAssembly, как работает и с чем её едят. И конечно же я хотел поделиться рецептом приложения. Возьмем наш любимый React и добавим Yew, приправим всё это webpack-ом и добавим щепоточку module‑federation. Статья будет интересна всем, кто хочет познакомиться с WebAssembly и добавить разнообразия в список используемых фреймворков и библиотек для написания пользовательских компонентов.

Читать далее
Всего голосов 36: ↑34 и ↓2+42
Комментарии73

Пишем простой калькулятор используя фреймворк eframe (egui)

Уровень сложностиСредний
Время на прочтение34 мин
Количество просмотров11K

Всем здравствуйте. Ниже будет приведен пример написания PWA приложения готового для использования как в браузере, так и на компьютере с ОС Windows. Используется язык программирования Rust и фреймворк eframe (egui). В результате получим исполняемый файл для ОС Windows, и файл Webassembly. В процессе работы будет использоваться GitHub Action для отслеживания корректности написания нашего кода и сборки исполняемых файлов программы, а также для развертывания (версию программы с использованием Webassembly) как страницы в интернете (GitHub Pages).

Читать далее
Всего голосов 26: ↑26 и ↓0+26
Комментарии3

Создание красивого Desktop-приложения на Python (customtkinter)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров60K

Если Вы как и я решили впервые взглянуть в сторону Python после нескольких попыток изучения С++/C# то скорее всего первым проектом станет desktop-приложение. Отходя от темы скажу что тяга к изучению этих языков была безнадежно утрачена в виду классического преподавания в духе "лишь бы сдали" и бесчисленных однотипных и монотонных лекций. Как я сказал выше хоть и на начальном уровне, но я всё же касался разработки приложений для шинды и поэтому мне хотелось посмотреть на принципы работы питона сначала отсюда(а не прыгать в django и прочие мощные фреймворки).

Читать далее
Всего голосов 27: ↑25 и ↓2+26
Комментарии112

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

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

Привет! Меня зовут Маша Сафронова, и я уже почти 3 месяца работаю младшим продуктовым дизайнером в Lamoda Tech. За последний год я успела пройти стажировку и поработать в двух других крупных IT-компаниях, а еще раньше я переучилась и пришла в дизайн из другой профессии. 

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

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

Читать далее
Всего голосов 19: ↑15 и ↓4+13
Комментарии5

Три важных качества CTO, о которых я не догадывался, пока был разработчиком

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров40K

Я начинал карьеру как фронтенд-разработчик и прошел по всем стандартным этапам: от джуниора до сеньора и тимлида, потом стал руководителем отдела. И дальше, конечно, планировал стать CTO — Chief Technical Officer. И только через несколько лет узнал, что мои представления о том, какие навыки нужны на этой должности, были далеки от реальности.

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

Читать далее
Всего голосов 95: ↑91 и ↓4+106
Комментарии65

Как я искала junior-технического писателя: чего не стоит писать в резюме

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров9.2K

Привет, Хабр! Я Анастасия Дмитриева, работаю ведущим техническим писателем в компании “Актив”. Долгое время я была единственным техническим писателем в компании. Но в какой-то момент мне стало понятно, что задач очень много, и одной мне просто не справиться. Я начала поиск junior-а. Особой спешки не было, и я понимала, что я могу потратить какое-то время и научить его всему. 

В этой статье я опишу первый этап поиска: формирование требований к кандидатам и просмотр их резюме. Здесь вы увидите только моё мнение, и я не возражаю, если в комментариях появится ваше личное видение процесса поиска. Мне также хочется рассказать молодым специалистам про профессию “технический писатель”. Может, кто-то увидит себя в ней. 

Верю. что вам будет интересно
Всего голосов 9: ↑6 и ↓3+3
Комментарии12

GSM NetMonitor для гика и преподавателя

Уровень сложностиСложный
Время на прочтение14 мин
Количество просмотров5.4K

В статье я рассмотрю, как недорого в лабораторных условиях собрать и на практике использовать GSM NetMonitor на основе открытого программного продукта Osmocom, более известного в IT-среде по проекту OpenBTS, позволяющему создавать персональные базовые станции. Так, входящая в его состав программа OsmocomBB помогает узнать большое количество различных технических характеристик, задействованных в стеке GSM-протоколов для удовлетворения личного исследовательского интереса. В образовательной среде она поможет понять и на практике изучить работу рассматриваемых телекоммуникационных сетей, на которых в той или иной степени базируются определённые 3G, 4G и 5G-решения. Чтобы минимизировать заимствования из схожих публикаций, материал носит практический характер (за редким исключением). Дополнительно я раскрою явным образом недокументированную, но полезную возможность рассматриваемого программного обеспечения по одновременному NetMonitor сигналов от различных операторов.
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии3