Pull to refresh
162
0
Валерий Макаров@valemak

Программист

Send message

Классические алгоритмы и структуры данных на JavaScript

Reading time2 min
Reach and readers96K
Привет Всем! Я недавно запустил на GitHub проект JavaScript Algorithms and Data Structures, который содержит примеры классических алгоритмов и структур данных написанных на JavaScript с объяснениями, примерами и ссылками для дальнейшего изучения (в частности на соответствующие YouTube видео).

Основная задача проекта — помочь программистам в изучении и применении алгоритмов и сделать это на JavaScript-е.
Читать дальше →

Механика сновидений

Reading time8 min
Reach and readers48K

Rob Gonsalves, Bedtime Aviation

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

Краткая формула про длинную выдержку

Reading time5 min
Reach and readers23K
Нет, это не просто картинка для красоты. Это – Алёна, участница эксперимента. Которая именно танцем внесла в него основной вклад. Впрочем, обо всём по порядку.


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

Вопрос: а как вероятность этого зависит от выдержки?

По этому поводу возможны многочисленные теоретические соображения. Но теория без эксперимента – это как тост без вина. А потому был проведён эксперимент:

  1. Расставлена фотостудия.
  2. Включена музыка.
  3. Приглашена Алёна.
  4. Которая танцевала...
  5. … пока я в случайные моменты времени делал со штатива фотографии с разными экспозициями, набрав их в итоге несколько сотен...
  6. … и подсчитав в конце долю чётких среди них.

Читать дальше про методику и результаты


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

Открытое письмо к маркетологам и прочим пиарщикам, причастным к контенту на Хабре и других ресурсах

Reading time7 min
Reach and readers70K

Короче, настало время. Присаживайтесь поудобнее

На площадке я достаточно давно. Кто-то знает меня в лицо, кто-то никогда не видел, а еще у меня есть собственный клуб хейтеров благодаря моей работе в качестве редактора ХХ и ГТ. Сейчас я не буду обсуждать «редакторский» контент, тут много подводных камней, а скажу пару слов о ведении корпоративных блогов и всего, что касается этой темы. Надеюсь на адекватное обсуждение.

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

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

Комментирование кода: хороший, плохой, злой

Reading time4 min
Reach and readers44K


Вы наверняка это слышали: «Хороший код является самодокументированным».

Я больше 20 лет зарабатываю написанием кода, и слышал эту фразу чаще всего. Это клише.

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

Она истинна? Да.

Означает ли она, что вы никогда не должны комментировать код? Нет.

В этой статье мы рассмотрим разные аспекты комментирования кода.
Читать дальше →

Наука сна: часть 2

Reading time9 min
Reach and readers15K
Вторая часть статьи, раскрывающей удивительные секреты происходящего в вашем мозгу после того, как вы закрываете глаза и улетаете в страну снов (и о том, что происходит, если этого не делать).

4. Сны


Ах, сны – самая интригующая, загадочная и интересная часть процесса сна. Что мы знаем о них? Да, вы правильно догадались – недостаточно для полной уверенности в чём бы то ни было.

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

Про спящих в аэропорту: полезности и байки

Reading time7 min
Reach and readers80K
Я много летаю и повидала разное дерьмо вроде восьмичасовой задержки рейса и больших окон между транзитами в 3 пересадки. Мои друзья теряли документы, или же мы просто летали через Копенгаген летом, когда койка в хостеле стоит 15 тысяч рублей за ночь.

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

Первое — идём на sleepinginairports.net. Там огромная база знаний, есть куча гайдов из серии «В этом аэропорту будьте внимательны, там нет розеток» или «Там есть зона A, где лучше всего спать». Там же показано, где душ, где можно вымыть ноги (в молельнях) и где комната йоги. Комната йоги — это сразу лютый вин, там очень хорошо спать.
Читать дальше →

Управление платежами в Приват24 из Google-таблиц

Reading time5 min
Reach and readers15K

Работать с интернет-банкингом большого количества предприятий может оказаться достаточно рутинной задачей. Для создания платежей и их контроля необходимо каждый раз переключаться между кабинетами. А если таких организаций больше 50, то можно с легкостью сбиться и наделать ошибок, не говоря уже о портаченном времени. Давайте посмотрим, как можно облегчить жизнь бухгалтера на примере API ПриватБанка для бизнеса.
Читать дальше →

Нумерация двоичных деревьев

Reading time3 min
Reach and readers6.7K
Как пронумеровать все двоичные деревья? Как на КДПВ: “дерево” из одного листа будет первым, дерево из двух листов вторым, второе дерево с ещё одной веткой, исходящей из корня – третьим. А как найти номер произвольного дерева в такой схеме?

КДПВ
Читать дальше →

Решаем задачи без самобалансирующихся деревьев в Python

Reading time10 min
Reach and readers18K
Многие задачи на алгоритмы требуют знания определённых структур данных. Стек, очередь, куча, динамический массив, двоичное дерево поиска — нечасто решение алгоритмической задачи обходится без использования чего-либо из них. Однако, качественная их реализация — нетривиальная задача, и при написании кода всегда хочется по максимуму обойтись использованием стандартной библиотеки языка.

Что касается Python, то в нём есть почти всё.

  • Динамический массив — встроенный тип list. Он же поддерживает и стековые операции: .append() и .pop().
  • Хэш-таблица — встроенные типы set и dict, а также неизменяемый брат сета frozenset.
  • Куча — list со специальными операциями вставки и удаления, реализованными в модуле heapq.
  • Двусторонняя очередь — это описанный в модуле collections тип deque.

Но вот самобалансирующегося дерева поиска, как такового, в стандартной библиотеке нет. А жаль!

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

Начинающему веб-мастеру: делаем одностраничник на Bootstrap 4 за полчаса

Reading time15 min
Reach and readers245K
Фреймворк Bootstrap — это свободный набор инструментов для создания интерфейсов сайтов и веб-приложений. Его возможности ориентированы исключительно на фронтенд-разработку. Bootstrap — проект весьма популярный, о чём, например, говорит то, что он занимает (по состоянию на начало марта 2018-го года) второе место по количеству звёзд на GitHub.


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

Как не стать Python-разработчиком

Reading time2 min
Reach and readers106K
Как выглядит трек обучения программированию на Python с нуля? С чего стоит начать? На чем сделать акцент? Как не потерять интерес?

Полгода я искал ответы на эти вопросы, тщательно исследуя предметную область. Я обнаружил много полезных советов. Особенно в заметке Василия Большакова и на Хекслете. Но мне не хватало структуры. Знания нарастали со всех сторон и превращались в кучу. Чтобы структурировать процесс обучения и оценить его масштаб, я собрал план.
Читать дальше →

Наш опыт создания редактора блок-схем для веб приложения

Reading time3 min
Reach and readers20K

К любой компании, которая занимается инструментами для разработчиков, рано или поздно приходит делегация клиентов. Со словами «программистов нет, задачи простые, нужен визуальный редактор». Автоматикой телефонных и видеозвонков мы занимаемся уже много лет, кому и зачем звонит робот хорошо себе представляем, VueJS любим, голова не болит. Почему бы не сделать? Под катом — закулисье и техническая сторона того, что маркетинг красиво назвал «Smartcalls».
Читать дальше →

Препарирование файлов .XLSX: редактирование файла средствами PL/SQL

Reading time9 min
Reach and readers13K
Часть 1. Введение, стили
Часть 2. Строки, разметка
Часть 3. Редактирование через PL/SQL

Доброго дня. Третья часть разговора про формат XLSX подоспела. Я не случайно начал со внутреннего устройства файла. Не понимая где что находится и как выглядит, сложно понять, для чего я сделал то-то и то-то. К тому же, теперь я могу сделать несколько замечаний:

Первое. Если я не упомянул какой-то элемент, который нужен именно вам, — создайте пустой файл XLSX, сделайте нужный элемент и сохраните. Теперь вы знаете, где искать код, определяющий этот элемент.

Второе. OpenXML допускает наличие в разметке произвольного текста, если он не нарушает структуру тегов (этим мы будем очень активно пользоваться). Сейчас проиллюстрирую. Вот так делать можно:
Читать дальше →

Чем заняться айтишнику в армии или как я на VBA игры писал

Reading time3 min
Reach and readers186K
Прошло уже больше двух месяцев с момента моей демобилизации. Я уже освоился на свободе, пришло время рассказать интересную историю со службы. Служил я в разведке!.. По распределению попал в центр радиоперехвата. Работенка не пыльная, сидишь ночами в наушниках и слушаешь врага. Но речь пойдет не об этом.

