Как стать автором
Обновить
0
0
Andrei K @1110001111

Flutter, Android

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

Программировать с нуля. «Сейчас» — самое подходящее время, чтобы начать

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

(Иллюстрации к статье А.П. Ершова «Программирование — вторая грамотность»)

Стив Джобс не написал ни строчки кода, Билл Гейтс — написал. Пол Грэм — первоклассный программист, Питер Тиль — юрист по образованию, сооснователь PayPal и владелец Palantir (написал ли он что-нибудь?), а Илон Маск в детстве написал свою игру и успешно её продал.

Никита truesnow из #tceh сказал мне, что на курсе «Врубаемся в Ruby» они научат программировать любого человека, даже с нуля. Я спросил его: «А с гуманитарием справитесь?» И мы задумались, были ли случаи, когда «гуманитарий» выучил язык программирования?

На ум сразу пришел бомж-программист, но после успеха с его приложением он предпочёл остаться «дзен-монахом». Есть ли еще примеры? Вдохновляющий пример, что научиться кодить может каждый — слепой программист. Когда я прочитал статью на Хабре «Смотря на код с закрытыми глазами», то понял, что нет преград, кроме собственных отмазок.

А у меня для вас есть три истории из моей жизни. Просто три истории.

История первая — ламер


Слово «ламер» я прочитал в «Компьютерре». Там давалось такое определение: «Ламер — отнюдь не безграмотный человек, не умеющий (как бы это помягче выразиться?) программировать». Окрылённый истиной я побежал и рассказал об этом друзьям-одноклассникам, но они предпочли поиграть в футбол, вместо того чтобы освоить суперспособности. Забавно, что потом все они зарабатывали программированием деньги, а я нет. Через неделю я записался в краевую станцию юных техников (КСЮТ), где был кружок по программированию. Там для новичков давали qbasic. А боги прогали на C.
Читать дальше →
Всего голосов 36: ↑29 и ↓7+22
Комментарии62

Release it! Проектирование и дизайн ПО для тех, кому не всё равно

Время на прочтение4 мин
Количество просмотров26K
Привет, Хаброжители!
У нас вышла книга Майкла Нейгарда

image

Неважно, каким инструментом вы пользуетесь для программной разработки — Java, .NET, или Ruby on Rails. Написание кода — это еще только полдела. Готовы ли вы к внезапному наплыву ботов на ваш сайт? Предусмотрена ли в вашем ПО «защита от дурака»? Правильно ли вы понимаете юзабилити? Майкл Нейгард утверждает, что большинство проблем в программных продуктах были заложены в них еще на стадии дизайна и проектирования. Вы можете двигаться к идеалу сами — методом проб и ошибок, а можете использовать опыт автора. В этой книге вы найдете множество шаблонов проектирования, помогающих избежать критических ситуаций, и не меньшее количество антишаблонов, иллюстрирующих неправильные подходы с подробным анализом возможных последствий. Любой разработчик, имеющий опыт многопоточного программирования, легко разберется в приведенных примерах на Java, которые подробно поясняются и комментируются.
Стабильность, безопасность и дружественный интерфейс — вот три важнейших слагаемых успеха вашего программного продукта. Если в ваши планы не входит в течение последующих лет отвечать на недовольные письма пользователей, выслушивать критику заказчиков и постоянно латать дыры, устраняя возникающие баги, то прежде чем выпустить финальный релиз, прочтите эту книгу.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии9

Краткая история масштабирования LinkedIn

Время на прочтение9 мин
Количество просмотров27K
Примечание переводчика: Мы в «Латере» занимаемся созданием биллинга для операторов связи. Мы будем писать об особенностях системы и деталях ее разработки в нашем блоге на Хабре (например, об обеспечении отказоустойчивости), но почерпнуть что-то интересное можно и из опыта других компаний. Сегодня мы представляем вашему вниманию адаптированный перевод заметки главного инженера LinkedIn Джоша Клемма о процессе масштабирования инфраструктуры социальной сети.



Сервис LinkedIn был запущен в 2003 году с целью создания и поддержания сети деловых контактов и расширения возможностей поиска работы. За первую неделю в сети зарегистрировалось 2 700 человек. Спустя несколько лет число продуктов, клиентская база и нагрузка на серверы заметно выросли.

