Pull to refresh
0
0
Андрей @he11b0rn

User

Send message

5+1 случай, когда спецификация REST API играет огромную роль

Reading time13 min
Views35K

В этой статье речь пойдёт о написании и поддержке полезной и актуальной спецификации для REST API-проекта, которая позволит сэкономить много лишнего кода, а также серьёзно улучшить целостность, надежность и прозрачность прокта в целом.


Что такое RESTful API?



Это миф.


Серьёзно, если вы думаете, что в вашем проекте RESTful API, вы почти наверняка ошибаетесь. Идея RESTful — в построении API, который во всём соответствовал бы архитектурным правилам и ограничениям, описанным стилем REST, однако в реальных условиях это оказывается почти невозможно.

Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments32

100 видео-лекций по программированию

Reading time5 min
Views64K

image


Товарищи инженеры, уже четвертый год пошел, как я взялся преподавать в Киевском политехническом институте. За это время у меня накопилось огромное количество примеров кода и материалов, примерно на 90 лекций. Должен сказать, что за весь период своей профессиональной деятельности (а это 24 года почти ежедневного написания кода), я никогда не подымал свой уровень программирования, как за последние годы, работая со студентами. Если раньше мне казалось, что написать кратко, сложно и внушительно — это верх мастерства, то теперь я осознал, что мой код должны понимать студенты после минимальных объяснений, иначе он никуда не годится. Я пришел к выводу, что способность эту можно и нужно распространить не только на обучающий код, но и на весь рабочий код. Более того, обучающий код не должен существенно отличаться от рабочего кода, потому, что мы учим будущих инженеров делать настоящие системы, а не учебные. А после многочисленных просьб, я решил записывать все лекции в виде скринкастов, которые сразу после завершения лекции отправляются на ютюб. За этот учебный год я планирую записать 100 лекций, из которых уже опубликованы 23, готовы материалы еще для 67 лекций и новых 10 лекций еще в процессе подготовки.

Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments7

Дайджест свежих материалов из мира фронтенда за последнюю неделю №314 (7 — 13 мая 2018)

Reading time4 min
Views18K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments1

AI, практический курс. Предисловие

Reading time5 min
Views11K


Блог Intel начинает публикацию русского перевода большой серии статей со специализированного ресурса Intel AI Academy. Цель этой публикации — представить разнообразные подходы к искусственному интеллекту и различные способы его применения. Первый пост серии будет в некотором роде предисловием: здесь вы найдете вступительную часть от авторов курса, а также полный список статей на английском и (по мере публикации) на русском языках.

Надеемся, что наш курс окажется для вас полезным.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments1

Книга «Чистая архитектура. Искусство разработки программного обеспечения»

Reading time7 min
Views70K
image «Идеальный программист» и «Чистый код» — легендарные бестселлеры Роберта Мартина — рассказывают, как достичь высот профессионализма. «Чистая архитектура» продолжает эту тему, но не предлагает несколько вариантов в стиле «решай сам», а объясняет, что именно следует делать, по какой причине и почему именно такое решение станет принципиально важным для вашего успеха.

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

После прочтения сжечь. Делаем одноразовые ссылки на голом Nginx

Reading time7 min
Views16K
Для начала нужно уточнить, что я настоятельно не рекомендую использовать это решение в боевых условиях. Лучше вовсе так не делать никогда. Всё, что вы делаете, вы делаете на свой страх и риск. Причины, которые заставляют дать такой совет, будут приведены в содержании статьи. Если это предупреждение вас не отпугнуло, то добро пожаловать под кат.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments18

Лекции Технополиса. Проектирование высоконагруженных систем (осень 2017)

Reading time5 min
Views51K


Мы начинаем публиковать курсы лекций Технополиса — образовательного проекта команды Одноклассников в Санкт-Петербургском Политехническом университете Петра Великого. Создание высоконагруженных приложений — это не только проектирование и написание кода, но и огромное количество других аспектов на всём протяжении жизненного цикла продукта. Мы пройдём по всему процессу создания и использования высоконагруженной системы. Особое внимание будет уделено особенностям эксплуатации, сетям, балансировке нагрузки, иерархии памяти, повседневным инструментам. Также поговорим о мониторинге, аудите и многом другом. Лекции курса читает команда экспертов под руководством ведущего разработчика в Одноклассниках Вадима Цесько.

Список лекций:

  1. Введение (Вадим Цесько incubos)
  2. Типовые архитектуры (Александр Христофоров)
  3. Эксплуатация (Илья Щаников)
  4. Сетевой стек (Дмитрий Самсонов dmitrysamsonov)
  5. Балансировка (Андрей Домась)
  6. Процессоры и память (Алексей Горбов)
  7. Хранилища данных (Сергей Егоричев)
  8. JVM (Андрей Паньгин apangin)
  9. Мониторинг (Сергей Шарапов Sharapoff)
  10. Облака (Леонид Талалаев)

