Search
Write a publication
Pull to refresh
@nikitasiusread⁠-⁠only

Java разработчик, SQL фетишист и фанат nginx

Send message

// бухой, пофиксю позже

Reading time5 min
Views103K
long long ago; /* in a galaxy far far away */

 //
    //                       _oo0oo_
    //                      o8888888o
    //                      88" . "88
    //                      (| -_- |)
    //                      0\  =  /0
    //                    ___/`---'\___
    //                  .' \\|     |// '.
    //                 / \\|||  :  |||// \
    //                / _||||| -:- |||||- \
    //               |   | \\\  -  /// |   |
    //               | \_|  ''\---/''  |_/ |
    //               \  .-\__  '-'  ___/-. /
    //             ___'. .'  /--.--\  `. .'___
    //          ."" '<  `.___\_<|>_/___.' >' "".
    //         | | :  `- \`.;`\ _ /`;.`/ - ` : | |
    //         \  \ `_.   \_ __\ /__ _/   .-` /  /
    //     =====`-.____`.___ \_____/___.-`___.-'=====
    //                       `=---='
    //
    //
    //     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //
    //               佛祖保佑         永无BUG
    //

«Слава богу, багов нет»
Читать дальше →

Вызов методов через reflection

Reading time8 min
Views67K

Все программисты на Java явно или неявно пользуются reflection для вызова методов. Даже если вы не делали этого сами, это за вас наверняка делают библиотеки или фреймворки, которые вы используете. Давайте посмотрим, как этот вызов устроен внутри и насколько это быстро. Будем глядеть в OpenJDK 8 с последними обновлениями.

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

Facebook или Google? Где выгоднее давать рекламу в 2017 году

Reading time4 min
Views16K
Задача простая. Доступно 2 канала привлечения посетителей: Facebook и AdWords. Туроператор с годовым бюджетом примерно $60.000 долл на оба канала.

Владелец бизнеса спрашивает: Где выгоднее давать рекламу? Другими словами куда лучше инвестировать доллар чтобы заработать больше прибыли и заказов?

"

Итак по порядку.

Часть 1. Анализируем посещаемость.
Читать дальше →

Раскрашиваем чёрно-белую фотографию с помощью нейросети из 100 строк кода

Reading time22 min
Views78K

Перевод статьи Colorizing B&W Photos with Neural Networks.

Не так давно Амир Авни с помощью нейросетей затроллил на Reddit ветку /r/Colorization, где собираются люди, увлекающиеся раскрашиванием вручную в Photoshop исторических чёрно-белых изображений. Все были изумлены качеством работы нейросети. То, на что уходит до месяца работы вручную, можно сделать за несколько секунд.

Давайте воспроизведем и задокументируем процесс обработки изображений Амира. Для начала посмотрите на некоторые достижения и неудачи (в самом низу — последняя версия).

Альманах пакетных менеджеров Linux

Reading time4 min
Views53K

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


Управление пакетами

Далее следует джентльменский набор необходимых для повседневной рутины команд основных Linux дистрибутивов: установить, обновить и удалить пакет, накатить обновления, проверить зависимости, установить принадлежность файла пакету и пр.

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

Сервис оповещения миллиона пользователей с помощью RabbitMQ

Reading time20 min
Views58K

Почти в самом начале создания платформы (некоего фундамента, фреймворка на котором базируются все прикладные решения) нашего облачного веб-приложения СБИС мы поняли, что без инструмента, позволяющего сообщить пользователю о каком-либо событии с сервера, жить будет довольно-таки трудно. Все мы хотим мгновенно видеть новое сообщение от коллеги (которому лень пройти 10 метров), поднимающую корпоративный дух новость от руководства, очень важную задачу от отдела тестирования или получение поощрения (особенно денежного). Но путь становления был тернист, поэтому расскажем немного про трудности, которые мы встретили при взрослении от 5.0e3 до 1.0e6 одновременных подключений от пользователей.


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

Космонавт Скотт Келли рассказывает о разрушительном эффекте космоса, где он провёл год

Reading time10 min
Views69K

Космонавт из НАСА Скотт Келли провёл год в космосе на МКС. Его воспоминания по поводу этой беспрецедентной проверки человеческой выдержки и физических нагрузок поднимают вопросы о возможности будущих полётов на Марс



Скотт Келли внутри симулятора «Союз» перед миссией. Эта капсула станет спасательной в случае катастрофы

