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

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

Отправить сообщение

Подозрительные типы

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

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


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

Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии11

Как создать свой первый open source проект на Python (17 шагов)

Время на прочтение10 мин
Количество просмотров43K
Каждый разработчик ПО должен знать как создать библиотеку с нуля. В процессе работы Вы можете многому научиться. Только не забудьте запастись временем и терпением.

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

В этой статье мы пошагово разберем процесс создания базовой библиотеки на Python. Не забудьте заменить в приведенном ниже коде my_package, my_file и т.п. нужными вам именами.

Шаг 1: Составьте план


Мы планируем создать простую библиотеку для использования в Python. Данная библиотека позволит пользователю легко конвертировать блокнот Jupyter в HTML-файл или Python-скрипт.
Первая итерация нашей библиотеки позволит вызвать функцию, которая выведет определенное сообщение.

Теперь, когда мы уже знаем, что хотим делать, нужно придумать название для библиотеки.
Читать дальше →
Всего голосов 18: ↑11 и ↓7+10
Комментарии7

7 привычек, которые превратят любого интроверта в мастера коммуникации

Время на прочтение4 мин
Количество просмотров30K
Привет! Я Саша, Exness Global Learning & Development Manager.

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

image
Читать дальше →
Всего голосов 19: ↑10 и ↓9+7
Комментарии16

Snoop Project невероятный инструмент интернет разведки, которого пользователи рунета ждали так долго — доступен

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

На Github-e выложен OSINT-инструмент, заточенный (в том числе) для поиска %username по СНГ локации


【Статья обновлена】в связи с развитием функционала Snoop Project.
Если вам до боли знаком такой софт, как namechk или spiderfoot, то «Snoop Project» вас явно порадует, он даёт «им» фору вместе взятым и это не желтый заголовок «Статья вечерняя» — это реальная «forensic-работа» по цифровым следам в киберпространстве…
Читать дальше →
Всего голосов 42: ↑28 и ↓14+23
Комментарии67

Парадигма разработки через комментирование

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

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

Читать дальше →
Всего голосов 24: ↑13 и ↓11+11
Комментарии65

Как перепрограммировать режим сна: 30 дней каждое утро я светил ярким зеленым светом себе в глаза

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

Как я себя чувствовал во время испытаний.

Исходные условия: засыпаю перед рассветом, просыпаюсь в обед.
Желаемый результат: просыпаться в 7-9 утра без будильника.
Способ: 1 месяц тестировать очки «для просыпания».

И вот что из этого вышло.
Читать дальше →
Всего голосов 58: ↑47 и ↓11+36
Комментарии201

Пишем клон движка Doom: чтение информации карт

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

Введение


Цель этого проекта — создание клона движка DOOM, использующего ресурсы, выпущенные вместе с Ultimate DOOM (версия со Steam).

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

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

Вот список ресурсов и ссылок.

Книга Game Engine Black Book: DOOM Фабьена Санглара. Одна из лучших книг по внутреннему устройству DOOM.

Doom Wiki

Исходный код DOOM

Исходный код Chocolate Doom
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии5

Full-stack TypeScript Apps

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

Привет, Хабр! Представляю вашему вниманию перевод статьи "Full-Stack TypeScript Apps — Part 1: Developing Backend APIs with Nest.js" автора Ana Ribeiro.


Часть 1: Разработка серверного API с помощью Nest.JS


TL;DR: это серия статей о том, как создать веб-приложение TypeScript с использованием Angular и Nest.JS. В первой части мы напишем простой серверный API с помощью Nest.JS. Вторая часть этой серии посвящена интерфейсному приложению с использованием Angular. Вы можете найти окончательный код, разработанный в этой статье в этом репозитории GitHub


Что такое Nest.Js и почему именно Angular?


Nest.js это фреймворк для создания серверных веб-приложений Node.js.


Отличительной особенностью является то, что он решает проблему, которую не решает ни один другой фреймоворк: структура проекта node.js.

Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии11

Kali Linux NetHunter на Android: зачем и как установить

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

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


Читать дальше →
Всего голосов 41: ↑31 и ↓10+21
Комментарии19

Synet — фреймворк для запуска предварительно обученных нейронных сетей на CPU

Время на прочтение6 мин
Количество просмотров7.3K
мой велосипед

Введение


Здравствуйте, уважаемые хабровчане!

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

  1. Сверточный слой: методы оптимизации основанные на матричном умножении
  2. Сверточный слой: быстрая свертка по методу Шмуэля Винограда

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

Samsung открывает бесплатный онлайн-курс по нейросетям в задачах компьютерного зрения

Время на прочтение4 мин
Количество просмотров24K
Вы пока не разбираетесь, почему ReLU лучше сигмоиды, чем отличается Rprop от RMSprop, зачем нормализировать сигналы и что такое skip connection? Зачем нейронной сети нужен граф, и какую он совершил ошибку, что она распространяется обратно? У вас есть проект с компьютерным зрением или, может быть, делаете межгалактического робота для борьбы с грязными тарелками, и хотите, чтобы он мог сам решать, отмывать или и так сойдет?

Мы запускаем открытый курс «Нейронные сети и компьютерное зрение», который адресован тем, кто в этой области делает первые шаги. Курс разработан экспертами Samsung Research Russia: Исследовательского центра Samsung и Центра искусственного интеллекта Samsung в Москве. Сильные стороны курса:

  • авторы курса знают, о чем говорят: это инженеры московского Центра искусственного интеллекта Samsung, Михаил Романов и Игорь Слинько;
  • есть как теория с задачками, так и практика на PyTorch
  • приступаем к практике сразу после освоения минимальных теоретических знаний.
  • лучшие студенты будут приглашены на собеседование в Samsung Research Russia!


Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии17

Шпаргалка по аббревиатурам C++ и не только. Часть 1: C++

Время на прочтение20 мин
Количество просмотров57K
Когда-то я собеседовался на должность C++ разработчика в одну приличную и даже известную контору. Опыт у меня тогда уже кое-какой был, я даже назывался ведущим разработчиком у тогдашнего своего работодателя. Но на вопросы о том, знаком ли я такими вещами, как DRY, KISS, YAGNI, NIH, раз за разом мне приходилось отвечать «Нет».

Собеседование я с треском провалил, конечно. Но упомянутые аббревиатуры потом загуглил и запомнил. По мере чтения тематических статей и книг, подготовок к собеседованиям и просто общения с коллегами я узнавал больше новых вещей, забывал их, снова гуглил и разбирался. Пару месяцев назад кто-то из коллег небрежно упомянул в рабочем чате IIFE в контексте C++. Я, как тот дед в анекдоте, чуть с печки не свалился и опять полез в гугл.


Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии29

Serverless Telegram бот в Яндекс.облаке, или 4.6 копейки за 1000 сообщений

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

Краткое содержание

"Whenever you receive a webhook update, you have two options"
Из Telegram Bot Api Faq


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


Долгое время концепция serverless (а если говорить точнее — её реализация в виде сервиса AWS Lambda) была для меня относительно понятной, но очень абстрактной идеей. Она часто звучала в Radio-T, обсуждениях на реддите, но никак не входила в мою жизнь. Рабочие проекты живут не в облаке, а домашние — зачем? Виртуалки дешевеют, Docker освоен, и всё отлично работает.


Но презентация Yandex Cloud Functions, и в особенности озвученные цены на этот сервис, дали новую пищу для размышлений.


TL;DR — дождливым пятничным вечером мы напишем простенького Telegram бота на javascript, который сможет отвечать на запросы простыми сообщениями. Если это ваш домашний проект — его использование почти наверняка обойдётся вам значительно дешевле самых бюджетных VPS.


Поехали.

Читать дальше →
Всего голосов 51: ↑48 и ↓3+45
Комментарии46

Make C++ great again!.. in Tula

Время на прочтение11 мин
Количество просмотров21K
Не так давно на базе нашего офиса мы провели бесплатный курс лекций «Современный и эффективный С++» и записали их на видео. Курс был рассчитан на недавно прибывших в наш коллектив программистов, стажеров и всех желающих. В этой статье мы хотели бы осветить цель данного курса, процесс подготовки к нему, подвести итоги. Надеемся, что для кого-то из вас наш курс лекций будет интересен и вы оцените наш труд. Желаем приятного просмотра докладов!

Всего голосов 67: ↑61 и ↓6+55
Комментарии16

AI supremacy: Leela Chess. Или про то, как полностью открытая нейросеть победила

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

Честно говоря, я очень разочарован хабром. Почему никто не осветил такую вещь, как победа нейросетевого подхода с полностью открытым кодом, а? И полностью открытыми нейросетевыми данными? Действительно, ну вот DeepMind Technologies описали как они обучали шахматный ИИ, играющий сам с собой… Только вот код там закрыт, а обучение происходило на кластерах Google, а не распределённо на Nvidia Turing c тензорными ядрами, как в данном случае. Почему мне самому приходится править английскую википедию, чтобы привлечь к этому внимание?

Ладно, что-то я переборщил с эмоциями, наверное. (По ссылке все же есть в комментах упоминания leela.) Это статья эксперимент: способ показать мне, как другая моя статья, излишне популярная, на мой взгляд, повлияет на эту.
Читать дальше →
Всего голосов 36: ↑25 и ↓11+14
Комментарии41

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность