Product manager
Как Go выполняет встраивание
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/08f/a81/e5c/08fa81e5c6d71202908b7f68157f57cf.jpeg)
Привет, я Никита Галушко, работаю над мессенджером ВКонтакте. Расскажу, как Go подходит к инлайнингу функций — этот процесс ещё называют встраиванием. В статье разберёмся, зачем вообще это нужно, какой профит можно получить для ускорения работы кода, а когда плюсы могут обернуться минусами. На примерах углубимся в специфику Go: как этот язык инлайнит функции, что можно и что нельзя встроить, какие возможности доступны в разных версиях. Также обсудим ограничения и способы обойти их.
Постулаты Go
![](https://habrastorage.org/files/b83/37e/b73/b8337eb73e144a368f5befa5695e3a13.png)
Вот некоторые из них:
- 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. Давайте разберем подробнее каждый из них по мотивам доклада (видео в конце поста).
Безопасность REST API от А до ПИ
Введение
Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответствии со спецификацией. Задача обеспечения безопасности REST API не так очевидна, как, например, обеспечение безопасности баз данных, но ее необходимость не менее важна.
В настоящее время многие онлайн системы с помощью API передают приватные данные пользователей, такие как медицинские или финансовые. Текущая же ситуация с безопасностью в веб-приложениях весьма печальна: по данным Comnews порядка 70% содержат критические уязвимости. Поэтому всем, кто участвует в проектировании, реализации и тестировании онлайн систем, важно иметь общую картину по существующим угрозам и способам обеспечения безопасности как всей системы, так и используемого REST API.
В статье я попытался обобщить информацию о существующих уязвимостях REST API, чтобы у читателей сложилась общая картина. На схемах представлена современная архитектура клиент-сервер и обобщенный REST API запрос с потенциальными угрозами безопасности. Далее я подробнее расскажу об этих угрозах, и как технически реализовать защиту от них.
![image](https://habrastorage.org/webt/_r/a2/w5/_ra2w5quruh_u2uyn_8x2nmrc7o.png)
Конкурентность в Go: пять примеров
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/899/847/77d/89984777d2093e8142f697a13f0455a5.png)
Привет, Хабр! Я Артем Чаадаев, Golang-разработчик в МТС Digital. В этой статье я собрал примеры использования конкурентного кода в Go. Хотите узнать, как писать конкурентный код? Значит, вам сюда.
Добро пожаловать под кат!
Мне надоело, что обычные продавцы выдают себя за разработчиков и позорят индустрию. Они делают мир хуже
![](https://habrastorage.org/webt/kb/4z/nh/kb4znh73ixw8f1ryptfmo3if_10.png)
Когда Дудь выпустил ролик про долину, я очень сильно расстроился. Я ещё не знал, про что он конкретно, но мозг моментально нарисовал: манерные успешные успехи говорят про преодолевание, дух предпринимательства, поднятые миллионы баксов, и как сильно их говноприложенька влияет на мир.
Тогда я подумал — надо посмотреть, осудить и бахнуть статью. Про то, что Дудь засранец, а в настоящей разработке все по-другому. Прошло уже месяца два, но я так и не смог заставить себя это посмотреть.
Мои новостные ленты были завалены обсуждениями, восхищением и критикой выпуска. Каждый раз читая что-то об этом, я испытывал непонятную почти физическую боль. Ну хорошо, главный журналист страны рассказал про мою индустрию, но рассказал не так, как хочу я. С этим можно жить. Да, со всей своей преисполненностью и трушной технарскостью, я все ещё маленький завистливый чмошник. Я тоже хочу сидеть в кофейне в Пало-Альто и смотреть, как мне выписывают чек на пять миллионов долларов. Но смотрите, я вырос в России и давно научился не обращать внимания на свою патологическую зависть. Мне давно не бывает от нее больно.
Бомбанул я точно не от зависти — и я долго не знал, почему.
Ребёнок всё время в планшете. Отбираем и прячем или вместе развиваем цифровой интеллект?
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/286/c2e/5e7/286c2e5e755a075f24567340b82dc01c.jpg)
Всем привет! Эмоциональный интеллект – термин, который уже довольно давно знаком нам, и все мы в курсе, зачем и как его нужно развивать. Понятие «цифровой интеллект» появилось сравнительно недавно, но по мере того, что люди из всех социальных сфер погружаются в digitial-среду все больше и больше, сейчас он не менее важен. В этой статье я хочу рассказать вам о том, что такое цифровой интеллект, и поделиться идеями, как можно развивать его у самых восприимчивых пользователей гаджетов – у детей.
Удивительные возможности нейросетей 2019 года
![](https://habrastorage.org/webt/ue/gb/vv/uegbvv0_yccif0wihddh36nxozi.jpeg)
Кажется, не проходит и дня без того, чтобы в новостях не проскочило сообщение со словами «искусственный интеллект», «нейросеть», «машинное обучение». Это и не удивительно, алгоритмы постоянно совершенствуются, получают новые знания, включая информацию о каждом из нас. И это вырисовывает весьма интересные перспективы будущего, с персонализированными товарами, пищей и развлечениями. Но обо всем по порядку.
Лекции о мозге, часть 1. Эволюция головного мозга человека. Функции мозга на каждом этапе его развития
![](https://habrastorage.org/webt/_4/4z/-b/_44z-btuswhkp7-5sy96xwqs0hu.jpeg)
Приветствие
Приветствую всё сообщество Хабра. Меня зовут Александр Морозов. Я практикующий врач, работал терапевтом, в настоящее время специализируюсь в лучевой диагностике (работая в на КТ и МРТ), подрабатываю в ультразвуковой диагностике.
Я веду блог Коллекционер Будущего, в рамках которого через разные активности рассказываю о различных прогрессивных биоинженерных, медицинских и других прорывных технологиях. Постепенно буду вас знакомить со своими проектами.
В цикле видео лекций я расскажу о головном мозге человека от его эволюционного развития до возможностей, которые нам обещают подарить нейрокомпьютерные интерфейсы в ближайшее десятилетие, от макростроения частей коры, до микростроения нейронов и передающих сигналы нейротрансмиттеров.
Не зная истории эволюционного развития мозга, сложно будет понять замыслы исследователей, которые будут улучшать работу главного органа нашей нервной системы. Потому встречайте первую лекцию: «Эволюция головного мозга»!
Подборка 143 переводов эссе Пола Грэма (из 184)
![image](https://podcastnotes.org/wp-content/uploads/2019/12/paul.jpg)
Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора 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 (Как делить доли в стартапе)
Все статьи Тима Урбана (Wait But Why) на русском [46 из 99]
![image](https://habrastorage.org/webt/6c/ge/qe/6cgeqen8d91qarbgxupex34tsbw.jpeg)
Привет, Хабр!
Я делаю проект «Ontol» — это GitHub для лонгридов (и видеолекций), где каждый может создавать свои подборки самых важных лонгридов (видеолекций) всех времен и народов по значимым темам жизни, постоянно их пополнять, улучшать и делиться ими со всеми в 1 клик. (прототип, телеграмм-канал)
Тим Урбан, пожалуй, самый продуктивный (даже в чем-то потеснил Пола Грэма) человек, который интересуется сложными вопросами и делится своими находками с человечеством, чтобы донести «кванты мировоззрения». Сферы его интересов от космоса и природы звука, крионики, нейроинтерфейсов и электромобилей, до выбора карьеры, дружбы и спутника жизни. Эти статьи входят в несколько моих онтолов (личных топ-10 самых полезных материалов на определенную тему: деньги, дело жизни, семья, космос, прокрастинация, искусственный интеллект, бессмертие).
А ещё, Тим Урбан — это человек, который больше всех сделал для понимания прокрастинации и борьбы с ней (а так же для инсайтов по GTD):
- Почему прокрастинаторы прокрастинируют
- 100 блоков в день
- Жизнь по неделям
- Занавес: вольный перевод статьи Тима Урбана «The Tail End»
- Почему я постоянно опаздываю
Вклад в философию и понимание космонавтики:
- Парадокс Ферми
- «Большая гребаная ракета» SpaceX: большая полная история
- Колонизация Марса по плану SpaceX
А какие ваши любимые статьи Тима Урбана?
Под катом все публикации Тима Урбана в хронологическом порядке (и перевод если есть).
UPD. 06.08.2020 Добавлен перевод «Всё, что Вам нужно знать о звуке» и "Глава 8. Лаборатории и эхо-камеры".
Глубокие нейронные сети для автоматической оценки звонков
Памятуя о том, что колл-центр должен быть эффективным, мы работали над автоматизацией оценки звонков. В итоге мы придумали алгоритм, который обрабатывает звонки и распределяет их на две группы: подозрительные и нейтральные. Все подозрительные звонки сразу же отправлялись в команду оценки качества.
![](https://habrastorage.org/webt/yj/0t/yq/yj0tyqtftcw-e0m_wcxkh_ls7l0.jpeg)
Управление IT-компанией: разлучаем теорию с практикой
В функционировании любого растущего бизнеса — не только в IT, но и в других областях — наступает момент, когда заброшенные в дальний угол и уже успевшие покрыться благородной патиной проблемы становится невозможно игнорировать. Их последствия дают о себе знать в самых неожиданных ситуациях. Есть не один десяток методик, позволяющих разобраться с проблемами и заставить бизнес работать, но начинать приходится всегда с одного и того же: анализа первопричин этих самых проблем. И сегодня Роботам хотелось бы поговорить об этом — не только переведя статью о методах поиска первопричин бизнес-тренера по IT и специалиста по Agile, Scrum и Kanban Хенрика Книберга — но и рассказав о том, как Роботы исправили несколько собственных поломок. Статья публикуется с сокращениями, полная версия доступна в нашем блоге на Хабре.
![](https://habrastorage.org/files/e95/ff7/5e9/e95ff75e96a94aa2ae9f6846a43b9b19.jpg)
Ещё раз про семь основных методологий разработки
![](https://habrastorage.org/files/e2a/620/d25/e2a620d25bf0417c8b31f2ffd144eab0.jpg)
Information
- Rating
- Does not participate
- Registered
- Activity