Сегодня в LinkedIn насчитывается более 350 миллионов пользователей по всему миру. Мы проверяем десятки тысяч веб-страниц каждую секунду, каждый день. На мобильные устройства сейчас приходится более 50% нашего трафика по всему миру. Пользователи запрашивают данные из наших бэкенд-систем, которые, в свою очередь, обрабатывают по несколько миллионов запросов в секунду. Как же мы этого добились?
Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии5

История одного факапа Яндекс.Навигатора. В шести действиях с прологом и раскаянием

Время на прочтение4 мин
Количество просмотров129K
Факапы случаются и у больших компаний, с тестировщиками и строгими релизными процедурами. В понедельник такой факап случился у нас — мы выкатили версию Яндекс.Навигатора под Андроид с неприятной ошибкой: приложение постоянно держало включённым микрофон и записывало весь звук в локальный файл. В результате быстро забивалось место на устройстве, да и просто это выглядело подозрительно, хотя содержимое файла по сети никуда и никогда не передавалось.



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

Мы решили не стесняться, а поделиться с вами опытом, который из этой ситуации извлекли. Возможно, это поможет вам быть лучше. Как обычно, причиной стало сочетание технологических факторов и дискоммуникации между людьми. Подробности — под катом.
Шесть драматических действий с прологом и раскаянием
Всего голосов 210: ↑183 и ↓27+156
Комментарии294

Как привлечь пользователей, выбрать иконку своего приложения и заработать первый миллион? Читайте в новостях недели для мобильного разработчика

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


Что на самом деле привлекает пользователей?


Развитие мобильного рынка идет полным ходом. В условиях постоянно нарастающей конкуренции привлечь пользователя становится все сложнее и сложнее. Исследователь из Venture Beat Джон Коэцер (John Koetsier) представил отчет, в котором составлен рейтинг каналов привлечения пользователей.

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

В представленной диаграмме почти половина стратегий привлечения — это каналы не требующие покупки рекламы (PR, e-mail, мотивированный трафик). Важно помнить, что то, что эти каналы не содержат рекламного бюджета, не значит, что они бесплатные.
Читать дальше →
Всего голосов 20: ↑12 и ↓8+4
Комментарии0

Как научиться делать игры: полезные ресурсы

Время на прочтение9 мин
Количество просмотров111K
Когда я начинал строить свою карьеру в игровой индустрии шесть лет назад, то часто задавался вопросами по геймдеву. Начиная от поиска общего понимания того, как разрабатываются и оперируются онлайн-игры, до частных вопросов типа того, как лучше рекламировать конкретную игру. Тогда было мало структурированной информации по созданию и продвижению игр, новичку разобраться и найти ответы было исключительно сложно. Практически единственным источником информации был собственный опыт и консультации более опытных коллег. Сейчас ситуация кардинально изменилась. Информации по игровой индустрии настолько много, что рискуешь в ней просто утонуть. Для того, чтобы упростить процесс получения нужных мне знаний, я структурировал и делал себе пометки по всем источникам информации о геймдеве. Далее в статье предлагаю всю эту информацию в удобной форме для общего пользования.

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

Deephack: хакатон по глубокому обучению с подкреплением, или как мы улучшали алгоритм Google Deepmind

Время на прочтение6 мин
Количество просмотров13K
С 19 по 25 июля проходил хакатон Deephack, где участники улучшали алгоритм обучения с подкреплением на базе Google Deepmind. Цель хакатона — научиться лучше играть в классические игры Atari (Space Invaders, Breakout и др.). Мы хотим рассказать, почему это важно и как это было.

Авторы статьи: Иван Лобов IvanLobov, Константин Киселев mrKonstantin, Георгий Овчинников ovchinnikoff.
Фотографии мероприятия: Мария Молокова, Политехнический музей.

Почему хакатон по обучению с подкреплением это круто:
  • Это первый в России хакатон с использованием глубокого обучения и обучения с подкреплением;
  • Алгоритм Google Deepmind — одно из последних достижений в области обучения с подкреплением;
  • Если вас интересует искусственный интеллект, то эта тема — очень близка к этому понятию (хотя мы сами и не хотели бы называть это ИИ).


Читать дальше →
Всего голосов 22: ↑14 и ↓8+6
Комментарии5

Технокнига, часть 2: литература по СУБД, разработке фронтенда, проектированию интерфейсов и углубленному программированию на Java

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


Недавно мы начали публиковать обзорный список литературы, рекомендуемой к прочтению студентам наших образовательных проектов: Технопарка, Техносферы и Технотрека. Но это не значит, что остальным эти книги будут не интересны. Так что если вы жаждете знаний по вынесенным в заголовок темам, то наверняка найдете что-нибудь интересное во второй части обзора.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии12

Секреты Stack Overflow

Время на прочтение5 мин
Количество просмотров65K
Приветствую, коллеги. За последние несколько лет Stack Overflow стал полезнейшим инструментом для разработчиков. Множество вопросов, заданных Гуглу и Яндексу, в первых же ссылках ведут на понятные и исчерпывающие ответы на этом ресурсе. Большинство разработчиков используют сайт Stack Overflow именно как базу знаний программистов, возможность быстро получить нужный ответ. Под катом я расскажу про несколько интересных кейсов подводной части айсберга: спрятанные ответы, награды, прокачивание кармы и многое другое, скрытое от поверхностного взгляда.

Читать дальше →
Всего голосов 90: ↑84 и ↓6+78
Комментарии93

Реверс-инжиниринг полёта Бэтмена

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


Этим летом вышла очередная игра из серии Batman Arkham, в ПК версии которой оказалось столько багов, что было принято беспрецедентное решение снять её с продаж. Я решил посмотреть, что же там такого ужасного.

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

На скриншоте изображён этот момент: вместо того, чтобы лететь вперёд, Бэтмен повернулся вниз головой, демонстрируя полнейшее пренебрежение к происходящему. Аналогичный баг был в предыдущей игре (Arkham Origins), и он до сих пор не исправлен. Видимо тот же самый кривой код был перенесён в новую игру. Попробуем найти, какие ошибки делают программисты в играх такого уровня, и исправить их.
Читать дальше →
Всего голосов 226: ↑225 и ↓1+224
Комментарии101

Как оценить глубину игровой механики. Часть первая

Время на прочтение6 мин
Количество просмотров20K
В этой статье по геймдизайну Майк Стаут, в прошлом дизайнер студии Insomniac Games, делится полезной информацией о глубине игровых механик и рассматривает вопросы их излишней перегруженности на примере серии игр Ratchet & Clank.


Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии0

10 правил дзен-программиста

Время на прочтение9 мин
Количество просмотров111K
От переводчика: это перевод статьи Кристиана Глобмайера The Ten Rules of a Zen Programmer. Статья мне понравилась, решил сделать перевод, после окончания перевода загуглил название, нашел вариант перевода: 10 принципов дзен программиста. Отличается от моего, поэтому решил свой вариант перевода все-таки запостить.

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


Одним дождливым утром я сидел за своим столом и думал об эффективной работе. До того, как я начал работать фрилансером, у меня бывало, что я работал много, но никогда не был доволен результатом. Я начал практиковать Дзен в 2006 году. То, что мне пришло в голову через довольно большое время — старые мастера Дзен уже знали сотни лет назад, как сегодняшние программисты должны работать. Хотя я не люблю посты «как быть лучшим программистом», я хочу рассказать о некоторых моих мыслях с того времени. Этот пост будет служить мне напоминанием, но если у вас есть идеи, не стесняйтесь оставлять комментарии.
Читать дальше →
Всего голосов 139: ↑118 и ↓21+97
Комментарии122

Семь итераций наивности или как я полтора года свою дебютную игру писал

Время на прочтение32 мин
Количество просмотров78K
imagination С появлением у меня в первом классе Dendy вопрос кем я стану отпал сам собой буквально через пару недель — программистом конечно же. Я долго и упорно шел к этому, невзирая на отсутствие информатики в школе, работал в техподдержке известного всем регистратора параллельно с учебой в институте, но полноценная жизнь началась лишь в тот момент, когда меня наконец-то взяли хоть куда-то писать код.

Очень скоро я понял, что мало быть программистом, работающим от звонка до звонка и получающим за это деньги на карточку — всё самое интересное начинается, когда решаешь сам без всяких архитекторов, тестировщиков и тимлидов что-нибудь этакое написать и заставить работать. Желательно что-нибудь веселое и захватывающее. Игру, например.

Под катом лежат семеро очевиднейших (как мне сейчас кажется) граблей, неожиданно вставших у меня на пути, а потому способных с отличной от нуля вероятностью встать на пути любого, идущего дорогой разработки игр.
Семь не слишком оригинальных мишеней для лба, разбавленных повествованием
Всего голосов 100: ↑96 и ↓4+92
Комментарии137

Top Story уполномочен заявить: не бойтесь мобильной разработки

Время на прочтение7 мин
Количество просмотров4.5K
Привет, Хабр! В августе Top Story исполняется полгода — самое время поделиться опытом разработки приложения, рассказать истории из жизни и вспомнить основные ошибки. За эти шесть месяцев наш агрегатор новостей вырос, окреп и имеет вполне завершённый бэкенд и фронтенд, поэтому нам есть о чем рассказать любителям мобильной разработки и тем, кто делает в ней первые шаги.



Мобильная разработка обрела огромную популярность — её ведут мировые гиганты, агентства, небольшие компании и программисты, появилось огромное количество инструментов, которые делают работу над приложением ещё проще. Число приложений растёт с неимоверной скоростью. Cогласно статистике Appfigures, количество приложений в App Store составило на конец года 1,21 млн, а Play Store — 1,43 млн… Мы решились войти в это число и завоевать своих пользователей. С самого начала у нас было несколько отличительных черт, на которые мы могли опираться в процессе разработки. Как вы помните из предыдущих постов, главная особенность Top Story — персонализированный подход к пользователю. Реализуя эту задачу мы набивали шишки, ставили удачные и не очень эксперименты, работали неделями над исправлением порой совершенно смешных ошибок.
Поехали!
Всего голосов 9: ↑6 и ↓3+3
Комментарии4

Отъявленный программист: лайфхакинг из первых рук

Время на прочтение4 мин
Количество просмотров48K
Привет, Хаброжители!
У нас вышла новая книга Игоря Савчука

image

Сделать карьеру программиста намного тяжелее, чем просто быть им. Специфического склада ума, умения мыслить абстрактно, развитой логики мало, главное — сознавать, что работа это не только способ зарабатывания денег. Не так уж много людей соответствуют всем условиям, и именно об этом меньшинстве пойдет речь. Перед вами — сборник откровенных бесед с известными программистами, системными администраторами и другими «айтишниками». Герои книги исповедуют разные взгляды, относятся к разным социальным группам, могут оперировать миллионами долларов, быть героями гламурных тусовок или простыми офисными трудягами-программистами. Объединяет этих людей умение использовать свои увлеченность, страсть и любовь к профессии как рычаг, позволяющий достигнуть принципиально новых вершин в развитии себя и своего бизнеса. Мы постарались найти самых ярких «звезд» компьютерно-сетевой субкультуры и донести до вас максимально разнообразные мнения, дабы читатель, какие бы ни сложились у него личные вкусы, не скучал в этом пестром калейдоскопе персонажей.
Читать дальше →
Всего голосов 28: ↑22 и ↓6+16
Комментарии24

Распродажа книг из серии «Head First O'Reilly»

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

Всем привет! На основе нашего предыдущего поста решили продолжить распродажу книг.
Читать дальше →
Всего голосов 50: ↑38 и ↓12+26
Комментарии22

Как компьютер сам свой код улучшал, или программируем процесс программирования

Время на прочтение9 мин
Количество просмотров34K
На носу было придумывание темы для диплома, на кафедре популярностью пользовались различные варианты идей связанных с генетическими алгоритмами, а мне самому хотелось сделать что-нибудь этакое. Так и родилась идея, давшая начало данному проекту, а именно генетическому оптимизатору программного кода.



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

Например вот такая забавная оптимизация набора арифметических инструкций (взятых из какой-то подвернувшейся под руку математической библиотеки), соответствующих формулам: , которая на 6 джаве с выключенным JIT у меня давала около 10% ускорения, при этом на первый взгляд даже не очевидно что эти формулы эквивалентны (ОТКУДА ТУТ OR? ЭТО ВООБЩЕ ЗАКОННО?!), хотя это так. Под катом я расскажу, как именно получались такие результаты и каким образом компьютер придумывал лучший код чем тот, который мог написать я сам.
Читать дальше →
Всего голосов 45: ↑43 и ↓2+41
Комментарии39