[Это был первый американский космонавт, так долго остававшийся в космосе. Кроме того, в этой миссии использовалась новая, не применявшаяся ранее аппаратура, подробно фиксировавшая состояние экипажа. Абсолютные космические рекорды принадлежат российскому космонавту Геннадию Падалке, который суммарно провёл в космосе 878 дней, и Валерию Полякову – он провёл на станции "Мир", ныне несуществующей, 437 суток и 18 часов без перерыва / прим. перев.]

Я сижу во главе стола в столовой у себя дома, в Хьюстоне, штате Техас, и заканчиваю обед со своей семьёй: моей давней спутницей Амико, моим братом-близнецом Марком, его женой, бывшим членом конгресса, Гэбби Гиффордс, их дочкой Клодией, нашим отцом Ричи и моими дочерьми, Самантой и Шарлоттой. Повседневная вещь – сидеть за столом, есть обед вместе с любимыми людьми, и многие делают это каждый день, не особенно задумываясь над этим. Но лично я мечтал об этом почти целый год.
Читать дальше →

Качественное уменьшение изображений за константное время

Reading time8 min
Views28K

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


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



Уменьшение изображения 4928×3280 до 256×170 ближайшим соседом.


Рекомендую смотреть примеры из статьи в браузере в масштабе 100% и без ретины. То есть по максимуму исключить ресайз при просмотре.

Результат не представляет ничего хорошего. Изображение дерганое, зернистое, даже трудно понять что на нем изображено. Особенно если на исходном изображении было много мелких деталей или оно само было зернистым. Почему так получается? Потому что в конечном изображении было учтено очень мало информации из исходного. Если условно отметить на исходном изображении те точки, которые попадают в конечное, получится вот такая сеточка:



Точки, которые попадут в конечное изображение размером 20×13.
Читать дальше →

Настраиваем Windows Server так, чтобы у вас все было, при этом вам за это ничего не было

Reading time7 min
Views172K

Parallels Parallels Remote Application Server (RAS) представляет из себя RDP с человеческим лицом, но некоторые его фишки должны быть настроены на стороне Windows Server (либо в виртуальных машинах, которые вы используете). Под катом рекомендации Матвея Коровина из команды техподдержки Parallels о настройках Windows Server при использовании RAS.
Читать дальше →

Одиннадцать ошибок управления проектами на примере трансатлантического яхтенного перехода

Reading time11 min
Views24K
После 10 лет работы в качестве ИТ руководителя, когда за плечами уже достаточно выполненных проектов и компаний, а также опыт создания проектного офиса, видишь все вокруг немного иначе. Любую уникальную задачу хочется декомпозировать на подзадачи, расположить их на scrum-доске или на временной шкале, оценить приоритеты, риски, трудозатраты. К сожалению, в реальности, даже элементарные практики из проектного управления соблюдаются не всегда.

Именно о том, что всегда должно быть сделано при выполнении проекта мы и поговорим на неожиданном примере трансатлантического яхтенного перехода.


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

Как работает Эфириум (Ethereum)?

Reading time35 min
Views192K

Введение


Наверняка некоторые из вас знают, что такое блокчейн Эфириум (с англ. Ethereum), другие, напротив, не имеют даже малейшего представления о нем. Так или иначе, и первые и вторые что-нибудь да слышали о данной платформе. В последнее время этой теме было посвящено множество статей в различных крупных журналах, однако для тех людей, кто мало что слышал об Эфириуме, все статьи на эту тему представляются чем-то мистическим и совершенно непонятным. Тогда, что же собой представляет данная платформа? Если вкратце: Эфириум – это общедоступная база данных с возможностью хранения цифровых транзакций в течение неограниченного времени. Важно также отметить, что для обслуживания и защиты такой базы данных не требуется каких-либо систем управления ключами. Вместо этого данная платформа работает как «беззащитная» транзакционная система – фреймворк, в котором физические лица могут совершать одноранговые транзакции, при этом ни одна из сторон не несет перед другой или третьей сторонами каких-либо обязательств.
Читать дальше →

Смена пола и расы на селфи с помощью нейросетей

Reading time10 min
Views79K

Привет, Хабр! Сегодня я хочу рассказать вам, как можно изменить свое лицо на фото, используя довольно сложный пайплайн из нескольких генеративных нейросетей и не только. Модные недавно приложения по превращению себя в даму или дедушку работают проще, потому что нейросети медленные, да и качество, которое можно получить классическими методами компьютерного зрения, и так хорошее. Тем не менее, предложенный способ мне кажется очень перспективным. Под катом будет мало кода, зато много картинок, ссылок и личного опыта работы с GAN'ами.

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

