Pull to refresh
5
0
Макс Королев @nrjshka

Software Engineer

Send message

Solidity: mapping

Reading time6 min
Views9.2K

Концепция mapping в Solidity аналогична HashMap в Java или dict в Python.

Нет ничего лучше, чем аналогия с реальным миром, чтобы понять, что такое mapping в Solidity и как он себя ведет. Следующий пример был взят из поста на Reddit:

"Хеш-таблица(= mapping) похожа на гардероб. Вы сдаете свою куртку и получаете номерок. Всякий раз, когда вы возвращаете этот номерок, вы немедленно получаете свою куртку. В гардеробе может быть много курток, но вы все равно получите свою куртку обратно. В гардеробе происходит много волшебства, но вам все равно, потому что главное это то, что вы немедленно получите свою куртку обратно."

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments1

Solidity: комментарии

Reading time8 min
Views2.7K

Комментарии используются для того, чтобы объяснить что делает код. Роберт С. Мартин ("дядюшка" Боб) утверждает, что «правильное использование комментариев должно компенсировать нашу неспособность выразить что-то в коде». Поэтому комментарии делают исходный код более понятным для человека.


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

Читать далее
Total votes 3: ↑2 and ↓1+3
Comments2

Работа за границей. Переезд в Швецию

Reading time6 min
Views26K

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

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

Читать далее
Total votes 19: ↑11 and ↓8+9
Comments28

ШМЯ или не ШМЯ? Путь от разработчика до продакт-менеджера

Reading time8 min
Views9.5K

Трудно представить хоть одну современную компанию, в которой нет человека, занимающего должность с гордым названием «Менеджер». Все прекрасно знают, что менеджер – это «управленец», но кем и чем управляет продакт-менеджер? Сейчас это понятие настолько размыто, что трудно с уверенностью сказать, кто такой продакт, какие задачи перед ним стоят, и какая ответственность ложится на его плечи. 

Одним из самых важных шагов на моем пути становления продакт-менеджером было решение поступить в Школу Менеджеров Яндекса. Это шанс извлечь бесценный опыт, а также возможность получить актуальные знания и начать применять их сразу же на практике. Поступая в 2019 году в ШМЯ, думал ли я, что этот путь окажется простым? Разумеется нет. Я безусловно понимал на что иду и был полон сил и решимости, но до конца не осознавал, с какими трудностями мне придется столкнуться. На примере моего личного опыта попробуем разобраться, что же нужно для подготовки и успешного поступления в ШМЯ. Также я поделюсь с вами своей историей и дам советы, которых мне так не хватало в далеком 2019.

Итак, меня зовут Макс, и я успешно закончил Школу Менеджеров Яндекса в 2019 году, получил приглашение на стажировку и реализовал себя в качестве продакт-менеджера в «Яндекс». На словах звучит довольно просто, но через что нужно пройти, чтобы добраться до конечной цели в этом нелегком пути? 

Читать далее
Total votes 4: ↑2 and ↓2+1
Comments7

Написание собственной работоспособной ОС за полгода

Reading time4 min
Views89K
image

Предыстория


Здравствуйте! Всех категорически приветствую, сегодня хотел бы рассказать Вам о своём опыте написание работоспособной ОС под архитектуру x86.

Как-то весенней ночью у меня родилась гениальная идея — попробовать себя в написании собственной ОС, которая может позволить запускать программы, работать с устройствами, да и в общем выжимать всю мощь из Intel'овской архитектуры в своих нуждах: к примеру, для своей фабрики или чего-либо иного. Моей целью было и есть написание такой ОС, которая могла бы позволить максимальную производительность для каких-то конкретных задач, не тратя процессорное время на всяческие излишества. В основном я преследую лишь спортивный интерес, получение опыта для себя в системном программировании и написания драйверов для устройств, которые используются повсеместно. Что из этого вышло — решать вам, сразу говорю, что не надо писать комментарии про создание собственного дистрибутива линукса, и преследовал интерес написать всё «From scratch» — с нуля, дабы хорошо погрузиться в тему ОСдева. Сразу хочу выразить огромную благодарность Бенджамину Лунту и форуму OSDev, так же как их Вики. Бен помог мне разобраться с EHCI, что несомненно внесло огромный вклад в мою ОС — USB устройства, они везде! Так же передо мной стояла задача создать собственную архитектуру, удобную мне, не исключая использование стандартов ELF-файлов.
Читать дальше →
Total votes 196: ↑187 and ↓9+178
Comments207

Как мы написали фриланс-биржу для Telegram

Reading time12 min
Views26K


Добрый день, дорогие Хабравчане! Сегодня решил рассказать вам о нашем опыте создания бота для Telegram на Node.js практически без опыта серверной разработки и на добровольных началах. Сразу оговорюсь: у меня за спиной чуть больше четырех лет разработки под iOS, у остальных членов команды тоже был опыт разработки от одного до шести лет в смежных областях. Для большинства из нас это был первый случай использования Node.js в сравнительно большом проекте. Как мы это сделали, зачем мы это сделали, почему фриланс-биржа и как она отличается от классических моделей, какие у нас были проблемы и как мы с ними боролись – под катом!
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments29

