Pull to refresh
1
0
Sergey Kaleev @skaleev

Пользователь

Send message

Begin /* Лицензии

Level of difficultyEasy
Reading time8 min
Views2.8K

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

Потому что правовая подготовка, даже базовая, как правило у обозначенных опытных товарищей так же отсутствует. Более того нередки случаи, когда и у руководства в том числе юридического, не в всё с этим в порядке. Укоренившаяся стандартная мантра из уст таких деятелей звучит примерно следующим образом: “Ты работаешь по трудовому договору, в котором прописаны твои должностные инструкции, по которым ты в рабочее время на рабочем месте разрабатываешь ПО. Которое потом таким образом автоматически становится собственностью работодателя”. Некоторые, чуть более прошаренные, при этом ссылаются на технические задания и некие исключительные права, которыми, опять же, якобы автоматически обладает работодатель.

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

Читать далее

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

Reading time10 min
Views8.5K

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

Меня зовут Дарморезов Вадим, я Data Scientist и участник профессионального сообщества NTA. Актуальность работы с большими объемами текстовой информации ещё долгое время (а может быть и всегда) будет неоспорима. При этом спектр задач весьма вариативен – от задач по поиску именованных сущностей, до классификации и кластеризации текстов обрабатываемых документов.

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

Узнать больше

Быстрый поиск изоморфных подграфов

Level of difficultyMedium
Reading time16 min
Views5.2K

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

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

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

Примеры кода написаны на C++, исходники всей библиотеки лежат здесь. Также написана копия библиотеки на Java, исходники лежат здесь.

Читать далее

Как я приложение с Go на Rust переписывал

Level of difficultyEasy
Reading time8 min
Views19K

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

Не так давно решил написать для себя небольшое приложение-бенчмарк для теста HTTP API серверов и написал его на Go. Но размер в 5 с лишним Мбайт, несоблюдение целевого RPS и некоторые другие проблемы заставили посмотреть в сторону более производительного Rust + Tokio + Hyper.

Эта статья о коде Rust-приложения, переходе с Go на Rust, преимуществах и недостатках обоих языков и сравнении двух сферических коней в вакууме.

Читать далее

Математическая продлёнка. Рисуем по клеточкам

Level of difficultyEasy
Reading time11 min
Views13K

Продолжаем серию заметок для занятий математического кружка. Героем нашего сегодняшнего рассказа будет листок в клеточку. Этот образ стал своеобразным символом школьной математики. На одних из нас он навевает депрессивную тоску, а на иных, действует, как возбудитель, взывая маниакальное желание что-нибудь формулировать, строить, решать и доказывать. Равнодушных "к тетрадке в клеточку", я приглашаю просто порисовать что-нибудь: косичку или лабиринт, или, на худой конец, енота. А мы пока обсудим вот какие клеточные вопросы:

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

Читать далее

Как сделать простой UPS для NAS

Level of difficultyMedium
Reading time11 min
Views30K

Как известно, большинство UPS подключаются между розеткой 220В и NAS. При этом ничто не мешает разместить UPS внутри корпуса NAS или хотя бы позаботиться об этом заранее.

Рассмотрим вариант дизайна такого UPS, который можно разместить внутри корпуса для тех NAS, которые для работы требуют только одного напряжения питания 12В.

Всё ещё хочешь собрать UPS?

5 лучших практик для успешной стратегии управления мастер-данными

Reading time4 min
Views2.8K

Задумывались ли вы, во сколько вашему бизнесу обходятся ошибки в справочниках компании? По данным Gartner — ведущей мировой исследовательской компании, неверные данные о клиентах могут стоить компании 30% ее годового дохода. С точки зрения информационных технологий, данные о клиентах относятся к мастер‑данным или, как они еще называются, — основным данным.

Поделюсь тем, что такое мастер‑данные, почему ими важно управлять и как с помощью внедрения стратегии управления мастер‑данными (master data management — MDM) сократить потери бизнеса.

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

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

Читать далее

Книга «Внутри CPYTHON: гид по интерпретатору Python»

Reading time12 min
Views17K
image Привет, Хаброжители!

CPython, самая популярная реализация Python, абстрагируется от сложностей ОС и предоставляет платформу для создания масштабируемых и высокопроизводительных приложений. Каждому python-разработчику на какой-то стадии необходимо будет узнать, как работает CPython. Это позволит в полной мере использовать его мощь и оптимизировать приложения. Вы разберетесь с основными концепциями внутреннего устройства CPython и научитесь: читать исходный код интерпретатора CPython и свободно ориентироваться в нем; вносить изменения в синтаксис Python и компилировать их в вашу собственную версию CPython; понимать внутреннюю реализацию таких структур, как списки, словари и генераторы; управлять памятью CPython; масштабировать код Python за счет параллелизма и конкурентного выполнения; дополнять базовые типы новой функциональностью; выполнять наборы тестов; профилировать и проводить бенчмарк Python-кода и исполнительной среды; отлаживать код C и Python на профессиональном уровне; изменять или обновлять компоненты библиотеки CPython, чтобы они могли использоваться в будущих версиях.
Читать дальше →

Как просто решать сложные задачи

Level of difficultyEasy
Reading time4 min
Views12K

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

Читать далее

Как объединить устройства с разными протоколами передачи данных на одной IoT-платформе

Level of difficultyMedium
Reading time32 min
Views5.7K

Привет! Меня зовут Иван Банников, я ведущий разработчик VK Tech. В одном из проектов я создавал и развивал IoT-платформу и хочу теперь поделиться своим опытом. Архитектура IoT-платформ в какой-то мере похожа на архитектуру любой другой распределенной системы. Однако технология интернета вещей подразумевает взаимодействие не только в виртуальном, но и в физическом мире. Это влечет за собой ряд нестандартных для классических программных продуктов сложностей и нюансов. 

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

Как научиться вести проекты IT-шнику

Level of difficultyEasy
Reading time5 min
Views13K

В этой статье я хочу поделиться своим опытом того, как я учился вести проекты, то есть контролировать риски, планировать ресурсы и все такое.

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

А хотелось научиться, чтобы быть на уровне хорошо :) Тем более, что в последнее время больше занимаюсь ведением проектов и развитием продукта.

И так задача - научиться вести проекты.

Как реально этому научиться, какие варианты есть?

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

Вариант 2. Пробовать, пробовать, набить шишки, и через N проектов вы станете хорошим продукт-менеджером, если вас не уволят или по пути вы не впадете в глубокое уныние ). Опять же так себе вариант - во-первых пока научитесь, угробите кучу проектов в ущерб своей карьере. А во-вторых это все равно что учиться водить машину с нуля без автошколы, 30 раз врезаясь в препятствие, пока поймете, что делает педаль тормоза, а что педаль газа.

Могу это подтвердить еще своим опытом создания нескольких стартапов.

К фразе "стартап не удался, но приобрели бесценный опыт" - отношусь скептически. Хороший опыт приобретается, когда видишь положительный эффект от своих усилий.

Читать далее

Как разработать канбан-доску на Django, DRF и Alpine.js

Level of difficultyEasy
Reading time8 min
Views14K

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

В статье рассказываем, как разработать собственную канбан-доску и развернуть ее на облачном сервере. Подробности под катом.
Читать дальше →

С полным ПО-пакетом: каким требованиям должен соответствовать офисный софт для бизнеса

Level of difficultyEasy
Reading time4 min
Views3K

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

Читать далее

Поиск и устранение повреждений данных

Level of difficultyMedium
Reading time24 min
Views20K

Это выдержка из восьмой главы книги Rodney Landrum: «SQL Server Tacklebox», в которой описывается, как DBA может устранить последствия повреждения данных. Будут продемонстрированы инструменты и сценарии, необходимые для своевременного поиска и устранения повреждений данных и предотвращения их попадания в резервные копии.

Читать далее

Линукс не для айтишника или Линукс для неайтишника? Часть 3

Reading time3 min
Views18K

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

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

Кто пропустил, в первой части был Simply Linux, во второй части — Astra Linux CE Orel.
Далее...

Читать далее

Пятничные клеточные автоматы: 10 удивительных правил с нотацией Хенселя

Level of difficultyEasy
Reading time7 min
Views7.9K

Продолжим знакомиться с вариациями клеточных автоматов. Ранее мы рассмотрели базовую «life-like» конфигурацию и добавили к ней поколения.

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

?

51 год автору WinRAR и FAR Manager

Level of difficultyEasy
Reading time4 min
Views49K


Некоторое время назад на русскоязычных имиджбордах было широко распространено прилагательное «винрарный» — в значении «хороший», «качественный», «правильный». Сегодня исполняется 51 год человеку, во многом благодаря которому это словечко прочно вошло в обиход. Речь идет об авторе алгоритма сжатия RAR, архиватора WinRAR и программы FAR Manager Евгении Лазаревиче Рошале.
Читать дальше →

Agile: адаптировать компанию под процессы…или процессы под компанию?

Level of difficultyEasy
Reading time6 min
Views1.8K

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

Читать далее

Как я проводил обратную разработку таинственного UDP-трафика в гостиничном номере

Reading time3 min
Views35K
Всем привет! Я на какое-то время поселился в гостинице. Гостиница из современных, с умными телевизорами и всякими другими подключенными устройствами. Меня одолело любопытство, и я открыл Wireshark, как сделал бы на моем месте любой любитель покопаться в технике.

Я был очень удивлен, когда увидел большое количество UDP-трафика на порте 2046. Взглянул на него, но много толку это не дало – порт оказался не из стандартных, так что разбираться предстояло вручную.

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

Книга «Грокаем функциональное мышление»

Reading time5 min
Views14K
image Как дела, Хаброжители?

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

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

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

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

Information

Rating
Does not participate
Location
Сургут, Тюменская обл. и Ханты-Мансийский АО, Россия
Date of birth
Registered
Activity