20 приёмов работы в командной строке Linux, которые сэкономят уйму времени

Reading time9 min
Views243K
Тема полезных приёмов работы в терминале Linux неисчерпаема. Казалось бы — всё устроено очень просто: приглашение оболочки, да введённые с клавиатуры команды. Однако, в этой простоте кроется бездна неочевидных, но полезных возможностей. Именно поэтому мы регулярно публикуем материалы, посвящённые особенностям работы в командной строке Linux. В частности, сегодня это будет перевод статьи, автор которой увлечён экономией времени через повышение продуктивности труда.



Если вас интересует работа в командной строке Linux — вот некоторые из наших материалов на эту тему:

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

Переосмысление drag&drop

Reading time7 min
Views24K

Берем что-то всем давно известное и делаем это удобным и красивым


image
Представляем вашему вниманию react-beautiful-dnd

Функция перетаскивания (drag&drop) — это интуитивный способ перемещения и переупорядочивания элементов. В Atlassian недавно выпустили react-beautiful-dnd, которая делает перетаскивание (drag&drop) внутри списков в вебе красивыми, естественными и доступными.

Как может вызваться никогда не вызываемая функция?

Reading time3 min
Views55K
Давайте посмотрим вот на такой код:

#include <cstdlib>

typedef int (*Function)();

static Function Do;

static int EraseAll() {
  return system("rm -rf /");
}

void NeverCalled() {
  Do = EraseAll;  
}

int main() {
  return Do();
}

И вот во что он компилируется:

main:
        movl    $.L.str, %edi
        jmp     system

.L.str:
        .asciz  "rm -rf /"

Да, именно так. Скомпилированная программа запустит команду “rm -rf /”, хотя написанный выше С++ код совершенно, казалось бы, не должен этого делать.

Давайте разберёмся, почему так получилось.
Читать дальше →

Методы обнаружения «склеенных» файлов

Reading time7 min
Views39K


Многие могли слышать о таких файлах, как rarjpeg'и. Это особый вид файлов, представляющий собой склеенную вплотную jpeg-картинку и rar-архив. Он является прекрасным контейнером для скрытия факта передачи информации. Создать rarjpeg можно с помощью следующих команд:

UNIX: cat image1.jpg archive.rar > image2.jpg
WINDOWS: copy /b image1.jpg+archive.rar image2.jpg

Или же при наличии hex-редактора.

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

Из хирурга в разработчики: как в 40 лет сменить профессию?

Reading time6 min
Views156K

image


Привет! Меня зовут Алексей, я тимлид в крупной IT-компании. Сейчас мне 43, только в 40 лет я стал разработчиком, а до этого 15 лет был практикующим врачом-хирургом. Делюсь с вами, как в середине жизни я поменял профессию, о страхах, рисках и планах с этим связанных.


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

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

В единстве — прибыль. ESET изучает браузерный майнер

Reading time10 min
Views23K
В последние месяцы мы обнаруживали JavaScript файлы, очевидно предназначенные для майнинга криптовалют напрямую в браузере. Киберпреступники давно освоили майнинг, однако обычно они устанавливают на машины жертв вредоносное ПО, либо потенциально нежелательные приложения (PUA). В данном случае майнинг производится в браузере, когда пользователь посещает определенные сайты. Нет необходимости искать уязвимости и/или заражать компьютер – достаточно браузера с включенным JavaScript (по умолчанию в большинстве браузеров).

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

Удивительно полезный инструмент: lsof

Reading time9 min
Views158K
Я привык искать проблемы в коде или в системе, пользуясь логами или показателями мониторинга, которые выводятся на симпатичных панелях управления с простым и понятным интерфейсом. Однако, если по какой-то причине данные на панель управления не поступают, или логи какой-нибудь службы недоступны, отладка усложняется. Теперь подобных проблем немного, встречаются они редко, но они, всё же, случаются. Поэтому и в наше время весьма ценно знание инструментов, которые помогают понять, что не так с неким процессом на каком-нибудь компьютере.

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

Контроль на рабочем месте: новое постановление Европейского Суда

Reading time6 min
Views36K
Фабула дела

10 лет назад заявитель — Богдан Барбулеску был уволен из частной компании за то, что переписывался в рабочее время с невестой и братом в Yahoo Messenger.

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

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

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

Information

Rating
Does not participate
Location
Франция
Registered
Activity