Руководство по SEO JavaScript-сайтов. Часть 1. Интернет глазами Google

Reading time15 min
Views33K
Представляем вашему вниманию перевод первой части материала, который посвящён поисковой оптимизации сайтов, построенных с использованием JavaScript. Речь пойдёт об особенностях сканирования, анализа и индексирования таких сайтов поисковыми роботами, о проблемах, сопутствующих этим процессам, и о подходах к решению этих проблем.

В частности, сегодня автор этого материала, Томаш Рудски из компании Elephate, расскажет о том, как сайты, которые используют современные JS-фреймворки, вроде Angular, React, Vue.js и Polymer, выглядят с точки зрения Google. А именно, речь пойдёт о том, как Google обрабатывает сайты, о технологиях, применяемых для анализа страниц, о том, как разработчик может проанализировать сайт для того, чтобы понять, сможет ли Google нормально этот сайт проиндексировать.

image

JavaScript-технологии разработки веб-сайтов в наши дни весьма популярны, поэтому может показаться, что они уже достигли достаточно высокого уровня развития во всех мыслимых направлениях. Однако, в реальности всё не так. В частности, разработчики и SEO-специалисты всё ещё находятся в самом начале пути к тому, чтобы сделать сайты, построенные на JS-фреймворках, успешными в плане их взаимодействия с поисковыми системами. До сих пор множество подобных сайтов, несмотря на их популярность, занимают далеко не самые высокие места в поисковой выдаче Google и других поисковых систем.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments6

Блокчейн: возможности, структура, ЭЦП и задание для студента, часть 1

Reading time7 min
Views33K

Предисловие


Работаю ассистентом в вузе (как хобби), решил написать несколько лабораторных для студентов по дисциплине «распределенные системы». В первой части будет рассказано про возможности блокчейна, структуру и ЭЦП, а во второй части про: проверку подписи, майнинг и примерную организацию сети. Отмечу, что не являюсь специалистом по распределенным системам (организация сети может быть неверной).
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments2

Как я сделал AI для выявления фейковых новостей с точностью в 95% и чуть не рехнулся

Reading time6 min
Views54K
Краткий пересказ: мы сделали программу, определяющую надежность новостей с точностью 95% (на валидационной выборке) при помощи машинного обучения и технологий обработки естественного языка. Скачать ее можно здесь. В условиях реальной действительности точность может оказаться несколько ниже, особенно по прошествии некоторого времени, так как каноны написания новостных статей будут меняться.

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



С этим можно поспорить, но, на мой взгляд, самый сложный этап в создании собственной модели машинного обучения — сбор материалов для обучения. Когда я обучал модель для распознавания лиц, мне пришлось несколько дней собирать фотографии каждого из игроков лиги НБА в сезоне 2017/2018. Теперь же я и не подозревал, что мне придется провести погруженным в этот процесс несколько мучительных месяцев и столкнуться с очень неприятными и жуткими вещами, которые люди пытаются выдать за настоящие новости и надежную информацию.
Читать дальше →
Total votes 53: ↑46 and ↓7+39
Comments44

Не мы такие — жизнь такая: Тематический анализ для самых нетерпеливых

Reading time13 min
Views15K
bayesian

Почему?


Сейчас Relap.io генерирует 40 миллиардов рекомендаций в месяц на 2000 медиаплощадках Рунета. Почти любая рекомендательная система, рано или поздно, приходит к необходимости брать в расчет содержимое рекомендуемого контента, и довольно быстро упирается в необходимость как-то его классифицировать: найти какие-то кластеры или хотя бы понизить размерность для описания интересов пользователей, привлечения рекламодателей или еще для каких-то темных или не очень целей.

Задача звучит довольно очевидно и существует немало хорошо зарекомендовавших себя алгоритмов и их реализаций: Латентное размещение Дирихле (LDA), Вероятностный латентно-семантический анализ (pLSA), явный семантический анализ (ESA), список можно продолжить. Однако, мы решили попробовать придумать что-нибудь более простое, но вместе с тем, жизнеспособное.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments17

Подборка: Более 70 источников по машинному обучению для начинающих

Reading time5 min
Views103K


Индикатор кулачкового аналогового компьютера / Wiki

В нашем блоге мы уже рассказывали о разработке системы квантовой связи и о том, как из простых студентов готовят продвинутых программистов. Сегодня мы решили вернуться к теме машинного обучения и привести адаптированную (источник) подборку полезных материалов.
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments16

Дайджест Университета ИТМО: материалы для тех, кто хочет влиться в Data Science

Reading time6 min
Views20K
Сегодня мы подготовили для вас дайджест, в котором постарались собрать самые интересные литературные источники, статьи, видеокурсы и лекции (в том числе подготовленные силами преподавателей, студентов и сотрудников Университета ИТМО), которые позволят познакомиться с Data Science.

Эти материалы затрагивают как теоретические аспекты работы с данными, так и практические — направленные на создание алгоритмов и написание программ.

Total votes 28: ↑26 and ↓2+24
Comments2

Добро пожаловать в эру глубокой нейроэволюции

Reading time10 min
Views20K
image

От имени команды Uber AI Labs, которая также включает Joel Lehman, Jay Chen, Edoardo Conti, Vashisht Madhavan, Felipe Petroski Such и Xingwen Zhang.

В области обучения глубоких нейронных сетей (DNN) с большим количеством слоев и миллионами соединений, для тренировки, как правило, применяется стохастический градиентный спуск (SGD). Многие полагают, что способность SGD эффективно вычислять градиенты является исключительной особенностью. Однако мы публикуем набор из пяти статей в поддержку нейроэволюции, когда нейронные сети оптимизируются с помощью эволюционных алгоритмов. Данный метод также является эффективным при обучении глубоких нейронных сетей для задач обучения с подкреплением (RL). Uber имеет множество областей, где машинное обучение может улучшить его работу, а разработка широкого спектра мощных подходов к обучению (включая нейроэволюцию), поможет разработать более безопасные и надежные транспортные решения.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments3

Как читать математику

Reading time16 min
Views61K
Математика — это «язык, который ни читать, ни понять невозможно без инициации» (Эдвард Ротштейн, «Эмблемы ума»)

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

Для математики существует особый протокол чтения. Как мы учимся читать литературу, так и математику мы должны научиться читать. Школьникам следует изучать протокол чтения для математики так же, как они учатся правилам чтения романа или стихотворения, учатся понимать музыку и живопись. Замечательная книга «Эмблемы ума» Эдварда Ротштейна выявляет взаимосвязь между математикой и музыкой, неявно затрагивая протоколы чтения для математики.
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments16

Машинное обучение — это легко

Reading time7 min
Views345K
В данной статье речь пойдёт о машинном обучении в целом и взаимодействии с датасетами. Если вы начинающий, не знаете с чего начать изучение и вам интересно узнать, что такое «датасет», а также зачем вообще нужен Machine Learning и почему в последнее время он набирает все большую популярность, прошу под кат. Мы будем использовать Python 3, так это как достаточно простой инструмент для изучения машинного обучения.
Читать дальше →
Total votes 51: ↑44 and ↓7+37
Comments20

Исчерпывающий справочник по JavaScript для вашего следующего собеседования

Reading time6 min
Views53K
Перевод статьи Gustavo Azevedo The Definitive JavaScript Handbook for your next developer interview.



JavaScript был и продолжает быть самым популярным языком программирования, согласно опросу Stack Overflow Survey. Неудивительно, что 1/3 всех вакансий требуют знания JavaScript. Поэтому, если вы планируете работать разработчиком в ближайшем будущем, то вам следует ознакомиться с этим черезвычайно популярным языком.

Цель публикации — собрать в одном месте все концепции JavaScript, которые часто встречаются на собеседовании.
Читать дальше →
Total votes 34: ↑23 and ↓11+12
Comments26

DPI мобильных операторов: от бесплатного интернета до раскрытия номера и местоположения

Reading time11 min
Views178K
Системы глубокого анализа трафика (Deep Packet Inspection, DPI) — программно-аппаратные комплексы для классификации проходящего интернет-трафика по типу данных (веб-страница, документ, аудио, видео), протоколу (HTTP, BitTorrent, VoIP/SIP) и конкретным программам (Skype, WhatsApp), зачастую обладающие дополнительной функциональностью. Системы DPI распространены и используются по всему миру продвайдерами проводного и беспроводного доступа.

Мобильные операторы используют системы глубокого анализа трафика, прежде всего, для приоритизации разного контента в интернете (QoS), чтобы можно было одновременно скачивать большой файл и смотреть видео на YouTube, и чтобы один пользователь сотовой сети, активно использующий интернет, не создавал проблем другим пользователям. Операторы используют DPI примерно с начала двухтысячных, с приходом UMTS (3G), чтобы более-менее честно разделять беспроводной канал ограниченной пропускной способности.

Мобильные операторы используют и другие возможности DPI, например, ускорение TCP и HTTP-трафика (TCP PEP, Performance-enhancing Proxy), для ускорения интернета в мобильных сетях и идентификации пользователей веб-сайтами. Если попытаться зайти в личный кабинет оператора с телефона, на многих операторах он откроется сразу, без необходимости ввода логина и пароля. Или, что можно было встретить лет 5 назад, простой заход на подозрительный веб-сайт или клик по рекламному баннеру из Android-игры оборачивался автоматической подпиской на платную услугу, о чем можно было узнать из СМС-сообщения.
Читать дальше →
Total votes 196: ↑194 and ↓2+192
Comments121

Войти в АйТи

Reading time5 min
Views60K

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


Включаем музычку и поехали.


Читать дальше →
Total votes 107: ↑73 and ↓34+39
Comments169

Information

Rating
Does not participate
Location
London, England - London, Великобритания
Date of birth
Registered
Activity