Как стать автором
Обновить
17
0

Product manager

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

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

Время на прочтение1 мин
Количество просмотров17K
Чтобы было понятно, на чём следует концентрироваться при оптимизации, слайд из доклада «Создание программных систем в Google и его уроки»:
Таблица
Всего голосов 164: ↑108 и ↓56+52
Комментарии120

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

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

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

Читать далее
Всего голосов 55: ↑54 и ↓1+71
Комментарии15

Постулаты Go

Время на прочтение7 мин
Количество просмотров28K
В игре 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. Давайте разберем подробнее каждый из них по мотивам доклада (видео в конце поста).
Читать дальше →
Всего голосов 24: ↑16 и ↓8+8
Комментарии77

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

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

Введение


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

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

image
Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии22

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

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

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

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

Читать далее
Всего голосов 30: ↑26 и ↓4+23
Комментарии6

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

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


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

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

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

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

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

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

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

Читать далее
Всего голосов 8: ↑4 и ↓4+2
Комментарии24

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

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


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

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

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


Приветствие


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

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

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

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

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

Время на прочтение8 мин
Количество просмотров61K
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 с русскими субтитрами


Всего голосов 26: ↑23 и ↓3+27
Комментарии10

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

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

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

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

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

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


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



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

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

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

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

Время на прочтение6 мин
Количество просмотров12K
Оценка звонков – ключевая часть контроля качества для колл-центров. Она позволяет организациям тонко подстраивать рабочий процесс, чтобы операторы могли выполнять работу быстрее и эффективнее, а также избегать бессмысленной рутины.

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


Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии11

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

Время на прочтение12 мин
Количество просмотров20K
Практика — это когда всё работает, но никто не понимает, как. Теория — когда ничего не работает, но все точно знают, почему. Мы же пришли к сочетанию теории с практикой: ничего не работает — и никто не понимает, почему.

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



Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии4

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

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


Читать дальше →
Всего голосов 51: ↑38 и ↓13+25
Комментарии48

Информация

В рейтинге
Не участвует
Зарегистрирована
Активность