Обновить
20
1.7
BugM@BugM

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

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

SEO Выводы из утечки кода поисковика Яндекс

Время на прочтение6 мин
Охват и читатели108K

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

Читать далее

В инновационной системе разгона космических кораблей предлагается обстреливать их дробью

Время на прочтение5 мин
Охват и читатели7.3K


Сегодня космические агентства мира находятся в поисках инновационных идей по разгону космических аппаратов, которые позволят побыстрее добираться до планет и других тел Солнечной системы. Это, например, концепция «Бимодального NTP/NEP с циклом топпинга волнового ротора» от НАСА, которая теоретически позволит добираться до Марса за 45 дней, или китайский ядерный космический аппарат, предназначенный для исследования Нептуна и его крупнейшего спутника, Тритона. Но если подобные идеи и способны предложить нам новые удобные способы исследования нашей планетной системы, выход за её пределы всё ещё представляется чрезвычайно затруднительным мероприятием.

Космический зонд Helios-2, запущенный в 1976 году для исследования солнечной активности, сегодня держит рекорд по максимальной скорости для космических аппаратов – 252 792 км/ч или 70 220 м/с. Для этого ему потребовалось воспользоваться эффектом гравитационной пращи. Но и такому аппарату на достижение ближайшей к нам звезды, Проксима Центавра, расположенной в 4,25 световых годах от Солнца, потребовалось бы около 19 000 лет.
Читать дальше →

На технических собеседованиях даже нормальные люди звереют

Время на прочтение5 мин
Охват и читатели105K
В Сети опубликованы сотни постов о том, что собеседования в IT никуда не годятся, что на них расспрашивают о каких-то частностях или задают вопросы о том, что твердо знает только вчерашний выпускник университета (классический пример – сортировка с помощью двоичного дерева). Все эти выпады справедливы, но я хочу добавить еще один от себя: от собеседований звереют даже нормальные люди.

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

История первая: собеседование прошло отлично. Кандидат был уверен в своих силах, поэтому сотрудник компании забрасывал его новыми и новыми вопросами. Казалось, всё складывается прекрасно… но только казалось. Позже, когда кандидату предложили работу, он ответил отказом и пожаловался на то, что тон собеседования был слишком агрессивным.

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

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

Время на прочтение11 мин
Охват и читатели45K

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

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

Читать далее

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

Время на прочтение12 мин
Охват и читатели21K

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

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

Читать далее

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

Время на прочтение6 мин
Охват и читатели19K

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

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

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели36K

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

Читать далее

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

Время на прочтение9 мин
Охват и читатели25K

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

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

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

Время на прочтение5 мин
Охват и читатели75K

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

Читать далее

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

Время на прочтение51 мин
Охват и читатели9K

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

Читать далее

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

Время на прочтение3 мин
Охват и читатели28K

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

Читать далее

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

Время на прочтение4 мин
Охват и читатели96K

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

Читать далее

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

Время на прочтение5 мин
Охват и читатели20K


В 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)

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

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

Время на прочтение6 мин
Охват и читатели15K

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

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

Читать далее

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

Время на прочтение13 мин
Охват и читатели54K

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

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

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

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

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

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

Время на прочтение6 мин
Охват и читатели17K

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

Читать далее

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

Время на прочтение5 мин
Охват и читатели66K

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

Читать далее

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

Время на прочтение23 мин
Охват и читатели34K

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

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

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

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

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



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

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

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

Время на прочтение4 мин
Охват и читатели12K

Всем привет.

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

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

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

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

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

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

Читать далее

Информация

В рейтинге
1 588-й
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность