Pull to refresh
34
5.4
BugM @BugM

Уверенный пользователь ПК

Send message

Величайшая мистификация 21 века – «Технические собеседования»

Reading time11 min
Views45K

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

Только тут цель не миллион и не работа мечты, а очередная галера.

Читать далее

Парсили сайты, парсим и будем парсить. И не нужно этому мешать

Reading time12 min
Views18K

Здравствуйте, меня зовут Максим Кульгин. Моя компания xmldatafeed.com занимается парсингом много лет. На днях мы вернули 16 000 руб. клиенту, так как не смогли парсить весь iherb.com с нужной клиенту скоростью (а там очень много товаров). Проверил и оказалось, что это единичный случай за весь год и родилась эта, чуть-чуть философская статья.

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

Читать далее

Не тормози, не тормози…

Reading time6 min
Views19K

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

0. Принимаем за аксиому тот факт, что отображаемая на экране приложения Яндекс.Такси стоимость заказа после нажатия на кнопку «Заказать» может измениться. Грубо говоря, увидели вы, что маршрут будет выполнен за условные 200 рублей, нажали на кнопку «Заказать», и вуаля – вы едете уже за 250. Дополнительно принимаем за аксиому тот факт, что вы можете опоздать на несколько минут и вам насчитают платное ожидание.

1. Молчаливое согласие часто означает, что сильный берёт всё, что захочет, а слабый отдаёт и терпит, потому что ничего не может переменить.

Гражданский кодекс РФ и сидящая в его основе правовая система считают, что договор заключается тогда, когда между сторонами достигнуто соглашения по всем существенным условиям договора. Такое соглашение может быть достигнуто и тогда, когда одна сторона принимает (акцептует) направленные другой стороной условия (оферту). Причем такой акцепт должен быть полным и безоговорочным, во всяком случае, в отношении существенных условий.

Яндекс регулирует этот вопрос в пункте 1.3. Пользовательского соглашения, в котором говорится, что «Начиная использовать Сервис/его отдельные функции, Пользователь считается принявшим настоящие Условия … в полном объеме, без всяких оговорок и исключений. В случае несогласия Пользователя с какими-либо из положений Условий Пользователь не вправе использовать Сервис…».

Читать далее

Почему внедрение ветрогенераторов в советское время не увенчалось успехом?

Level of difficultyEasy
Reading time7 min
Views34K

В нашей стране вопрос о ветроэнергетике стал на повестку дня позже, чем на Западе. Многие отечественные историки пишут, что впервые об этом побеспокоился Ленин еще в 1918 году в «Наброске плана научно-технических работ». Правда, сказал он о них как-то неопределенно и вскользь, лишь упомянул «водные силы и ветряные двигатели вообще». Ленин почти 20 лет прожил в эмиграции в Европе, читал тамошнюю прессу и поневоле был в курсе европейских и американских достижений в этой области. Однако в плане ГОЭЛРО, утвержденном им в 1920 году, про ветроэлектрогенераторы нет ни слова. О том, как внедряли ветрогенераторы в советское время и что с ними стало, читайте в нашей статье.

Читать далее

«Если заинтересованы большие деньги, то возможно всё»: Максим Горшенин об «Эльбрусах» и российской микроэлектронике

Reading time9 min
Views24K

Россия производит свои собственные процессоры «Эльбрус», которые достойны не мемов, а полноценной конкуренции с гигантами вроде «Intel». Наследие некогда великой советской микроэлектроники нашло свое место и продолжило развиваться. Почему собственные процессоры — залог суверенитета? Как балльная система может уничтожить российские разработки и есть ли у них будущее? Мы поговорили об этом с Максимом Горшнениным, независимым экспертом в сфере микроэлектроники, работавшим в МЦСТ 7 лет.

Читать интервью

Настолько ли общество прогнило?

Reading time5 min
Views74K

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

Читать далее

Производительность: нюансы против очевидностей. JDK edition

Reading time51 min
Views8.8K

Привет, это продолжение статьи, в которой я разбирал разные неочевидные вещи из мира производительности. В этот раз будем копать ещё глубже, хоть и начнём с относительно простых примеров. И да, в этой статье будет много интересного про строки. Да, несмотря на "Катехизис j.l.String", "The Lord of the Strings: Two Scours" и несколько моих статей (раз, два, три, четыре) там всё ещё есть куда копать :)

Читать далее

Илья «Shvembldr» Борисов заработал €8,7 млн на продаже NFT, а потом его объявили преступником

Reading time3 min
Views27K

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

Читать далее

Функциональные интерфейсы в Java 8 → Consumer, Supplier, Predicate и Function. Что к чему и зачем нужны

Reading time4 min
Views74K

Java представила поддержку функционального программирования в выпуске Java версии 8. В этой статье мы разбираем несколько функциональных интерфейсов, а именно: Потребитель (Consumer), Поставщик (Supplier), Предикат (Predicat) и Функция (Function), которые являются наиболее важными.

Читать далее

Получение generic-типа в runtime

Reading time5 min
Views17K


В Java 5 появились generic-типы, а вместе с ним и концепция type erasure, которая буквально означает стирание информации о generic-типе после компиляции. Действительно, во многих случаях это просто синтаксический сахар, помогающий писать типо-безопасный код на уровне компиляции, и в runtime с такими типами работать нельзя. Например, невозможно получить тип T внутри ArrayList<T>, поэтому он в своей реализации создает массив Object[], а не T[] для хранения элементов.

Однако, в ряде случаев это очень даже возможно. Например, можно объявить поле

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanPostProcessor;
...
@Autowired
private Set<BeanPostProcessor> beanPostProcessors;

и spring в него заинжектит все объекты контекста, которые реализуют интерфейс BeanPostProcessor.

Можно написать и так:

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
...
List<String> strings = new ObjectMapper()
     .readValue("[1, 2, 3]", new TypeReference<>() {});
// все элементы strings - строки (не Integer и не Long)
List<Integer> ints = new ObjectMapper()
     .readValue("[1, 2, 3]", new TypeReference<>() {});
// все элементы ints - Integer (не String и не Long)

Можно написать даже так:
Читать дальше →

«Я видел будущее автомобилей, и оно электрическое»

Reading time6 min
Views15K

Я никогда не считал себя «автолюбителем». Последней новой машиной, которую я купил, был необычный Ford Contour SVT 1998 года выпуска. С тех пор в 2011 году и мы купили универсал VW и минивэн Honda в 2012 году для семейных перевозок. Ну и всё. 

Универсал имел смысл для семьи из 3 человек. Но когда у нас родились близнецы, стал маловат. Как однажды сказал Марк Твен: «Сейчас достаточно одного ребенка. Пока вы в здравом уме, никогда не молитесь за близнецов. Близнецы — это постоянный бунт. И нет никакой реальной разницы между тройняшками и восстанием» Поэтому мы думали над покупкой минивэна. Однако сейчас у нас Kia Niro 2019 года. И это не минивэн. И он электрический.

Читать далее

Астрологи объявили сезон Java на Хабре

Reading time13 min
Views53K

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

С 1 июля по 15 августа мы объявляем сезон Java (количество джавистов в комментариях увеличилось вдвое). Сезон — это конкурс технических статей, который Хабр проводит вместе с разными компаниями, на этот раз — со Сбером. Там, кстати, работает немало джавистов и открыты вакансии для Java-разработчиков.

Победителя сезона ждут призы, а всех участников — повышенные охваты постов. Судьба Java-хардкора в ваших руках: исход соревнования решат читатели.

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

Узнать про сезоны

Параллельный импорт. Часть 2. “Не бойся, я их пронесу!”

Reading time6 min
Views16K

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

Читать далее

Параллельный импорт. Часть 1. Голая правда о поставках прямо “из-под стола”

Reading time5 min
Views66K

Сегодня параллельный импорт — это то, на что надеются многие. С ним связывают дальнейшее положение дел на рынке электроники в России. Некоторые люди ждут от параллельного импорта снижения цен, другие — увеличения доступности разных товаров. Ряд чиновников вообще превратили фразу “параллельный импорт” в мантру и просто повторяют ее, “чтобы стало лучше”. Поэтому мне очень хочется рассказать о том, как на самом деле работает сегодня параллельный импорт, для каких категорий товаров он может оправдать надежды и что будет с гарантией. Интересно? Тогда давайте под кат! 

Читать далее

Забанят ли Википедию в России?

Reading time23 min
Views33K

Википедия всё чаще упоминается в контексте возможного ограничения доступа к ней. Но насколько оно реально? Постараюсь раскрыть вероятные последствия запретительных действий. И на основании этого предположить возможное развитие ситуации.

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

Погрузиться в глубины без дна

Яндекс выложил в опенсорс YDB

Reading time16 min
Views154K
Сегодня мы выложили в опенсорс систему управления базами данных YDB — плод многолетнего опыта Яндекса в разработке систем хранения и обработки данных. Исходный код, документация, SDK и все инструменты для работы с базой опубликованы на GitHub под лицензией Apache 2.0. Развернуть базу можно как на собственных, так и на сторонних серверах — в том числе в любых облачных сервисах.



YDB решает задачи в одной из самых критичных областей — позволяет создавать интерактивные приложения, которые можно быстро масштабировать по нагрузке и по объёму данных. Мы разрабатывали её, исходя из ключевых требований к сервисам Яндекса. Во-первых, это катастрофоустойчивость, то есть возможность продолжить работу без деградации при отключении одного из дата-центров. Во-вторых, это масштабируемость на десятки тысяч серверов на чтение и на запись. В-третьих, это строгая консистентность данных.

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

Не делайте лишних колонок в ваших таблицах, вам это не нужно

Reading time4 min
Views12K

Всем привет.

Я люблю базы данных, люблю строить запросы, люблю проектировать БД. Раскладывать по полочка, систематизировать это моё любимое занятие. Конечно первые годы я проектировал таблицы БД как меня научили в ВУЗе - каждому свойству отдельная колонка.

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

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