Сколько загрузок нужно для ТОП-10 бесплатных игр App Store

Время на прочтение2 мин
Количество просмотров14K
Наверняка многим разработчикам, чьи приложения давно не попадали на высокие места в рейтингах App Store, будет интересно узнать, сколько же загрузок нужно получить, чтобы туда попасть. Постараюсь ответить на этот вопрос в меру своих возможностей. Недавно мне удалось продвинуть свою игру в ТОП-10 бесплатных игр российского App Store, и я хочу рассказать о том, сколько же инсталлов для этого понадобилось.

К сожалению, совсем уж точный ответ не обещаю. Так получилось, что из-за досадного бага в игре не работала аналитика. Но и без этого можно приблизительно прикинуть, сколько же скачиваний нужно было для ТОП-10 в начале августа.



Как видно из скриншота выше, за первые 3 дня игра была получила 11000 инсталлов, но 6,5 тысяч из них пришлись на 3-й день. При этом игра попала на 7-е место в рейтинге бесплатных игр на iPhone в 17:00 1 августа. После этого никакого пиара уже не было, а учитывая, что приведенная статистика загрузок считается по тихоокеанскому времени, то как минимум половину, а скорее всего даже больше загрузок можно считать органическими. Также стоит учесть, что для 7-го места нужно больше инсталлов, чем для 10-го. С учетом всего этого можно сделать вывод, что в начале августа для ТОП-10 бесплатных игр нужно было порядка 6-7 тысяч загрузок за 3 дня.

Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии8

Книги, по которым мы в детстве учили программирование и будем учить детей

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


Когда я зашел в гости к Робокурс (они учат ребятишек 7-13 лет программированию и робототехнике), то увидел коллекцию раритетных книжек по программированию и вспомнил былое, 286-е без жесткого диска, BASIC из оперативки и прочее.

Я был в восьмом и от одноклассника узнал, что есть «Краевая станция юнных техников» (КСЮТ), где помимо выпиливания лобзиком кордовых авиамоделей есть и инновационный кабинет по программированию. Записался туда. Там были и первые сетевые баталии в NETWARS, и первая порнокартинка, и война за пароль главного администратора. Адекватных книг практически на было, особенно по горячо любимому мной бейсику (только «Программышка» и еще одна розовенькая книга, откуда я узнал, что такое массив и что с ним можно делать).

Хочу спросить хабрачитателей, по каким книжкам они делали первые шаги в программировании.

Под катом кратенький обзор одной современной и нескольких олдскульных советских книжек по робототехнике и программированию для детей из коллекции преподавателей. (Бонус — обзор манги по электричеству.) А в комментах — ваши первые книги.
Читать дальше →
Всего голосов 36: ↑30 и ↓6+24
Комментарии69

Перевод книги Ричарда Бартла «Designing Virtual Worlds». Глава 1. Основы

Время на прочтение12 мин
Количество просмотров19K
imageНачало тут
Продолжение тут

Ричард А. Бартл (Richard Allan Bartle)
Дипломированный специалист по искусственному интеллекту. Один из создателей самого первого MUDа (1978 год), который дал начало всей индустрии массивно-многопользовательских игр, за бумом которой мы сейчас наблюдаем. В дальнейшем Ричард плотно занялся исследованиями виртуальных миров и их обитателей. В качестве независимого консультанта он участвовал практически в каждом таком проекте за последние 20 лет.

(Кто хочет помочь с переводом фундаментальной книги по разработке игр, пишите в личку или на почту magisterludi2016<собака>yandex.ru)

Основы

(за перевод огромное спасибо Владиславу Задумову (zadumov.v<собака>gmail.com), который профессионально занимается переводами с английского и японского)

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

Если взглянуть на виртуальные миры со стороны их исторического развития, то используемые наиболее часто категории довольно легко выделяются:

  • Внешний вид
  • Жанр
  • Кодовая база
  • Срок жизни
  • База игроков
  • Степень изменяемости
  • Степень неизменности


Давайте рассмотрим их по порядку.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии2

Информация

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

Специализация

Специалист
Flutter
Android development