Search
Write a publication
Pull to refresh
-28
0.2

Интересуюсь природой вещей

Send message

Программист по призванию, химик по специальности

Reading time6 min
Views7.6K
Сегодня День программиста. Причастные, вас уже поздравили? Каким бы ни был ответ, желаем всяческих успехов в профессии и удовлетворенности в деле, которому вы посвящаете многие часы своей жизни!

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


Читать дальше →

Нетипичный «ls» или как развлекаются линуксоиды

Reading time2 min
Views34K
Однажды в телеграм чат питерского сообщества линуксоидов SPbLUG я кинул забавную задачку:
Выведите список файлов в домашней директории максимально возможным количеством способов, без использования ls или его алиасов(1 способ — 1 балл)

Такое же задание чуть позже прилетело в ещё один чат, и вот что из этого получилось:
Читать дальше →

Нетипичный «ls» — Habr Edition

Reading time2 min
Views16K
image

Всем привет!

После вчерашнего поста о замене штатного ls другими штатными (или не очень) утилитами, я просто не мог пройти мимо комментов, особенно учитывая то что пост взлетел на вершины хит-парадов и за сутки его прочитало 18k, с хвостиком человек. Хабровчане подарили миру много новых способов избавиться от ls. Я их все (но это не точно) проверил, некоторые «причесал», что бы они соответствовали условиям задачи, и хочу поделиться с вами. Наслаждайтесь!
Читать дальше →

Простые эксперименты с микроконтроллером STM32F103 («Голубая таблетка»)

Reading time4 min
Views82K


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

Будем считать, что «лучшие времена» — наступили.
Читать дальше →

Обзор отечественных FMC решений или что такое «конвергенция»

Reading time3 min
Views10K
Прежде всего, вводное слово для тех, кто не знает, что скрывается за этими тремя буквами. Остальным — сразу под кат.

FMC (fixed-mobile convergence) – объединение фиксированной и мобильной связи в рамках единой корпоративной сети и одного номерного плана.

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

Согласно статье, типичное FMC решение несет абоненту следующие возможности:
  • Переадресация звонка с мобильного на офисный
  • Единый добавочный номер для стационарной и мобильной «трубки»
  • Единую голосовую почту
  • Одновременный звонок мобильного и стационарного аппарата и др.
Среди преимуществ:
  • «единое окно» по всем вопросам (единая служба поддержки для фиксированной и мобильной связи, один счет на услуги и т.д.)
  • сокращение издержек на связь (корпоративные скидки, возможность совершать «мобильные» звонки по тарифам фиксированной связи)
  • удобство в коммуникации (относительное – в зависимости от способа реализации услуги, но об этом – ниже)
Некоторые из обозначенных в статье сложностей либо не относятся к российским реалиям (например у нас, как известно, телефонный аппарат никак не связан с оператором абонента), либо уже решены (так, по мнению авторов статьи, «короткий» набор мобильного добавочного — минуя префикс — возможен только при наличии специального приложения на смартфоне. Но ниже мы покажем, что это не обязательно так).
Читать дальше →

Как обойти капчу: нейросеть на Tensorflow,Keras,python v числовая зашумленная капча

Reading time7 min
Views49K
Тема капч не нова, в том числе для Хабра. Тем не менее, алгоритмы капч меняются, как и алгоритмы их решения. Поэтому, предлагается помянуть старое и прооперировать следующий вариант капчи:



попутно понять работу простой нейросети на практике, а также улучшить ее результаты.
Читать дальше →

Функциональное программирование: дурацкая игрушка, которая убивает производительность труда. Часть 1

Reading time10 min
Views87K
Возможно, вы уже слышали о так называемом «функциональном» программировании. Возможно, вы даже подумываете о том, что вам стоит его как-нибудь попробовать.

Ни в коем случае этого не делайте!



Функциональное программирование полно недочётов, оно не подходит для реальных проектов. Его применение приведёт к резкому падению производительности труда. Почему это так? Давайте выясним.

▍→ Часть 2
Читать дальше →

«Как ставить сети на начинающих аналитиков» или обзор на онлайн курс «Старт в Data Science»

Reading time6 min
Views21K
Вот уже «тысячу лет» ничего не писал, но вдруг неожиданно появился повод сдуть пыль с мини-цикла публикаций по «обучению Data Science с нуля». В контекстной рекламе одной из соцсетей, а также на любимом «Хабре», я наткнулся на информацию о курсе «Старт в Data Science». Стоил он сущие копейки, описание курса было красочное и многообещающее. «Почему бы не восстановить, запылившиеся от ненадобности навыки пройдя очередной курс?» — подумал я. Также свою роль сыграло любопытство, давно хотелось посмотреть, как устроена организация обучения у этой конторы.

Сразу предупрежу, я никак не аффилирован с разработками курса или их конкурентами. Весь материал статьи — мое субъективное оценочное суждение с легким налетом иронии.
И так, вы все еще не знаете куда стоит вложить свои кровные 990 рублей? Тогда милости прошу под кат.


Читать дальше →

Ограничения машинного обучения

Reading time10 min
Views18K
Привет, Хабр! Представляю вашему вниманию перевод статьи “The Limitations of Machine Learning“ автора Matthew Stewart.

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

Читать дальше →

Разработка надёжных Python-скриптов

Reading time10 min
Views82K
Python — это язык программирования, который отлично подходит для разработки самостоятельных скриптов. Для того чтобы добиться с помощью подобного скрипта желаемого результата, нужно написать несколько десятков или сотен строк кода. А после того, как дело сделано, можно просто забыть о написанном коде и перейти к решению следующей задачи.

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



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

Автор материала, перевод которого мы сегодня публикуем, собирается продемонстрировать подобное «превращение» на примере классической задачи «Fizz Buzz Test». Эта задача заключается в том, чтобы вывести список чисел от 1 до 100, заменив некоторые из них особыми строками. Так, если число кратно 3 — вместо него нужно вывести строку Fizz, если число кратно 5 — строку Buzz, а если соблюдаются оба этих условия — FizzBuzz.
Читать дальше →

Как стать более востребованным специалистом в сфере Data Science в 2019

Reading time4 min
Views13K
Заголовок этой статьи может показаться немного странным. И вправду: если вы работаете в сфере Data Science в 2019, вы уже востребованы. Спрос на специалистов в этой области неуклонно растет: на момент написания этой статьи, на LinkedIn размещено 144,527 вакансий с ключевым словом «Data Science».

Тем не менее, следить за последними новостями и трендами в индустрии однозначно стоит. Чтобы помочь вам в этом, мы с командой CV Compiler проанализировали несколько сотен вакансий в сфере Data Science за июнь 2019 и определили, какие навыки ожидают от кандидатов работодатели чаще всего.
Читать дальше →

DeviceLock DLP: Цены российского черного рынка на пробив персональных данных (плюс ответ на ответ Тинькофф Банка)

Reading time4 min
Views128K

В конце прошлого года для DeviceLock DLP я делал обзор цен черного рынка на российские персональные данные, и вот пришло время его обновить и дополнить.


Заодно посмотрим изменение цен и предложений на этом «рынке», а также реакцию «Тинькофф Банка» на вот это вот все.



Поехали...

Читать дальше →

Как посчитать всё на свете одним SQL-запросом. Оконные функции PostgreSQL

Reading time5 min
Views606K

Я с удивлением обнаружил, что многие разработчики, даже давно использующие postgresql, не понимают оконные функции, считая их какой-то особой магией для избранных. Ну или в лучшем случае «копипастят» со StackOverflow выражения типа «row_number() OVER ()», не вдаваясь в детали. А ведь оконные функции — полезнейший функционал PostgreSQL.
Попробую по-простому объяснить, как можно их использовать.


Читать дальше →

Как думать на SQL?

Reading time8 min
Views625K
Надо “SELECT * WHERE a=b FROM c” или “SELECT WHERE a=b FROM c ON *” ?

Если вы похожи на меня, то согласитесь: SQL — это одна из тех штук, которые на первый взгляд кажутся легкими (читается как будто по-английски!), но почему-то приходится гуглить каждый простой запрос, чтобы найти правильный синтаксис.


А потом начинаются джойны, агрегирование, подзапросы, и получается совсем белиберда. Вроде такой:


