Как стать автором
Обновить
0
Карма
0
Рейтинг
Сергей Грибовский @fr33z3

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

  • Подписчики 7
  • Подписки 8

«Программист-прагматик. Путь от подмастерья к мастеру»: коротко о главном (часть первая)

Блог компании Productivity Inside Программирование *Управление проектами *Учебный процесс в IT
О книге «Программист-прагматик. Путь от подмастерья к мастеру» Эндрю Ханта и Дэвида Томаса знают, наверное, все, кто занимается программированием, причем многие — в основном из упоминаний в подборках и цитат в более современных статьях. Учитывая, что этот сборник практических советов для разработчиков скоро отметит двадцатилетний юбилей, тот факт, что его до сих пор приводят как источник ценной информации, вызывает уважение. Секрет прост: авторы, хоть и делали акцент на практической применимости своих подсказок, говорили по большей части о фундаментальных принципах построения рабочего процесса. Многие технические моменты, которые упоминаются в тексте, действительно давно устарели, но базовые подходы к разработке, тестированию, взаимодействию внутри команды и с аудиторией остаются актуальными.


Ниже вы найдете конспект первых четырех глав; речь в них идет об авторской концепции самообразования, основах прагматического подхода в программировании и правилах подбора инструментов. Книга очень удобна для «точечного» чтения: материал представляется в виде отдельных параграфов-подсказок, снабженных перекрестными ссылками. За рамками этого конспекта остались примеры из конкретных языков, разбор кейсов из авторской практики, те самые ссылки, упражнения на закрепление и некоторые забавные аналогии, оживляющие текст — так что рекомендую ознакомиться с оригиналом, если какие-то из тезисов вас заинтересуют. Приятного чтения!
Читать дальше →
Всего голосов 20: ↑19 и ↓1 +18
Просмотры 52K
Комментарии 5

Chromium: другие ошибки

Блог компании PVS-Studio Информационная безопасность *Open source *C++ *Google Chrome
Доставка ошибокМы завершаем цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. После написания 6 статей, у нас всё ещё остаётся много нерассмотренных ошибок. Эти ошибки разнородны и про них сложно составить материал на определённую тему. Поэтому в этой седьмой статье будут просто выбраны и рассмотрены наиболее интересные дефекты.

Как я писал в вводной статье, просматривая отчёт, выданный анализатором PVS-Studio, я заметил около 250 ошибок в проекте Chromium и использованных в нём библиотеках. Отчёт я смотрел достаточно бегло, поэтому, на самом деле, ошибок можно найти намного больше.

После вводной статьи я написал еще 6, где рассматривал различные паттерны ошибок. Писал я эти статьи, писал, и всё равно, у меня остаётся около 70 примеров ошибок. Сделать на основании оставшихся багов статьи на разные темы я затрудняюсь. Возможно, я устал. Впрочем, есть и другая причина — меня ждёт отчёт о проверке XNU и мне не терпится им позаниматься.
Читать дальше →
Всего голосов 32: ↑30 и ↓2 +28
Просмотры 6.1K
Комментарии 15

Бесплатная GPU Tesla K80 для ваших экспериментов с нейросетями

*nix *GPGPU *Машинное обучение *Google Cloud Platform *


Около месяца назад Google сервис Colaboratory, предоставляющий доступ к Jupyter ноутбукам, включил возможность бесплатно использовать GPU Tesla K80 с 13 Гб видеопамяти на борту. Если до сих пор единственным препятствием для погружения в мир нейросетей могло быть отсутствие доступа к GPU, теперь Вы можете смело сказать, “Держись Deep Learning, я иду!”.


Я попробовал использовать Colaboratory для работы над kaggle задачами. Мне больше всего не хватало возможности удобно сохранять натренированные tensorflow модели и использовать tensorboard. В данном посте, я хочу поделиться опытом и рассказать, как эти возможности добавить в colab. А напоследок покажу, как можно получить доступ к контейнеру по ssh и пользоваться привычными удобными инструментами bash, screen, rsync.

Читать дальше →
Всего голосов 44: ↑42 и ↓2 +40
Просмотры 62K
Комментарии 29

Своя СУБД за 3 недели. Нужно всего лишь каждый день немного времени…

Ненормальное программирование *Python *SQL *
Из песочницы
Своя СУБД за 3 недели. Нужно всего-лишь каждый день немного времени уделять архитектуре; и всё остальное время вкалывать на результат, печатая и перепечатывая сотни строк кода.

По закону Мерфи, если есть более одного проекта на выбор — я возьмусь за самый сложный из предложенных. Так случилось и с последним заданием курса о системах управления базами данных (СУБД).

обложка /dropSQL

Дропнуть студентов
Всего голосов 71: ↑67 и ↓4 +63
Просмотры 27K
Комментарии 31

Туториал по Unreal Engine. Часть 10: Как создать простой FPS

Разработка игр *Unreal Engine *
Перевод
Tutorial
image

Шутер от первого лица (first-person shooter, FPS) — это жанр, в котором игрок использует оружие и смотрит на мир глазами персонажа. FPS-игры чрезвычайно популярны, что видно по успеху таких франшиз, как Call of Duty и Battlefield.

Unreal Engine изначально был создан для разработки FPS, поэтому вполне логично использовать его для создания такой игры. В этом туториале вы научитесь следующему:

  • Создавать Pawn с видом от первого лица, который сможет двигаться и осматриваться вокруг
  • Создавать оружие и привязывать его к Pawn игрока
  • Стрелять пулями с помощью трассировки прямых (также известной как трассировка лучей)
  • Наносить урон акторам
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Просмотры 92K
Комментарии 6

Дополнение к статье «Тонкости резюме в немецкие IT-компании»

Карьера в IT-индустрии
С интересом прочитал статью «Тонкости резюме в немецкие IT-компании». Так как я достаточно долго живу в Германии, то позволю себе несколько замечаний и дополнений, которые надеюсь будут полезны читателям Хабра и не обидят автора.

Начну с того, что за последние восемь лет я поменял три места работы, при этом не написав ни одного резюме.
Читать дальше →
Всего голосов 33: ↑31 и ↓2 +29
Просмотры 11K
Комментарии 30

Attention! S in Ethereum stands for Security. Part 2. EVM features

Блог компании Digital Security Информационная безопасность *Solidity *


Представляем вторую часть цикла, посвященного типичным уязвимостям, атакам и проблемным местам, присущим смарт-контрактам на языке Solidity, и платформе Ethereum в целом. Здесь поговорим о некоторых особенностях EVM и о том, какими уязвимостями они могут обернуться.

Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Просмотры 5.3K
Комментарии 4

Как убить технаря в тимлиде

Блог компании Конференции Олега Бунина (Онтико) Управление разработкой *Управление проектами *Управление персоналом *Конференции
В IT линейных руководителей и тимлидов традиционно набирают из лучших инженеров. Их работа теперь состоит совсем в другом: управлять людьми и взаимодействовать с другими командами и организациями. Исходный же посыл «я лучше знаю, как нужно» часто приводит к совмещению в одном лидере одновременно двух крайностей: отсутствия делегирования и тотального контроля. И то, и другое вовсе не оставляет ни времени, ни сил на управление. О том, как со всем этим справиться и какие еще препятствия могут встретиться на пути новоиспеченного руководителя, на основе собственного опыта и собственноручно набитых шишек расскажет Александр Трофимов из Лаборатории Касперского.


В основе публикации — расшифровка доклада Александра Трофимова с HighLoad++ 2017
Всего голосов 52: ↑49 и ↓3 +46
Просмотры 32K
Комментарии 20

Как подружить команду админов с командами разработки?

Блог компании 2ГИС Системное администрирование *IT-инфраструктура *Управление разработкой *DevOps *

Процесс создания сервиса не ограничивается разработкой и тестированием. Помимо этого есть ещё и эксплуатация сервиса в продакшн-инфраструктуре.

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

В статье речь пойдет о том, как мы в 2ГИС выстраивали процессы работы в команде Infrastructure & Operations (9 человек) и взаимодействие с командами разработки (5 команд). На первый взгляд, всё просто и логично.
Но всё непросто и нелогично
Всего голосов 29: ↑28 и ↓1 +27
Просмотры 12K
Комментарии 17

Как и почему мы переосмыслили поисковое поле ввода Яндекса

Блог компании Яндекс Разработка веб-сайтов *Поисковые технологии *Программирование *Промышленное программирование *

Мы уже дважды рассказывали про наши поисковые подсказки: первый пост вышел аж в 2012 году, второй же случился совсем недавно.



Поисковые подсказки — одна из тех штук, которыми компания может гордиться, поэтому нам не кажется зазорным рассказывать о них часто. Сегодня мы поговорим о функциональных изменениях в поисковых подсказках, произошедших в 2017 году. Речь пойдёт не только об изменениях в интерфейсе, но и об интересной статистике и технологических вызовах, которые она поставила перед нами.


1. «Расширяющееся» поле ввода


К началу 2017 года многие мессенджеры уже обладали «резиновыми» полями ввода. Человек, пишущий достаточно длинный текст, конечно, хочет иметь возможность увидеть если не текст целиком, то хотя бы значительную его часть.


Удивительно, что поисковые системы полностью проигнорировали этот тренд. А ведь длинные запросы составляют значительную часть потока. Скажем, запросы, содержащие более семи слов, составляют до 10% всего потока запросов к Яндексу!

Читать дальше →
Всего голосов 66: ↑63 и ↓3 +60
Просмотры 22K
Комментарии 74

Сколько участников может быть в WebRTC-звонке?

Блог компании Voximplant Разработка веб-сайтов *Программирование *Разработка мобильных приложений *
Перевод
image

Почти любой бизнес любит конференц-связь, а особенно видеоконференции. Voximplant помогает бизнесам в том числе и с этим: у нас успешно работают видеоконференции, как обычные так и HD (например, см.статью Video Conferencing). Сейчас наши конфы работают на peer-to-peer архитектуре, однако скоро мы расскажем о клиент-серверном решении с преферансом и куртизанками. А пока предлагаем посмотреть на подходы к созданию серверных конференций с помощью WebRTC: мы подготовили перевод свежей статьи из блога BlogGeek.me. Автор блога – Цахи Левент-Леви, независимый эксперт WebRTC, аналитик и предприниматель; в прошлом Цахи работал над проектами VoIP и 3G как разработчик, маркетолог и технический директор. Одним словом, он знает о чем говорит.
Читать дальше →
Всего голосов 30: ↑29 и ↓1 +28
Просмотры 11K
Комментарии 10

Использование Intel Movidius для нейронных сетей

Блог компании Наносемантика Программирование *Data Mining *Машинное обучение *Разработка робототехники *
Tutorial

Введение


Мы занимаемся разработкой глубоких нейронных сетей для анализа фото, видео и текстов. В прошлом месяце мы купили для одного из проектов очень интересную штуковину:
Intel Movidius Neural Compute Stick.
Intel MNCS

Это специализированное устройство для нейросетевых вычислений. По сути, внешняя видеокарточка, заточенная под нейронные сети, очень компактная и недорогая (~$83). Первыми впечатлениями от работы с Movidius’ом мы и хотим поделиться. Всех заинтересовавшихся прошу под кат.
Читать дальше →
Всего голосов 24: ↑24 и ↓0 +24
Просмотры 20K
Комментарии 14

Как писать на ассемблере в 2018 году

Программирование *Assembler *


Статья посвящена языку ассемблер с учетом актуальных реалий. Представлены преимущества и отличия от ЯВУ, произведено небольшое сравнение компиляторов, скрупулёзно собрано значительное количество лучшей тематической литературы.
Читать дальше →
Всего голосов 117: ↑102 и ↓15 +87
Просмотры 286K
Комментарии 167

Докер мертв

Блог компании ITSumma Разработка веб-сайтов *Системное администрирование *DevOps *
Перевод

Сказать, что для Docker'а 2017 год выдался тяжёлым, было бы преуменьшением. Не могу вспомнить ни одного столь раскрученного и хорошо обеспеченного деньгами стартапа из Долины, кроме Uber'а, который бы провёл 2017 год так же невнятно, как Docker. 2017 стал тем годом, когда Docker, великолепный образчик программного обеспечения, был полностью уничтожен плохим бизнес-управлением. Эта заметка — сторонний взгляд на то, как и где Docker пошёл не туда, и как попытки что-либо исправить оказались слишком слабыми и запоздалыми.


Читать дальше →
Всего голосов 114: ↑92 и ↓22 +70
Просмотры 86K
Комментарии 282

Обзор реализаций округления в Go

Блог компании Badoo Совершенный код *Go *
Перевод


Привет, Хабр! Меня зовут Олег, я PHP-и-не-только-разработчик в Badoo. Меня часто удивляет, насколько по-разному в языках программирования подходят к составлению стандартной библиотеки. Go — не исключение: отсутствие функции math.Round() меня удивило. Однако, покопавшись в этих ваших интернетах, я выяснил, в чём причина. Этими знаниями я и хотел бы поделиться в своём вольном переводе.

Читать дальше →
Всего голосов 62: ↑61 и ↓1 +60
Просмотры 23K
Комментарии 29

Как теория ограничений помогает зарабатывать больше — личный опыт Логомашины

Блог компании Логомашина Управление проектами *Интернет-маркетинг Управление продуктом *
image

Абстрактный вопрос: представьте, что вы проводите воду до соседней деревни через пару километров. Вы составили свой водопровод из отрезков трубы, причем у каждого отрезка свой диаметр — одни трубы толщиной в пару сантиметров, другие удалось найти пошире, диаметром в полметра. Насколько хорошо будет работать такой водопровод? Будет ли его пропускная способность равна усредненному диаметру труб?

Книга Элияху Голдратта «Цель» подсказывает, что пропускная способность такой системы труб будет стремиться к пропускной способности самого узкого места. Другими словами, вы могли не искать трубы пошире — если в системе есть участок с диаметром 2 см., весь водопровод будет работать как труба в 2 сантиметра.

Как этот принцип помогает зарабатывать больше? Сейчас расскажу.
Читать дальше →
Всего голосов 41: ↑38 и ↓3 +35
Просмотры 28K
Комментарии 21

6 привычек проектного бизнеса, которые убивают продуктовый

Блог компании Фонд развития интернет-инициатив Управление проектами *Монетизация веб-сервисов *Развитие стартапа Управление продуктом *
Иногда наши рефлексы, вызванные инстинктом самосохранения, могут привести к летальному исходу. Например, когда переходишь дорогу в России, надо посмотреть сначала налево, а потом направо. А в Англии наоборот: сначала направо, затем налево. Если забыть о левостороннем движении — можно попасть под машину.



При переходе от проектного бизнеса (например, веб-студии или компании аутсорсинговой разработки) к продуктовому (разработка и вывод на рынок собственного решения) — происходит то же самое. Сложно избежать привычного подхода к бизнесу. Директор Акселератора ФРИИ Дмитрий Калаев рассказал о шести привычках проектного бизнеса, которые мешают продуктовому расти, а в самых тяжелых случаях — убивают стартап.
Читать дальше →
Всего голосов 43: ↑43 и ↓0 +43
Просмотры 18K
Комментарии 8

Туториал по Unreal Engine. Часть 3: материалы

Разработка игр *Unreal Engine *
Перевод
Tutorial
image

Как и в реальном мире, в играх есть множество объектов, каждый со своим внешним видом. В Unreal Engine этот внешний вид зависит от материалов. Какой цвет имеет объект? Прозрачен ли он? Блестит ли? Все эти свойства задаются материалами.

Материалы используются почти для любого визуального элемента в Unreal Engine. Материалы можно наносить на любые объекты, включая меши, частицы и элементы UI.

В этой части туториала вы научитесь следующему:

  • Управлять текстурами, изменяя их яркость и цвет
  • Использовать экземпляры материалов для быстрого создания вариаций
  • Использовать динамические экземпляры материалов для изменения цвета аватара при собирании игроком предметов
Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Просмотры 110K
Комментарии 3

Kubernetes 1.9: обзор основных новшеств

Блог компании Флант Open source *DevOps *Kubernetes *


Очередной релиз системы Kubernetes, 1.9, должен случиться на этой неделе. Согласно текущему плану, это произойдёт сегодня (13 декабря). Об основных новшествах, которые принесёт этот выпуск, уже известно: как и в прошлый раз, их накопилось действительно много. Представляем обзор самых значимых изменений, которые приходят в Kubernetes с грядущим релизом 1.9.
Читать дальше →
Всего голосов 35: ↑34 и ↓1 +33
Просмотры 11K
Комментарии 9

Список полезных идей для высоконагруженных сервисов

Высокая производительность *Разработка веб-сайтов *MySQL *
В этой статье я решил собрать сборную солянку из советов о том, как разрабатывать высоконагруженные сервисы, полученных практическим путем. Для каждого совета я постараюсь приводить небольшое обоснование, без подробностей (иначе статья бы получилась бы сравнима по размеру с войной и миром). Поскольку обоснований я буду приводить не очень много, не стоит воспринимать эту статью, как догму — в каждом конкретном случае приведенные здесь советы могут быть вредны. Всегда думайте своей головой перед тем, как что-то делать.

1. Думайте своей головой и проверяйте факты


Это самое важное. Для вас не должно существовать безусловных авторитетов. Если кто-либо говорит полную чушь, или говорит что-то, что противоречит вашей практике — не прислушивайтесь к таким советам, и не важно, насколько этот человек известный и уважаемый. Если вы разрабатываете большую систему, и она не будет работать хорошо, то спрашивать будут с вас и в данном случае «мы следовали лучшим мировым практикам» оправданием не является. Умение применять нужные технологии в нужном месте и делает вас ценным специалистом, а не слепое следование чьим-то советам — для этого как раз квалификации не требуется.
Читать дальше →
Всего голосов 38: ↑35 и ↓3 +32
Просмотры 15K
Комментарии 19

Информация

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