У каждого оператора поста радиоперехвата (таковыми мы числились) был в распоряжении компьютер с подключенными к нему радио-приемными устройствами. На компьютере стоял спецсофт + Excel. Все остальное было заблочено. После N-ного дежурства я стал скучать… Зачесались руки.
Читать дальше →

3D-движок, написанный на формулах MS Excel

Reading time9 min
Reach and readers120K

Скриншот экрана игры

Эта статья посвящена тому, как я смог написать 3D-движок только на формулах Excel. Я реализовал следующий функционал:

  • бесконечная процедурно генерируемая карта лабиринта
  • рендеринг трассировкой лучей в реальном времени
  • вычисление окклюзии
  • рендеринг простейшего освещения
  • шейдер освещения и вычислений
  • движок естественного движения
  • в 3D-движке не используются макросы

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

Можете скачать файл и протестировать его самостоятельно!

Медитация — древний хакинг реальности в современности

Reading time12 min
Reach and readers124K


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


И если в мифах Древней Греции обычно супер герои имели часть божественной крови, а в современных фильмах и мангах супергерои обычно становились таковыми при случайных обстоятельствах (укус паука, эксперимент ученых и т.п.), то в литературе и философии Азии это зачастую зависело только от самого человека.


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


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


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


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

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

Ковры и зрение, как умываться, чистить очки и гладить кошку

Reading time5 min
Reach and readers53K


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

Например, приходит взрослый уже человек, у которого в анамнезе 7 лет ношения линз, и говорит: «Что-то я видеть стал хуже». А у него там красивый гнойный конъюнктивит. Я прошу его снять линзы, чтобы всё это рассмотреть, так он плюёт на палец и собирается лезть им в глаз. С причинами воспаления сразу всё становится понятно.

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

В общем, дальше — ликбезы.
Читать дальше →

5 лучших стран для IT бизнеса

Reading time11 min
Reach and readers32K
Придумана идея вашего бизнеса или бизнес уже начал работать, а вам хочется расти дальше? Окружающие вас ресурсы являются неоптимальными — дорогая аренда, сложность ведения бизнеса, высокая заработная плата сотрудников, затруднительный доступ к большим объемам электроэнергии и неразвитость IT инфраструктуры? Давайте подумаем о будущем вашего бизнеса вместе. На основе множества критериев, таких как легкость регистрации и ведения бизнеса, эффективные способы защиты интеллектуальной собственности, уровень налогообложения и международной торговли, степень государственной поддержки и защищенности бизнеса, уровень доступности электросетей и конкурентной IT инфраструктуры, я отобрал 5 лучших стран и собрал отзывы от успешных компаний, имеющих бизнес, представительства или просто партнеров в этих странах. На основе этих данных составлен рейтинг и рекомендации, которыми я с радостью поделюсь с вами.

5-е место. Южная Корея


“+”


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

Препарирование файлов .XLSX: введение, стили ячеек

Reading time5 min
Reach and readers27K
Не так давно по долгу службы понадобилось редактировать файлы MS Office (в первую очередь MS Word и MS Excel) средствами PL/SQL, то есть языка, с .NET не связанного практически никак. В связи с этим возникла проблема, что в руководстве от Microsoft про редактирование этих файлов, что называется, «руками» не сказано практически ничего, а единственный вменяемый сайт-справочник по этому делу, видимо, не обновлялся года этак с 2010. Понимание необходимости свести воедино все, что я по крупицам собрал со Stackoverflow и собственных экспериментов, пришло почти сразу.

Сразу хочется сделать несколько замечаний.

Первое. В основном говорить буду про то, с чем сталкивался лично. Претензий на стопроцентное знание «изнанки» формата у меня нет.

Второе. Как многие, вероятно, знают, файлы MS Office 2007 и выше представляют собой архив, который можно открыть с помощью любого архиватора (WinRAR, 7zip и так далее).

Третье. «Под капотом» у этих файлов — в основном XML-разметка, гордо именуемая OOXML или просто OpenXML. Поэтому, в принципе, для понимания принципов редактирования файлов «руками» достаточно будет Блокнота (или, что удобнее, Notepad++).

Итак, начнем с формата MS Excel как наиболее употребимого для генерации всевозможных отчетов, выгрузок из БД и иже с ними.
Читать дальше →

Information

Rating
Does not participate
Location
Кировоград, Кировоградская обл., Украина
Date of birth
Registered
Activity