(Проходит год, на Хабре публикуют перевод статьи: "Пока-пока, MongoDB: почему компании переходят на PostgreSQL", ровно о том же, документарные БД легко сделать на колонке с типом JSON)

Речь конечно об Online Transaction Processing (OLTP). Когда нам надо получить данные по одной сущности, например, показать профиль пользователя, или показать товарные позиции определённого заказа.

Ниже я расскажу о продвинутом способе хранения данных.

Читать далее

Про поддержку сайтов с национальными сертификатами в Яндекс Браузере

Reading time5 min
Views93K
Очень много вопросов по этой теме. Оно и понятно: информации мало, противоречивых интерпретаций много. Для нас тема защиты соединений с сайтами близка. Мы пишем на Хабре об этом уже лет восемь. Например, в своё время мы первыми поддержали DNSCrypt прямо в браузере, первыми начали предупреждать о неизвестных корневых сертификатах в системе, первыми включили шифрование трафика для незащищенных Wi-Fi-сетей.

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

Коротко о главном


  1. Национальный удостоверяющий центр выдаёт сертификаты на домены только тех организаций, которые явно это запросили. Полный список этих доменов публично доступен по адресу www.gosuslugi.ru/tls.
  2. Яндекс Браузер применяет национальные сертификаты не для всего рунета, а только на тех сайтах, которые есть в списке на www.gosuslugi.ru/tls. Попытка применить сертификат на других доменах приведёт к стандартной ошибке и недоступности сайта для пользователя.
  3. Национальные сертификаты используют общепринятую открытую криптографию и работают по стандартным правилам (это обычный RSA с длинным ключом, ровно такой же, какой выписывают другие центры сертификации).
  4. Мы работаем над поддержкой стандарта Certificate Transparency и планируем создать публичный лог, в который будут вноситься все выпускаемые национальным центром сертификаты. Мы надеемся, что другие представители индустрии поддержат эту инициативу и запустят дополнительные публичные логи. Это позволит добиться прозрачности в работе с национальными сертификатами.

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

Позиция Хабра по происходящему

Reading time2 min
Views133K

Привет, друзья!

Сначала три абзаца с предысторией:

1. С самого запуска Хабра на нём появились правила, многие пункты которых неизменны до сих пор. Одно из них звучит так: «Хабр не для политики». Кто-то улыбнётся и напишет грубое «так она давно уже не работает у вас, вы где были, алло?!», а кто-то тут же добавит «если игнорировать политику, то она займётся тобой». А ещё через 10 минут пользователи начнут на эмоциях оскорблять друг друга, минусовать и вешать ярлыки, обобщать и искать идеологических врагов между строк комментариев. Увы, некоторые пользователи способны устроить подобную дискуссию в любом посте вне зависимости от его темы.

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

3. Внутри Хабра своё предназначение мы видим как раз в объединении людей, увлечённых IT и всем, что связано с IT. Мы не хотим, чтобы кто-то использовал Хабр как рупор для провокации наших же пользователей, даже если новости IT-мира уходят на второй план на фоне новостей мирового масштаба. Наоборот — чем больше в мире разобщённости, тем важнее нам сохранять сплочённость внутри сообщества.

Теперь три абзаца о ситуации вокруг и нашем отношении к ней.

Читать далее

Юридические аспекты NFT: как создателям NFT защитить свои исключительные права на цифровые активы

Reading time6 min
Views9K

Пожалуй, сейчас трудно найти человека, который ни разу до сегодняшнего дня не слышал про NFT.  NFT (non-fungible tokens, невзаимозаменяемые токены) с каждым днем набирают все большую популярность, и представляют собой новый, и по этой причине ещё не урегулированный в правовом отношении источник дохода. Доход можно получать от продажи NFT в качестве цифрового имущества посредством заключения смарт-контрактов на аукционной NFT-площадке, а также от размещения и продажи NFT-объектов в рамках различных, в том числе игровых, метавселенных. Помимо того, что NFT представляют собой цифровой актив, они также являются объектами интеллектуальной собственности, т.к. представляют собой результат интеллектуальной деятельности человека. С учетом технологических особенностей сети Интернет, возникают вопросы надлежащей правовой защиты исключительных прав на создаваемые NFT.

Особенности NFT как объекта исключительных прав

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

Для понимания NFT в качестве объекта интеллектуальной собственности рассмотрим пример. Проданная на NFT-аукционе картина цифрового художника Beeple (Майка Винкельманна) представляет собой токен, в метаданных которого указана ссылка на оригинальную цифровую картину автора. Beeple является автором и правообладателем картины не потому что он сделал NFT, а потому что он является создателем картины – тем, кто облек ее в объективную форму путем редактирования на своем компьютере или на любом другом девайсе, который использует автор в своем творческом процессе. Любое третье лицо, которое сделает NFT с картиной Beeple, не станет обладателем исключительных прав на саму картинку. Ее правообладателем останется Beeple. Передача токена также сама по себе не является способом выдачи лицензии, если это прямо не сказано в договоре между сторонами.

Читать далее

Information

Rating
1,604-th
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity