Как стать автором
Обновить
0
0
Максим Терентьев @maxangry

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

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

Ко дню рождения Юрия Кнорозова: изучаем основы письменности Майя

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

Письменность майя была единственной полноценной системой письменности в Америке, но благодаря стараниям отважных испанских конкистадоров к XVII веку она была полностью забыта. Тем не менее, тысячи этих символов сохранились на резных камнях, фресках и керамике, и в XX веке обычный советский аспирант выдвинул идею, которая позволила их расшифровать. И данная статья покажет, как устроена эта система.
Читать дальше →
Всего голосов 104: ↑103 и ↓1+102
Комментарии68

40 лучших инструментов и ресурсов Laravel

Время на прочтение16 мин
Количество просмотров30K
image
Привет, Хабр! Представляю вашему вниманию подборку, которая является переводом моей оригинальной статьи.

Если есть идеи что добавить в подборку — буду рад пообщаться в комментах. Наслаждайтесь!
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии24

Типичные ошибки при работе с PostgreSQL. Часть 1

Время на прочтение7 мин
Количество просмотров33K
Чуть более месяца назад в Москве состоялась крупнейшая конференция постгресового сообщества PGConf.Russia 2019, собравшая в МГУ свыше 700 человек. Мы решили выложить видео и расшифровку лучших докладов. Выступление Ивана Фролкова с разбором типичных ошибок при работе с PostgreSQL было отмечено лучшим на конференции, поэтому мы начнем с него.

Для удобства мы разбили расшифровку на две части. В этой статье речь пойдет о непоследовательном именовании, о constraints, о том, где лучше сосредоточить логику — в базе или в приложении. Во второй части будут разобраны обработка ошибок, конкурентный доступ, неотменяемые операции, CTE и JSON.



В нашей компании я занимаюсь поддержкой клиентов по вопросам, связанным с приложениями, то есть помогаю в случаях проблем с соединениями, с оптимизацией запросов и прочими подобными вещами. Насмотрелся я приложений самых разных. Чего я только не видел! Может быть даже больше, чем хотелось бы. Часть из того, что я буду рассказывать, относится не только к PostgreSQL, а к любой базе, но кое-что прежде всего к PostgreSQL.

Главный вывод, который я смог сделать из того, что я видел, довольно неожиданный: фактически любое приложение при должной настойчивости можно заставить работать. Был замечательный проект (я не могу упоминать все компании, с которыми мы работали), в котором еще более замечательное приложение создавало таблицы миллионами. Выглядело это так: в понедельник система работает неплохо, а уже в пятницу она практически не работает. На выходные дни запускают VACUUM FULL, и в понедельник она опять работает хорошо. Оказывается, над PostgreSQL можно вот так издеваться, и всё это довольно долго будет жить и работать. Другой товарищ сделал странную вещь: у него всё было построено на триггерах, процедур не было вообще. То есть большую часть таблиц трогать нельзя, сделать что-либо не получалось, но и эта база жила.
Читать дальше →
Всего голосов 56: ↑56 и ↓0+56
Комментарии39

Night Sight: как телефоны Pixel видят в темноте

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

Слева: iPhone XS (фото в полном разрешении). Справа: Pixel 3 Night Sight (фото в полном разрешении).

Night Sight – новая возможность приложения Pixel Camera, позволяющая делать чёткие и чистые фотографии при очень низком освещении, даже когда света настолько мало, что и ваш глаз мало что видит. Она работает на основной и фронтальной камере всех трёх поколений телефонов Pixel, и ему не требуется штатива или вспышки. В этой статье мы поговорим о том, почему так сложно делать фотографии при плохом освещении, обсудим вычислительную фотографию и технологии машинного обучения, накладываемых на формат HDR+, и позволяющим Night Sight работать.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии45

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

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

Введение


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

Что такое Хэширование? Под капотом блокчейна

Время на прочтение11 мин
Количество просмотров82K
Очень многие из вас, наверное, уже слышали о технологии блокчейн, однако важно знать о принципе работы хэширования в этой системе. Технология Блокчейн является одним из самых инновационных открытий прошлого века. Мы можем так заявить без преувеличения, так как наблюдаем за влиянием, которое оно оказало на протяжении последних нескольких лет, и влиянием, которое оно будет иметь в будущем. Для того чтобы понять устройство и предназначение самой технологии блокчейн, сначала мы должны понять один из основных принципов создания блокчейна.
Читать дальше →
Всего голосов 22: ↑13 и ↓9+4
Комментарии5

Модифицируем Python за 6 минут

Время на прочтение6 мин
Количество просмотров16K
Всем доброго и неумолимо наступающего!

Этот крайне насыщенный год подходит к своему завершению и у нас остался последний курс, который мы запускаем в этом году — "Разработчик full-stack на Python", чему, собственно, и посвящаем заметку, которая хоть и проскочила мимо основной программы, но показалась небезынтересной в целом.

Поехали


На этой неделе я сделал мой первый pull-request в основной проект CPython. Его отклонили :-( Но чтобы не тратить полностью свое время, я поделюсь своими выводами о том, как работает CPython и покажу вам как легко изменить синтаксис Python.

Я собираюсь показать вам как добавить новую фичу в синтаксис Python. Эта фича — оператор инкремента/декремента, стандартный оператор для большинства языков. Чтобы убедиться — откройте REPL и попробуйте:



Уровень 1: PEP


Изменению синтаксиса Python предшествует заявка с описанием причин, дизайна и поведения вносимых изменений. Все изменения языка обсуждаются основной командой Python и одобряются BDFL. Операторы инкремента не утверждены (и, вероятно, никогда не будут), что даёт нам хорошую возможность потренироваться.
Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии8

Жонглируем версиями PHP в системе

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

Проблема “ хочу новую версию %software% на моем стареньк… стабильном Debian/CentOS…” так же стара, как *nix-мир. Способов добиться желаемого хватает. Есть масса решений как притащить в систему несколько версий одного и того же софта. Но дальше хочется не просто иметь ещё одну версию, но и управлять тем, какая из версий доступна в системе по умолчанию, для конкретных приложений или пользователей.


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


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

Laravel — экосистема, а не просто PHP-фреймворк

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


Данная статья предназначена для начинающих веб-разработчиков, а также тех, кто хочет понять, для чего стоит изучить PHP-фреймворк Laravel и какую экосистему он нам предлагает. Статья написана на момент актуальности Laravel версии 5.4, в августе 2017 выйдет релиз Laravel 5.5, который предоставляет ещё больше возможностей.

Содержание:

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

Как прикрутить нормальный поиск к устаревшему SQL-бэкенду

Время на прочтение25 мин
Количество просмотров23K
Предположим, нужно собрать персональную информацию, например, дни рождения, имя, пол, количество детей и т.п., а также некоторые маркетинговые данные — как часто пользователи используют кнопки в корзине мобильного приложения и т.п. У нас уже есть приложение на базе SQL, но (как мы увидим дальше) продолжать использовать SQL для поиска — не лучшая идея. Для поиска придется прикрутить какой-то NoSQL движок.

Как совместить миры SQL и NoSQL? В этой статье будет несколько живых примеров интеграции продвинутого поискового движка Elasticsearch в устаревшие приложения, работающие с RestX, Hibernate и PostgreSQL/MySQL.

Расскажет об этом Дэвид Пилато (David Pilato) — эксперт компании Elastic (это те ребята, что сделали Elasticsearch, Kibana, Beats, and Logstash — то есть, Elastic Stack). У Дэвида есть огромный опыт проведения докладов о продуктах Elastic (конференции Devoxx в Англии, Бельгии и Франции, всевозможные JUG, Web5, Agile France, Mix-IT, Javazone, доклады для конкретных компаний, и так далее). Иначе говоря, излагает Дэвид весьма понятно и доходчиво, а его доклады заменяют тренинги за сотни нефти.

В основе этой публикации — доклад Дэвида на конференции Joker 2016, которая прошла в Санкт-Петербурге в минувшем октябре. Тем не менее, обсуждаемые темы за прошедший год никак не потеряли актуальности.

Статья доступна в двух вариантах: видеозапись доклада и полная текстовая расшифровка (жмите кнопку «читать дальше»  ⇩). В текстовом варианте все необходимые данные представлены в виде скриншотов, так что вы ничего не потеряете.


Всего голосов 33: ↑33 и ↓0+33
Комментарии12

Blockchain глазами разработчика

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


Зачем этот рассказ? Когда я изучал blockchain по открытым источникам, например по Википедии, информация казалась отрывочной и бессвязной. Прошло время, прежде чем она сложилась в целостную картину. Кажется, я знаю, в каком порядке и какими словами описать введение в blockchain, чтобы любой профессиональный разработчик смог понять общую картину за 1—1,5 часа. В тексте будут некоторые упрощения. Понятно, что в любой теме есть много деталей, куда можно при желании погрузиться.

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

Краткий курс машинного обучения или как создать нейронную сеть для решения скоринг задачи

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

Мы часто слышим такие словесные конструкции, как «машинное обучение», «нейронные сети». Эти выражения уже плотно вошли в общественное сознание и чаще всего ассоциируются с распознаванием образов и речи, с генерацией человекоподобного текста. На самом деле алгоритмы машинного обучения могут решать множество различных типов задач, в том числе помогать малому бизнесу, интернет-изданию, да чему угодно. В этой статье я расскажу как создать нейросеть, которая способна решить реальную бизнес-задачу по созданию скоринговой модели. Мы рассмотрим все этапы: от подготовки данных до создания модели и оценки ее качества.

Если тебе интересно машинное обучение, то приглашаю в «Мишин Лернинг» — мой субъективный телеграм-канал об искусстве глубокого обучения, нейронных сетях и новостях из мира искусственного интеллекта.

Вопросы, которые разобраны в статье:

• Как собрать и подготовить данные для построения модели?
• Что такое нейронная сеть и как она устроена?
• Как написать свою нейронную сеть с нуля?
• Как правильно обучить нейронную сеть на имеющихся данных?
• Как интерпретировать модель и ее результаты?
• Как корректно оценить качество модели?
Поехали!
Всего голосов 51: ↑42 и ↓9+33
Комментарии43

Относительно надежные способы получения дохода на биржах криптовалют

Время на прочтение12 мин
Количество просмотров69K
В интернете, реклама, поисковые системы или в публичных чатах, постоянно появляются люди, которые с готовностью вам расскажут, как можно заработать много денег без труда и риска. При ближайшем рассмотрении видно что это скорее всего либо мошенник, либо продвигает проекты других мошенников, получая за это некоторую прибыль как рекламодатель. Либо вам будут предлагаться не самые честные способы отъема денег у населения, типа накруток, спама или перепродажи тех же 'кредитов' под 100500% недалеким людям.

Попробую разбавить этот поток мусорной информации чем то полезным, относительно честными и не сильно рискованными способами приумножить свои капиталы.

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

Будьте готовы потратить только те средства, которые готовы потерять.
Читать дальше →
Всего голосов 27: ↑20 и ↓7+13
Комментарии51

Bounty для ICO. Как заработать, не потратив ни копейки

Время на прочтение6 мин
Количество просмотров31K
Каждый проект, запускающий свое ICO, создает Bounty-программу. Это программа поощрения за помощь в продвижении и рекламе ICO. Услуги оплачиваются в токенах проекта, которые вы можете либо сразу продать, либо придержать в надежде на более высокую стоимость в будущем. И самое важное, многие из Bounty-кампаний не потребуют от вас каких-либо больших трудозатрат, вам не придется бегать в поисках инвесторов за комиссионные, все гораздо проще.

Давай рассмотрим какие Bounty-кампании существуют у большинства проектов и сколько на этом можно заработать.


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

Программирование на Python — курс для желающих узнать о нём больше или изучить ещё один язык программирования

Время на прочтение3 мин
Количество просмотров126K
"The joy of coding Python should be in seeing short, concise, readable classes that express a lot of action in a small amount of clear code — not in reams of trivial code that bores the reader to death."
Guido van Rossum

Python — язык программирования, на котором приятно писать и который приятно читать. Мы предлагаем тринадцать лекций осеннего курса CS центра, чтобы посмотреть вглубь языка и попробовать понять, как пользоваться всеми его возможностями. Лекции читает Сергей Лебедев, разработчик в компании JetBrains и преподаватель в Computer Science Center.

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

Фотография сделана осенью 2014 года в Страсбурге, за две недели до начала первого прочтения этого курса.
Открыть лекции курса
Всего голосов 45: ↑42 и ↓3+39
Комментарии32

Если вы хотите следовать своей мечте, скажите «нет» отвлекающим делам

Время на прочтение4 мин
Количество просмотров162K
imageСтатьи, написанные Oliver Emberton, постоянно вызывают повышенный интерес. Сегодня представляем вам перевод самой свежей публикации автора.

Дисклэймер: мы не ставили себе цель дословного или абсолютно точного перевода оригинала. Главное — передать его смысл. Просим помнить об этом при прочтении. Итак, начнем!

Если вы хотите следовать своей мечте, скажите «нет» отвлекающим делам!

Наш мозг порой ведет себя как пляжный мячик, наполненный пчелами. Сотни противоречащих друг другу импульсов толкают нас в разные стороны.
Читать дальше →
Всего голосов 71: ↑57 и ↓14+43
Комментарии24

Как отлаживать свой мозг

Время на прочтение4 мин
Количество просмотров211K
Перевод статьи Оливера Эмбертона (Oliver Emberton) «How to debug your brain». Оригинал можно найти здесь.

Наши мозги – самое глючное барахло после Internet Explorer.


Для воспроизведения одного распространенного бага, попробуйте приказать себе «пойти в тренажерку». Мозги большей части людей в ответ обновят статус в Facebook и примутся за просмотр роликов с котятами. Это не ожидаемое поведение.

image

К счастью, я разработал заплатку. Но сперва давайте я расскажу, как работает весь этот мозг.
Читать дальше →
Всего голосов 133: ↑96 и ↓37+59
Комментарии49

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

Время на прочтение4 мин
Количество просмотров182K
Article translated from Oliver Emberton blog abetterlife.quora.com
Перевод статьи abetterlife.quora.com/How-to-master-your-time-1

Секрет тайм менеджмента прост: приемы джедая



Представьте, что Вы мастер джедай по имени Роман. Любовь Вашей жизни – принцесса Татьяна заключена в горящем здании и Вам хотелось бы очень поспешить, чтоб ее спасти.

image

Можете думать о Татьяне как о воплощении Вашей мечты, Вашего вдохновения – пусть это самое важное в Вашей жизни.

Читать дальше →
Всего голосов 111: ↑94 и ↓17+77
Комментарии30

Серьезное проектирование серьезного магазина. Часть 2. Модули интернет-магазина

Время на прочтение15 мин
Количество просмотров80K
В прошлый раз мы написали довольно популярную статью: «Серьезное проектирование серьезного магазина. Часть 1. Исследования», эта статья её логическое продолжение. В этой статье и в последующих мы опишем почти 60 функциональных модулей топовых интернет-магазинов мира, а также подробно разберем интерфейс многих страниц.

Главная страница интрнет-магазина в axure
Читать дальше →
Всего голосов 69: ↑47 и ↓22+25
Комментарии23

Серьезное проектирование серьезного магазина. Часть 1. Исследуем и продумываем функционал

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

Это цикл статей больше специалистов, значительно более углубленно, чем все мои прошлые статье в этой области. В статье я расскажу про крупнейшие интернет-магазины США, Китая, России и Украины, расскажу как маркетинг влияет на проектирование, покажу подробный Mind Map гипермаркета, опишу 57 основных модулей интернет-магазинов для внешней (покупательской) части и более 50 модулей для внутренней части (административной), покажу интерфейсы магазинов и еще много полезного.

Интернет-магазинами и технологиями продаж в Интернете лично я занимаюсь с далекого 2005 года. За годы работы мое мнение по этому вопросу сильно эволюционировало. Когда-то я думал, что интернет-магазин – это довольно простой сайт с точки зрения разработчика или маркетолога, мне казалось, что все магазины похожи друг на друга и достаточно один раз получить пул знаний, который потом можно будет использовать многие годы без особых изменений, ведь интернете-магазин – это только тип сайта для продажи товаров и на первый взгляд нет ничего сложного в том, чтобы разработать очередной магазин со схожим функционалом, но с другими товарами. На самом деле все значительно сложнее и чем больше я узнаю про интернет-магазины, тем больше понимаю, что в этом вопросе невозможно знать все, даже одна мелочь в интерфейсе может изменить прибыль магазина на тысячи долларов, а для больших игроков эта «мелочь» может стоить миллионы. Именно эта особенность электронной коммерции делает требования к сайтам и специалистам, которые их делают, безумно высокими. Чуть ниже я покажу много интересных цифр, которые докажут мое утверждение.

Ранее я уже писал статью про технологию проектирования больших сайтов, которая, кстати, имела очень большую популярность в русскоязычном и англоязычном сегменте Интернета: «Серьезное проектирование серьезных сайтов». Проектирование интернет-магазина хоть и имеет сходную последовательность действий, описанную мной в прошлой статье, но сама технология все таки сильно отличается, поэтому давайте рассмотрим это в мельчайших подробностях. По ходу статьи я буду ссылаться на свою прошлую, чтобы не повторяться, а в этой сделаю упор именно на различия.
Mind Map
Читать дальше →
Всего голосов 88: ↑73 и ↓15+58
Комментарии56
1

Информация

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