SELECT members.firstname || ' ' || members.lastname
AS "Full Name"
FROM borrowings
INNER JOIN members
ON members.memberid=borrowings.memberid
INNER JOIN books
ON books.bookid=borrowings.bookid
WHERE borrowings.bookid IN (SELECT bookid
  FROM books
  WHERE stock>(SELECT avg(stock)
    FROM books))
GROUP BY members.firstname, members.lastname;

Буэ! Такое спугнет любого новичка, или даже разработчика среднего уровня, если он видит SQL впервые. Но не все так плохо.


Легко запомнить то, что интуитивно понятно, и с помощью этого руководства я надеюсь снизить порог входа в SQL для новичков, а уже опытным предложить по-новому взглянуть на SQL.

Читать дальше →

50 цитат о программировании всех времён

Reading time6 min
Views164K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

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

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →

Цитаты о языках программирования

Reading time3 min
Views41K
Что учёные, писатели и программисты думают о популярных языках программирования.

Все языки


«Есть два подхода к программированию. Первый — сделать программу настолько простой, чтобы в ней очевидно не было ошибок. А второй — сделать её настолько сложной, чтобы в ней не было очевидных ошибок.»
Tony Hoare. Профессор, занимался реализацией Алгол 60, сейчас исследователь в Microsoft Research.


Algol 60 (позже повлиявший на C)


«Я не мог устоять перед искушением добавить в язык нулевой указатель (null), просто потому, что его так легко было реализовать. Это привело к бессчётному множеству ошибок, уязвимостей и сбоев, которые нанесли ущерб, наверное, в миллиард долларов за последние сорок лет.»
Tony Hoare.
Читать дальше →

Раздаем файлы с Google Drive посредством nginx

Reading time4 min
Views13K

Предыстория


Так уж случилось, что нужно мне было где-то хранить более 1.5тб данных, да еще и обеспечить возможность скачивания их обычными пользователями по прямой ссылке. Поскольку традиционно такие объемы памяти идут уже на VDS, стоимость аренды которых не слишком вкладывается в бюджет проекта из категории «от нечего делать», а из исходных данных у меня был VPS 400GB SSD, куда при всем желании 1.5тб картинок без lossless сжатия поместить не удастся.

Читать дальше →

Что такое Business Intelligence

Reading time4 min
Views133K
Существует огромное количество терминов: аналитика, data mining, анализ данных, business intelligence и разница между ними не всегда столь очевидна даже для людей, которые с этим связаны. Сегодня мы расскажем о том, что же такое Business Intelligence (BI) доступным и понятным языком. Тема безусловна огромна и её не покрыть лишь одной короткой статьей, но наша задача — помочь сделать первый шаг и заинтересовать читателя темой. Заинтересованный же читатель также найдет исчерпывающий список для дальнейших шагов.

Структура статьи
  1. Зачем всё это нужно: из жизни аналитика
  2. В чем задача: проблема на уровне компании
  3. Обобщаем задачу: всё это звенья одной цепи
  4. Большая инфографика
  5. С чем можно поэкспериментировать
  6. Что почитать? Must read по Business Intelligence


Зачем всё это нужно: из жизни аналитика

(кликабельно)
Читать дальше →

Дашборд — что это и почему он будет вам полезен или современный способ сделать тайное явным

Reading time12 min
Views267K


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

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

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

Становление аналитика

Reading time12 min
Views293K
image

Эту статью я хочу посвятить временами нелегкой, но увлекательной профессии ИТ-аналитика. На Хабре не так много материалов по данной дисциплине. К примеру, по управлению проектами – на порядок больше. Но выложенные недавно две статьи (раз и два), похоже, вызвали интерес, посему я тоже хотел бы внести свой скромный вклад. Сам работаю более 8 лет в роли аналитика, так что постараюсь не потратить Ваше время зря.
Не стану пересказывать теорию (ее можно почерпнуть в замечательной книге Вигерса или в BABOK). Мне бы хотелось сосредоточиться на практической стороне вопроса – описать выжимку из «боевого» опыта, как своего, так и некоторых других людей, с которыми мне посчастливилось работать.
Подробности

Information

Rating
4,374-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity