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

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

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

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

Привет, Хабр! Я Саша Шутай, руководитель направления PHP в AGIMA. Хочу обсудить важные для тимлидов вопросы: как управлять бэклогом и правильно распределять время, нормально ли отвлекаться во время работы, как овертаймить, не выгорать и успевать жить. Статья в первую очередь будет полезна начинающим тимлидам. Ну а матерые руководители команд найдут в ней советы по оптимизации работы.

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

Как выбрать профессию в IT: гайд-инструкция

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

Всем привет!

Меня зовут Горчаков Денис я специализируюсь на системном анализе и архитектуре. Свой путь в ИТ я начал 2020 после того как меня пригласили в команду по управлению данными в ИТ подразделение компании, в которой я уже работал экспертом в отделе МТО (материально техническое обеспечение). И вот набравшись опыта и знаний я работаю в самой крупной компании России, в ИТ команде в роли Архитектора сервиса.

В этой статье я решил поделиться своими наблюдениями и опытом, который сформировался за этот период и помочь вам с вопросом: Как выбрать профессию в ИТ?

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

Готовимся к вопросам по вёрстке на интервью Frontend-разработчика: значения свойства display

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


Привет, Хабр. Я продолжаю отвечать на вопросы из собеседований на должность фронтендера. Сегодня я отвечу на следующий вопрос: «В чём отличия между значениями block, inline, flex, inline-flex, grid и inline-grid для свойства display


Прошу внимания. Мой ответ будет основан на теории, которую я описал в статье «Зачем нужно использовать свойство display?». Прочитайте, пожалуйста, сначала её.

Читать дальше →
Всего голосов 20: ↑25.5 и ↓-5.5+31
Комментарии3

Возможное решение проблемы ссылок в языках программирования

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


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


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


Тем не менее, ссылки в той или иной форме поддерживаются во всех языках программирования, хотя под этим термином часто подразумеваются не полностью эквивалентные термины. Например, под словом "ссылка" можно понимать ссылку как адрес в памяти (как в С++) и ссылку, как указатель на объект (как в Python или Java).


Хотя встречаются языки программирования, которые пытаются решать данные проблемы за счет концепции "владения" (Rust, Аргентум или NewLang). О возможном решении этих, и других имеющихся проблем со ссылками далее и пойдет речь.

Читать дальше →
Всего голосов 3: ↑4 и ↓-1+5
Комментарии66

Истории

Пишем поиск семантически похожих текстов (или товаров) за полчаса на Go и Postgres (pgVector)

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


Казалось бы, в посгресе и так есть неплохой полнотекстовый поиск (tsvector/tsquery), и вы из коробки можете проиндексировать ваши тексты, а потом поискать по ним. Но на самом деле это не совсем то, что нужно — такой поиск работает лишь по чётким совпадениям слов. Т.е. postgres не догадается, что "кошка гонится за мышью" — это довольно близко к "котёнок охотится на грызуна". Как же победить такую проблему?


TLDR:


  1. Преобразовываем наши тексты в наборы чисел (векторы) при помощи API openAI.
  2. Сохраняем векторы в базе с помощью pgvector.
  3. Легко ищем близкие друг к другу векторы или ищем их по вектору-запросу.
  4. Ускоряем индексами.
Читать дальше →
Всего голосов 13: ↑14 и ↓-1+15
Комментарии6

Как программисту побороть синдром самозванца

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

И вернуть себе самоуважение. 💪

Если вас посещают мысли вроде «Я не достоин работать старшим разработчиком» или «Я мошенник, который обманом получил работу», эта статья для вас.

Читать дальше →
Всего голосов 13: ↑14 и ↓-1+15
Комментарии17

Безопасность android-приложений. Реверсим OWASP MASTG Crackme 1

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

Всем привет! Меня зовут Максим и я занимаюсь исследованиями источников данных. В своей работе периодически приходится сталкиваться с исследованием android-приложений. В этой статье я хочу показать базовые методы реверс-инжиниринга и исследования android-приложений на примере Crackme из проекта OWASP MASTG.

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

Python-праздник на Positive Hack Days Fest 2

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

Двадцать шестого мая в рамках Positive Hack Days Fest 2 состоится Python Day, который мы проведем совместно с сообществом MoscowPython. Программный комитет конференции отобрал восемь докладов, анонсами которых мы хотели бы поделиться с читателями нашего блога. В этой статье мы расскажем о четырех докладах из запланированных восьми — продолжение последует позднее. Каждый анонс сопровождается комментарием участника программного комитета.

Итак, начнем
Всего голосов 8: ↑9 и ↓-1+10
Комментарии0

Заметки руководителя проекта: советы начинающим, факапы для бывалых

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

Привет, Хабр!

Меня зовут Кристина Спирина, я руководитель проектов в IT.

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

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

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

Критические дни

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

Как объектам КИИ успеть перейти на "наше" до конца года

Часики тикают — до января 2025 года остается все меньше и меньше времени, каждый день — буквально на счету. К началу следующего года объекты критической информационной инфраструктуры (КИИ) должны полностью перейти на отечественный софт и «железо». И таких в нашей стране — как минимум 50 тысяч. Это государственные органы, предприятия и даже предприниматели из таких сфер как здравоохранение, наука, транспорт, связь, энергетика, финансовый сектор, коммунальное хозяйство и т.д. О том, каковы основные тенденции импортозамещения и какие проблемы встают перед организациями и компаниями, обязанными действовать в рамках этих мер, рассказал директор департамента инфраструктуры EdgeЦентр Алексей Учакин.


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

Diagnocat: как искусственный интеллект облегчает жизнь стоматологам и пациентам

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

