Pull to refresh
17
0

Product manager

Send message

Числа, которые должен знать каждый программист

Reading time1 min
Views16K
Чтобы было понятно, на чём следует концентрироваться при оптимизации, слайд из доклада «Создание программных систем в Google и его уроки»:
Таблица
Total votes 164: ↑108 and ↓56+52
Comments120

Как Go выполняет встраивание

Reading time10 min
Views15K

Привет, я Никита Галушко, работаю над мессенджером ВКонтакте. Расскажу, как Go подходит к инлайнингу функций — этот процесс ещё называют встраиванием. В статье разберёмся, зачем вообще это нужно, какой профит можно получить для ускорения работы кода, а когда плюсы могут обернуться минусами. На примерах углубимся в специфику Go: как этот язык инлайнит функции, что можно и что нельзя встроить, какие возможности доступны в разных версиях. Также обсудим ограничения и способы обойти их.

Читать далее
Total votes 55: ↑54 and ↓1+71
Comments15

Постулаты Go

Reading time7 min
Views28K
В игре Go очень простые правила, но стать мастером в ней непросто, нужно научиться думать паттернами, территориями и прочими стратегическими концепциями. Язык Go не совсем случайно назван аналогично названию этой игры. В своем выступлении на недавнем митапе в Сан-Франциско, Роб Пайк упомянул книгу «Постулаты Go» (Go Proverbs), которые описывают сложные стратегии простыми поэтичными фразами. Эти постулаты несут глубинный смысл для тех, кто знаком с игрой Go, и могут казаться пустыми фразами тем, кто не знаком. И в этом нетехническом докладе он предложил придумать аналогичным способом «постулаты» и для языка Go.

Вот некоторые из них:
  • Don't communicate by sharing memory, share memory by communicating.
  • Concurrency is not parallelism.
  • Channels orchestrate; mutexes serialize.
  • The bigger the interface, the weaker the abstraction.
  • interface{} says nothing.
  • Gofmt's style is no one's favorite, yet gofmt is everyone's favorite.
  • A little copying is better than a little dependency.
  • Cgo is not Go.
  • Clear is better than clever.
  • Reflection is never clear.
  • Errors are values.


Это чем-то похоже на Zen of Python. Вы можете не соглашаться с ними, но эти постулаты отражают идиоматичность и подход в Go. Давайте разберем подробнее каждый из них по мотивам доклада (видео в конце поста).
Читать дальше →
Total votes 24: ↑16 and ↓8+8
Comments77

Безопасность REST API от А до ПИ

Reading time17 min
Views127K

Введение


Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответствии со спецификацией. Задача обеспечения безопасности REST API не так очевидна, как, например, обеспечение безопасности баз данных, но ее необходимость не менее важна.
В настоящее время многие онлайн системы с помощью API передают приватные данные пользователей, такие как медицинские или финансовые. Текущая же ситуация с безопасностью в веб-приложениях весьма печальна: по данным Comnews порядка 70% содержат кри­тичес­кие уязвимости. Поэтому всем, кто участвует в проектировании, реализации и тестировании онлайн систем, важно иметь общую картину по существующим угрозам и способам обеспечения безопасности как всей системы, так и используемого REST API.

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

image
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments22

Конкурентность в Go: пять примеров

Reading time11 min
Views26K

Привет, Хабр! Я Артем Чаадаев, Golang-разработчик в МТС Digital. В этой статье я собрал примеры использования конкурентного кода в Go. Хотите узнать, как писать конкурентный код? Значит, вам сюда.

Добро пожаловать под кат!

Читать далее
Total votes 30: ↑26 and ↓4+23
Comments6

Мне надоело, что обычные продавцы выдают себя за разработчиков и позорят индустрию. Они делают мир хуже

Reading time5 min
Views122K


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

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

Мои новостные ленты были завалены обсуждениями, восхищением и критикой выпуска. Каждый раз читая что-то об этом, я испытывал непонятную почти физическую боль. Ну хорошо, главный журналист страны рассказал про мою индустрию, но рассказал не так, как хочу я. С этим можно жить. Да, со всей своей преисполненностью и трушной технарскостью, я все ещё маленький завистливый чмошник. Я тоже хочу сидеть в кофейне в Пало-Альто и смотреть, как мне выписывают чек на пять миллионов долларов. Но смотрите, я вырос в России и давно научился не обращать внимания на свою патологическую зависть. Мне давно не бывает от нее больно.

Бомбанул я точно не от зависти — и я долго не знал, почему.
Читать дальше →
Total votes 352: ↑263 and ↓89+245
Comments970

Ребёнок всё время в планшете. Отбираем и прячем или вместе развиваем цифровой интеллект?

Reading time5 min
Views8.8K

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

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

Удивительные возможности нейросетей 2019 года

Reading time5 min
Views23K


Кажется, не проходит и дня без того, чтобы в новостях не проскочило сообщение со словами «искусственный интеллект», «нейросеть», «машинное обучение». Это и не удивительно, алгоритмы постоянно совершенствуются, получают новые знания, включая информацию о каждом из нас. И это вырисовывает весьма интересные перспективы будущего, с персонализированными товарами, пищей и развлечениями. Но обо всем по порядку.
Total votes 19: ↑15 and ↓4+11
Comments16

Лекции о мозге, часть 1. Эволюция головного мозга человека. Функции мозга на каждом этапе его развития

Reading time6 min
Views26K


Приветствие


Приветствую всё сообщество Хабра. Меня зовут Александр Морозов. Я практикующий врач, работал терапевтом, в настоящее время специализируюсь в лучевой диагностике (работая в на КТ и МРТ), подрабатываю в ультразвуковой диагностике.

Я веду блог Коллекционер Будущего, в рамках которого через разные активности рассказываю о различных прогрессивных биоинженерных, медицинских и других прорывных технологиях. Постепенно буду вас знакомить со своими проектами.

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

Не зная истории эволюционного развития мозга, сложно будет понять замыслы исследователей, которые будут улучшать работу главного органа нашей нервной системы. Потому встречайте первую лекцию: «Эволюция головного мозга»!
Total votes 33: ↑27 and ↓6+21
Comments29

Подборка 143 переводов эссе Пола Грэма (из 184)

Reading time8 min
Views61K
image

Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ. Своими помыслами и разумом Пол Грэм врывается в широкий спектр областей: от прогнозирования развития языков программирования на сто лет вперед до человеческих качеств и способов починить/хакнуть экономику. А ещё он осознает важность того, чтобы формулировать свои мысли в текст и делиться ими с окружающими.

Когда в 2015 году я начал читать Пола Грэма мой взгляд на жизнь поменялся. Я считаю его эссе одними из самых важных текстов, которые стоит прочитать все как можно раньше, чтобы сформировать у себя мышление, способ рассуждения и изложения мыслей.

Первую подборку переводов эссе Пола Грэма меня вдохновили сделать коллеги из tceh.com (60 переводов из 176). Вторую — Edison Software (125 переводов). Третью — PhilTech-акселератор (134 перевода и еще несколько в процессе). Потом был период (2017, 2018 и 2019), когда Пол Грэм не писал эссе (а занимался с детьми), а только немного в Твиттер и дал одно видео-интервью для стартап-школы. Но в конце 2019 и начале 2020 года он вновь стал публиковать глубокие тексты об которые интересно подумать. Предлагаю вашему вниманию ссылки на новые переводы (upd с прошлой подборки) и полный список всех эссе.

Novelty and Heresy (Да здравствует ересь!)
The Lesson to Unlearn (Вредные уроки)
The Bus Ticket Theory of Genius (Теория навязчивых идей)

Five Questions about Language Design (Пять вопросов о проектировании языков программирования)
What Made Lisp Different (Что сделало Lisp особенным)
After the Ladder (На смену корпоративной лестнице)
What I’ve Learned from Hacker News (Чему я научился у Hacker News)
Snapshot: Viaweb, June 1998 (разбор полетов: Viaweb июня 1998 года)
Some Heroes (Мои кумиры)
The Equity Equation (Как делить доли в стартапе)

Бонус - видео из стартап-школы 2018 с русскими субтитрами


Total votes 26: ↑23 and ↓3+27
Comments10

Все статьи Тима Урбана (Wait But Why) на русском [46 из 99]

Reading time5 min
Views43K
image

Привет, Хабр!

Я делаю проект «Ontol» — это GitHub для лонгридов (и видеолекций), где каждый может создавать свои подборки самых важных лонгридов (видеолекций) всех времен и народов по значимым темам жизни, постоянно их пополнять, улучшать и делиться ими со всеми в 1 клик. (прототип, телеграмм-канал)

Тим Урбан, пожалуй, самый продуктивный (даже в чем-то потеснил Пола Грэма) человек, который интересуется сложными вопросами и делится своими находками с человечеством, чтобы донести «кванты мировоззрения». Сферы его интересов от космоса и природы звука, крионики, нейроинтерфейсов и электромобилей, до выбора карьеры, дружбы и спутника жизни. Эти статьи входят в несколько моих онтолов (личных топ-10 самых полезных материалов на определенную тему: деньги, дело жизни, семья, космос, прокрастинация, искусственный интеллект, бессмертие).

А ещё, Тим Урбан — это человек, который больше всех сделал для понимания прокрастинации и борьбы с ней (а так же для инсайтов по GTD):


Вклад в философию и понимание космонавтики:



А какие ваши любимые статьи Тима Урбана?

Под катом все публикации Тима Урбана в хронологическом порядке (и перевод если есть).

UPD. 06.08.2020 Добавлен перевод «Всё, что Вам нужно знать о звуке» и "Глава 8. Лаборатории и эхо-камеры".
Читать дальше →
Total votes 16: ↑13 and ↓3+18
Comments0

Глубокие нейронные сети для автоматической оценки звонков

Reading time6 min
Views12K
Оценка звонков – ключевая часть контроля качества для колл-центров. Она позволяет организациям тонко подстраивать рабочий процесс, чтобы операторы могли выполнять работу быстрее и эффективнее, а также избегать бессмысленной рутины.

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


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

Управление IT-компанией: разлучаем теорию с практикой

Reading time12 min
Views20K
Практика — это когда всё работает, но никто не понимает, как. Теория — когда ничего не работает, но все точно знают, почему. Мы же пришли к сочетанию теории с практикой: ничего не работает — и никто не понимает, почему.

В функционировании любого растущего бизнеса — не только в IT, но и в других областях — наступает момент, когда заброшенные в дальний угол и уже успевшие покрыться благородной патиной проблемы становится невозможно игнорировать. Их последствия дают о себе знать в самых неожиданных ситуациях. Есть не один десяток методик, позволяющих разобраться с проблемами и заставить бизнес работать, но начинать приходится всегда с одного и того же: анализа первопричин этих самых проблем. И сегодня Роботам хотелось бы поговорить об этом — не только переведя статью о методах поиска первопричин бизнес-тренера по IT и специалиста по Agile, Scrum и Kanban Хенрика Книберга — но и рассказав о том, как Роботы исправили несколько собственных поломок. Статья публикуется с сокращениями, полная версия доступна в нашем блоге на Хабре.



Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments4

Ещё раз про семь основных методологий разработки

Reading time8 min
Views1M
Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.


Читать дальше →
Total votes 51: ↑38 and ↓13+25
Comments48

Information

Rating
Does not participate
Registered
Activity