Total votes 77: ↑75 and ↓2+73
Comments14

Parallel STL. Быстрый способ ускорить C++ STL код

Reading time10 min
Views29K
За пару последних десятилетий, пока вычислительные системы эволюционировали от одноядерных скалярных до многоядерных векторных архитектур, значительно выросла популярность управляемых языков, а также появились новые языки программирования. Но старый добрый C++, позволяющий писать высокопроизводительный код, остается более чем популярным. Однако, до недавнего времени стандарт языка не предоставлял каких-либо инструментов для выражения параллелизма. Новая версия стандарта (C++17 [1]) предоставляет набор параллельных алгоритмов Parallel STL, дающий возможность преобразовать существующий последовательный C++ код в параллельный, что, в свою очередь, позволяет задействовать такие аппаратные возможности, как многопоточность и векторизация. Эта статья познакомит вас с основами Parallel STL и его реализацией в Intel Parallel Studio XE 2018.


Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments7

Понимание сети Kubernetes: сервисы

Reading time10 min
Views54K

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


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

Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments5

Docker-compose: идеальное рабочее окружение

Reading time11 min
Views203K


Здрасте!
В последнее время все чаще задумываюсь об оптимальности рабочего процесса и хотелось бы поделиться своими изысканиями в данном вопросе.


В данном посте поговорим про docker-compose, который по моему мнению является панацеей в вопросе организации и оптимизации рабочего процесса разработчика.


Описывать все я буду почти на пальцах, поэтому если вы до этого ни разу не слышали про docker (что странно), ни разу с ним не работали и хотите в нем разобраться, то прошу под кат.

Читать дальше →
Total votes 28: ↑12 and ↓16-4
Comments47

MageConf 2017 видео и материалы конференции

Reading time2 min
Views3.6K


16го Декабря в Киеве прошла самая большая техническая конференция посвященная платформе Magento и eCommerce в целом. Конференция проходила в 4 параллельных потока, на которых было презентовано 30 докладов и воркшопов. Конференцию посетили 600+ участников.

Главному ивенту предшествовал Magento Contribution Day, проводимый в офисе компании Magento за день до этого и собравший более 100 человек, которые вместе с Magento Core программистами и архитекторами работали над улучшением платформы и исправлением багов. А также над разработкой новой функциональности системы — Multi-Source Inventory.



В ходе ивента было поставлено 40+ Pull Request в Magento 2 репозиторий.

В данном посте предлагаю ознакомиться с видео всех выступлений, которые вы найдете под катом. С программой конференции MageConf 2017 можно ознакомиться перейдя по ссылке.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments0

Разделить пользователей по ролям в FeathersJs

Reading time5 min
Views6.1K
image
Речь пойдет о недооцененном фреймворке feathersjs.

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

То есть мы имеем: 2 разделенных фронта написанных на VueJs, находящихся на разных доменах именах, общий backend написанный на feathers (и естественно одну таблицу users в бд с ролью).
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments3

Что почитать на новогодних праздниках

Reading time4 min
Views34K
Составили для вас подборку книг, которые помогут прокачать полезные для работы скиллы и узнать что-то новое, не делая над собой титанических усилий.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments15

Дайджест свежих материалов из мира фронтенда за последнюю неделю №295 (25 — 31 декабря 2017)

Reading time3 min
Views20K
Предлагаем вашему вниманию последнюю в этом году подборку с ссылками на новые материалы из области фронтенда и около него.


Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments8

Материалы открытого курса OpenDataScience и Mail.Ru Group по машинному обучению и новый запуск

Reading time9 min
Views148K

Недавно OpenDataScience и Mail.Ru Group провели открытый курс машинного обучения. В прошлом анонсе много сказано о курсе. В этой статье мы поделимся материалами курса, а также объявим новый запуск.



UPD: теперь курс — на английском языке под брендом mlcourse.ai со статьями на Medium, а материалами — на Kaggle (Dataset) и на GitHub.


Кому не терпится: новый запуск курса — 1 февраля, регистрация не нужна, но чтоб мы вас запомнили и отдельно пригласили, заполните форму. Курс состоит из серии статей на Хабре (Первичный анализ данных с Pandas — первая из них), дополняющих их лекций на YouTube-канале, воспроизводимых материалов (Jupyter notebooks в github-репозитории курса), домашних заданий, соревнований Kaggle Inclass, тьюториалов и индивидуальных проектов по анализу данных. Главные новости будут в группе ВКонтакте, а жизнь во время курса будет теплиться в Slack OpenDataScience (вступить) в канале #mlcourse_ai.

Total votes 80: ↑79 and ↓1+78
Comments24

Хороший дизайнер копирует чужие логотипы, великий — крадёт

Reading time2 min
Views50K
Я «копировал сочинения», чуток подправлял и сдавал учительнице по русскому.
Я копировал чужие программы, подправлял код, экспериментировал, развивал и делал свои программы.
Я копировал чужую подпись.
Я даже копировал чужие тексты и картинки. Дорабатывал и иногда получались отличные результаты.
Или я все украл?



В своей статье Ferdinand Vogler поднимает вопрос, чем копирование отличается от кражи и так ли все ужасно с копированием.

Не факт, что «плагиатчики» сознательно повторяют то, что видели до этого. Но иногда попадаются уж больно похожие вещи.

Наше подсознание — это котел, в котором варятся воспоминания из прошлого. Любой креативщик черпает из этого котла огромным черпаком. Иногда попадаются большие куски, в которых легко угадывается картофелина или крысиный хвостик, иногда это как суп пюре и ни фига не узнать, если только что по цвету или запаху.

Фердинанд предлагает свое видение того, как различать копирование и кражу:
«Украсть» — это значит повторить точь в точь. Компании хотят получить профит от того, что привносит дизайн. Кража — это вышить лого Nike на свитере, чтобы продать их в два раза дороже.

Дизайн — это подход, что каждый экземпляр сделан в строгом соответствии со стандартом, что затрудняет копирование. Кража часто связана с расхождением между переданным сообщением и контентом. Самоидентификация и публичный имидж не конгруэнтны. Вот почему трудно подделать бренды премиум-класса. Кража — это коварная попытка не быть обнаруженной."

Когда копирование превращается в кражу? Можно ли скопировать на 100%, указать авторство и публиковать? Можно ли самому создать, но указать чужое авторство?
Читать дальше →
Total votes 37: ↑32 and ↓5+27
Comments57

Руководство по материалам электротехники для всех. Часть 1

Reading time15 min
Views114K
Привет гиктаймс! Я решил опубликовать по частям свое руководство по материалам, используемым не только в электротехнике, но и вообще в технике, в том числе самодельщиками. С описанием, примерами применения, заметками по работе. Руководство написано максимально просто, и будет понятно всем, от школьника до пенсионера.

В этой части начинаем разбирать проводники — Серебро, Медь, Алюминий.

image

Добро пожаловать под кат (ТРАФИК)
узнать о материалах
Total votes 95: ↑94 and ↓1+93
Comments161

Книга «Теоретический минимум. Все, что нужно знать о современной физике»

Reading time7 min
Views17K
image «Теоретический минимум» — книга для тех, кто пропускал уроки физики в школе и институте, но уже жалеет об этом. Хотите разобраться в основах естественных наук и научиться думать и рассуждать так, как это делают современные физики? В оригинальной и нестандартной форме известные американские ученые Леонард Сасскинд и Джордж Грабовски предлагают вводный курс по математике и физике для пытливых умов.

В отличие от прочих научно-популярных книг, пытающихся доступно объяснить законы физики, ловко уклоняясь от уравнений и формул, авторы учат читателя классическим основам естественных наук. Книга предлагает собственную оригинальную методику обучения, дополненную видео-лекциями, публикуемыми на сайте theoreticalminimum.com.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments20

Ад рендера v.2.0. Книга первая. Обзор

Reading time5 min
Views20K

Отсебятина


Наткнулся год назад на ряд очень интересных статьей господина Simon. Саймон очень любит разбирать то, как создаются игры, а именно графические решения того или иного элемента в игре. Начиная от сколов на гранях плит, заканчивая тем, как реализовано отрезание кусков от объектов. Но особенно интересным представляется его ряд статей под общим названием «Ад рендера» (Render Hell), в котором он подробно разбирает, как на уровне железа (да и программно тоже) происходит рендер 3D-объектов.

Перевод вольный. Его я делал для себя, чтобы в какой-то момент я мог вернуться и прочитать то, что мог не уловить с первого раза или просто забыть.

Ну что, начнем?
Total votes 34: ↑33 and ↓1+32
Comments13

OpenDataScience и Mail.Ru Group проведут открытый курс по машинному обучению

Reading time6 min
Views66K

6 сентября 2017 года стартует 2 запуск открытого курса OpenDataScience по анализу данных и машинному обучению. На этот раз будут проводиться и живые лекции, площадкой выступит московский офис Mail.Ru Group.



Если коротко, то курс состоит из серии статей на Хабре (вот первая), воспроизводимых материалов (Jupyter notebooks, вот github-репозиторий курса), домашних заданий, соревнований Kaggle Inclass, тьюториалов и индивидуальных проектов по анализу данных. Здесь можно записаться на курс, а тут — вступить в сообщество OpenDataScience, где будет проходить все общение в течение курса (канал #mlcourse_open в Slack ODS). А если поподробней, то это вам под кат.

Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments18
1
23 ...

Information

Rating
Does not participate
Location
Рязань, Рязанская обл., Россия
Date of birth
Registered
Activity