Искусственный интеллект стал одной из самых горячих тем последние несколько лет. ChatGPT пишет книги и дипломные работы, DALL-E создает картины по текстовому описанию, стриминговые сервисы, такие как Кинопоиск, используют искусственный интеллект для создания рекомендации, голосовые помощники отвечают на почти любые запросы пользователей. Медицина и стоматология не стали исключением – искусственный интеллект меняет практику врачей. Согласно исследованию, опубликованному в Journal of Dental Sciences, благодаря интеграции технологии искусственного интеллекта и систем цифровой визуализации, стоматологи теперь могут быстрее анализировать рентген- и  КТ-снимки, а также выявлять проблемы со здоровьем полости рта: кариес, потерю костной ткани или развитие инфекции. 

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

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

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

Создавайте виджеты главного экрана iOS с помощью Flutter

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

Hola, Amigos! Меня зовут Сергей Климович, я Mobile TeamLead агентства заказной разработки Amiga и соавтор телеграм-канала Flutter. Много. На канале мы уже рассказывали про Home Widget для Android, теперь пришло время поговорить про iOS. Я нашел отличную статью по этой теме и решил поделиться с вами переводом. 

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

Временное хранилище данных на Apache Druid: почему это эффективно сработало для загрузки табличных файлов

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

Всем привет! Меня зовут Амир, я Data Engineer в компании «ДЮК Технологии». Расскажу, как мы спроектировали и реализовали на Apache Druid хранилище разрозненных табличных данных.

В статье опишу, почему для реализации проекта мы выбрали именно Apache Druid, с какими особенностями реализации столкнулись, как сравнивали методы реализации датасорсов.

Читать далее
Всего голосов 2: ↑3 и ↓-1+4
Комментарии1

Ближайшие события

Как написать свою первую спецификацию на REST API. С какими ошибками может столкнуться аналитик и как их избежать?

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

Всем привет! Делюсь очередным выпуском нашей рубрики «Открытый микрофон», тема этого выпуска — «Как написать свою первую спецификацию на REST API».

Спикером стала Мария Яковлева. Маша — ведущий аналитик Платформы Сфера, НОТА (Т1 Консалтинг). В интернете много описаний особенностей архитектурного стиля REST, но мало информации о том, как аналитику начать создавать качественные спецификации на REST-методы. Маша поделилась своим опытом и, что особенно ценно, ошибками, допущенными в работе. А ещё Маша систематизировала их, чтобы уберечь вас от них)

Ниже предлагаю расшифровку трансляции, ссылку на сам выпуск оставлю в конце статьи.

Читать далее
Всего голосов 11: ↑14 и ↓-3+17
Комментарии1

«Где угодно работать, только не в локальных конторах» — у меня есть что сказать

Время на прочтение9 мин
Количество просмотров58K
image

23 года я работал в американских компаниях SAS и C3 AI. Это, если что, очень дорогой интеллектуальный анализ данных корпораций и производств. Причём SAS много лет занимал места с 1-го по 3-е в мире как лучший работодатель, поэтому некоторая избалованность присутствует. Последние полтора года до ухода C3 AI из России я работал в подразделении EMEA с непосредственным руководителем в Париже.

Все эти годы коллеги убеждали меня, что в отечественных компаниях работать нельзя: там хамство, бардак, сотрудников обманывают, не уважают и не ценят. За последние два года многие мои коллеги уехали за границу со словами: «Где угодно работать, только не в локальных конторах».

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

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

По остальному мне есть что сказать. Сразу поясню: меня никто не заставлял писать этот пост, никакие эйчары не приходили и не просили. Просто достали те, кто ноет. Хорош ныть!
Читать дальше →
Всего голосов 196: ↑178.5 и ↓17.5+161
Комментарии150

Пошаговая шпаргалка по защите сервера от хакеров и другой нечисти

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

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

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

Привет! На связи Йети — самый йетический автор Vscale. Это моя первая статья на Хабре. В ней я расскажу, как защитить сервер от хактевистов и другой нечисти. Подробности под катом! :)
Читать дальше →
Всего голосов 39: ↑40 и ↓-1+41
Комментарии17

Инфраструктурный пентест по шагам: боковое перемещение и повышение привилегий в сети

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

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

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

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

Читать далее
Всего голосов 16: ↑16.5 и ↓-0.5+17
Комментарии0

Как оценить лояльность сотрудников?

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

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

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

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

Программирование в среде Scratch для детей: знакомство с платформой

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

Программирование — это не только написание кода, но и способ мышления. Учиться ему лучше как можно раньше. Первые шаги в айти-сфере стоит начинать уже в младшей школе. Но это не значит, что в первом классе ребенок будет писать настоящий код. Для обучения можно использовать платформы с визуальным программированием. Здесь важнее понимание логики и закономерностей.

Читать далее
Всего голосов 3: ↑3.5 и ↓-0.5+4
Комментарии4

Функции ранжирования: RANK, DENSE_RANK, and NTILE

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

В предыдущей статье обсуждалась функция ROW_NUMBER. Сейчас же мы рассмотрим другие функции ранжирования: RANK, DENSE_RANK и NTILE. Начнем с RANK и DENSE_RANK. Эти функции по функциональности и реализации аналогичны ROW_NUMBER. Разница в том, что ROW_NUMBER присваивает уникальное (возрастающее) значение каждой строке без учета связей в значениях ORDER BY, а функции RANK и DENSE_RANK присваивают одно и то же значение строкам, имеющим одинаковое значение ORDER BY. Разница между функциями RANK и DENSE_RANK заключается в том, как значения присваиваются строкам. Проще всего проиллюстрировать разницу между всеми этими функциями на простом примере:

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