Как стать автором
Обновить
39
0
Закируллин Артём @Artemzr

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

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

Как два программиста хлеб пекли

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


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

Итак, представим себе, что есть два программиста. Один из них умный, прочёл кучу статей на Хабре, знает каталог GoF наизусть, а Фаулера — в лицо. Другой же делает всё просто. Первого будут звать, например, Борис Н., а второго — Маркус П. Само собой, имена вымышленные, и все совпадения с реальными людьми и программистами случайны.

Итак, к ним обоим приходит проектный менеджер (если в вашей вселенной PM не ходит сам к программистам, назовите его как-то иначе, например BA или lead, сути это не изменит) и говорит:
— Ребята, нам нужно, чтобы делался хлеб.

Именно так, «делался», без уточнения способа производства.

Как же поступят наши программисты?
Читать дальше →

Влияние дофамина на организм: как работает и как этим управлять

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

Ура! Готов магнум опус про дофамин, по мотивам подкаста Лаборатории Губермана! Это было сложно, долго и дорого, но оно того точно стоило!

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

Она является конспектом и осмыслением 39 выпуска подкаста “Лаборатория Губермана” (Controlling Your Dopamine For Motivation, Focus & Satisfaction | Huberman Lab Podcast #39), который ведет Эндрю Губерман, профессор нейробиологии Стэнфордского Университета. 

Подстрочный перевод выпуска (35 страниц).

Задача данного конспекта: сохранить максимум фактуры и прикладной части, разобраться в том, как там что работает, и сразу приложить подходящие полезные рутины к улучшению качества жизни. Понять, как и зачем можно регулировать количество дофамина в мозге и теле через определённые действия и их субъективное восприятие. 

Читать далее

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

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

Речь пойдёт о далёком 2005 году, когда только-только вышла Civilization4 от Sid Meier. К тому времени я плотно висел в Civilization3, прошёл её раз дцать на самых разных картах, и тут вышла долгожданная четвёрка. Это были годы P3-512Mb для mid-end и P4-1Gb в hi-end. Только топовые конфиги в те годы имели два гига памяти на борту.

Civilization 4 вышла с графикой уровня года 2002-2003го, что в принципе нормально для мэинстрима тех времён, особенно учитывая что это пошаговая стратегия, а не шутер. Но жрала с течением игры до 900Mb оперативки, что приводило к жуткому свопу, особенно на больших картах, особенно к концу игры, особенно на ноутбуках. Народ недоумевал, я тоже. Учитывая, что в те же годы вышел Far Cry с куда более красивой графикой, и который вполне игрался на максимуме даже с 512Mb на борту, такое поведение Civilization 4 выглядело крайне странным. Захотелось разобраться и покарать…
Читать дальше →

История игрушки. Поле Чудес

Время на прочтение11 мин
Количество просмотров301K
Случилось это в городе, закрытом от шпионов, цыган и бед социалистической экономики. В Советском Союзе было ровно 10 таких городов, повязанных атомным секретом.

Жизнь мальчиков с математическими способностями в атомных городах была предопределена — школа с пятерками по алгебре и геометрии, мех-мат столичного университета, возвращение в систему, квартира через год, кандидатская степень в 40 лет, ВАЗ 2103 к пятидесяти годам, звание доктора, гараж, шесть соток, четыре квадратных метра.

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

Pole Chudes для iPhone

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

Читать дальше →

История одного байта

Время на прочтение15 мин
Количество просмотров58K
Предисловие.
Этот рассказ имеет свою длинную историю. Для многих это, возможно, будет махровый баян, но мне кажется он стоит того, что бы его прочитали новые люди.
Во всех источниках, где я встречал его сведения об авторе были просты и незатейливы: Dmitry Galuscenko. Если кто-то может указать сайт или e-mail — напишите в комментариях, я с удовольствием добавлю.
Итак, начнем.


Мне не хватало байта. Всего одного. Да, да. Того самого, что из восьми бит состоит. Что? Hет, я не псих, хотя одному богу известно, сколь тонкой была граница отделявшая меня от этого состояния.
Hо все по порядку

Пост про капельку

Время на прочтение7 мин
Количество просмотров88K
Наверняка многие из вас видели смартфонный лайфхак: капаем капельку воды на камеру смартфона и остаёмся без камеры получаем возможность делать «макроснимки». Решил проверить, какие фотошедевры можно сделать таким способом.


Читать дальше →

Где и как изучать машинное обучение?

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

Всем привет!


Ни для кого не секрет, что интерес к машинному обучению и искусственному интеллекту растет в лучшем случае по экспоненте. Тем временем мой Яндекс Диск превратился в огромную свалку пейперс, а закладки в Google Chrome превратились в список, длина которого стремится к бесконечности с каждым днем. Таким образом, дабы упростить жизнь себе и вам, решил структурировать информацию и дать множество ссылок на интересные ресурсы, которые изучал я и которые рекомендую изучать вам, если вы только вначале пути (буду пополнять список постоянно).

Путь для развития новичка я вижу примерно так:

Untitled_presentation
Читать дальше →

Git снизу вверх

Время на прочтение27 мин
Количество просмотров129K
У этого перевода не совсем обычная история. Системы контроля версий далеки от моих профессиональных интересов. Для рабочих проектов они мне требовались нечасто, причем, разные, так что, каждый раз, когда возникала такая необходимость, я заново вспоминала, как в них делается та или иная операция. А для личных проектов мне хватало возможностей Dropbox, хранящей историю версий файлов.


Изображение из твиттера @girlie_mac

Но вот однажды я на три незабываемых дня попала в роддом — это иногда случается с женщинами. Из развлечений у меня были новорожденная дочь и телефон с большим экраном. Дочь поначалу развлекала плохо (дома она быстро исправилась), а на телефоне помимо книг и фильмов обнаружился текст «Git from the bottom up», который оказался более чем годным… С тех пор прошло почти 3 года, подросшей дочке уже пора самой начинать использовать Git Git стал мейнстримом, если не сказать стандартом в современной разработке, а я с удивлением обнаружила, что перевода на русский этого чуда, полезного не только начинающим, но и продвинутым пользователям Git, до сих пор нет. Исправляю эту ситуацию.
Читать дальше →

Задача об определении принадлежности точки многоугольнику

Время на прочтение5 мин
Количество просмотров12K
Здравствуйте, уважаемые хабравчане!
В процессе разработки приложения под Android, которое предполагает взаимодействие пользователя с графическими примитивами (точками, линиями, эллипсами, прямоугольниками и т.д.), возникла довольно неприятная ситуация: пользователь может задать произвольный многоугольник и сделать его неактивным, однако чтобы в будущем была возможность активировать данный многоугольник и продолжить с ним работь (например, переместить в другое место или добавить/удалить вершины) необходимо для неактивного объекта определить, коснулся ли пользователь данного объекта, т.е. потребовалось решить вопрос о принадлежности точки многоугольнику.

Данная задача широко известна в вычислительной геометриии и я предлагаю вашему вниманию результаты моего исследования данной темы.
Читать дальше →

Что делать, если вам надоели рекламные СМС

Время на прочтение3 мин
Количество просмотров297K
В продолжение статей о том, что ФАС собирает дополнительную информацию о «коротких» номерах, хочу рассказать, как эта служба может помочь вам избавиться от нежелательной рекламы по СМС.

Согласно ч.1 ст.18 ФЗ «О рекламе», распространение рекламы по сетям электросвязи, в том числе посредством использования телефонной, факсимильной, подвижной радиотелефонной связи, допускается только при условии предварительного согласия абонента или адресата на получение рекламы.

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

Устраиваемся программистом за рубежом

Время на прочтение16 мин
Количество просмотров63K
Как часто вас посещала мысль о трудоустройстве за границей, будь то просто временная работа или переезд на постоянное место жительство? Какую страну выбрать? Возможно ли пройти собеседования за тысячи километров по телефону и получить джоб-офер? Как будет выглядеть переезд и жизнь в другой стране? В данной статье я бы хотел поделиться личным опытом и опытом многих моих друзей работающих за рубежом.
Читать дальше →

Что делать, если вам грозят 38 млрд. (или меньше) за нарушение авторских прав

Время на прочтение5 мин
Количество просмотров11K
38 млрд. рублей! Этой суммы вполне бы хватило для закрытия внешнего долга — ну, например Албании. Оказалось — это ущерб, нанесенный известным отечественным и зарубежным компаниям.
Сумма фантастическая, особенно для супружеской пары с фамилией отличное от «Абрамович». Хочу заметить, что если все и далее пойдет по строгой букве закона, с буквальным трактованием и отсутствием вопросов суда к обвинению, то сумма может вырасти.
Читать дальше →

Как начать и не бросить писать ОС

Время на прочтение7 мин
Количество просмотров78K
Очередной велосипедЧитая Хабр в течении последних двух лет, я видел только несколько попыток разработки ОС (если конкретно: от пользователей pehat и iley (отложено на неопределённый срок) и Igor1024 (не заброшено, но пока больше походит на описание работы защищённого режима x86-совместимых процессоров, что бесспорно тоже необходимо знать для написания ОС под x86); и описание готовой системы от alman (правда не с нуля, хотя в этом нет ничего плохого, может даже наоборот)). Мне почему-то думается, что почти все системные (да и часть прикладных) программисты хотя бы раз, но задумывались о написании собственной операционной системы. В связи с чем, 3 ОС от многочисленного сообщества данного ресурса кажется смешным числом. Видимо, большинство задумывающихся о собственной ОС так никуда дальше идеи и не идёт, малая часть останавливается после написания загрузчика, немногие пишут куски ядра, и только безнадёжно упёртые создают что-то отдалённо напоминающее ОС (если сравнивать с чем-то вроде Windows/Linux). Причин для этого можно найти много, но главной на мой взгляд является то, что люди бросают разработку (некоторые даже не успев начать) из-за небольшого количества описаний самого процесса написания и отладки ОС, который довольно сильно отличается от того, что происходит при разработке прикладного ПО.

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

Читать дальше →

Спать мало, но правильно?

Время на прочтение7 мин
Количество просмотров901K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →

Азбука хорошего разработчика. Книжки для чтения

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

Паттерны проектирования

Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
Базовая книга – классика:
«Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.

Рефакторинг

«Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
Читать дальше →

Как найти работу в Германии

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

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

Карьера в IT

Время на прочтение9 мин
Количество просмотров36K
Что является основным критерием карьерного успеха? Как попасть на желанную работу, если недостаточно опыта? В этой статье я попытался ответить на эти и другие вопросы, связанные с карьерой IT-специалиста.

Читать дальше →

Как продвигать игру в AppStore: делюсь опытом на примере Wordrive

Время на прочтение13 мин
Количество просмотров35K
Хочу поделиться опытом по продвижению своей новой игры для iPhone/iPad — Wordrive.

Статья может быть полезна не только для продвижения iPhone-приложений, но любого мобильного или прикладного софта, потому что часть советов довольно универсальны. Многое из описываемого тут я в сети нигде не нашел. Надеюсь, это поможет пройти этот этап без типичных ошибок.

Итак, вот у вас готово приложение и оно появилось в AppStore. Первый поток людей на него направляется из iTunes/App Store, сам собой — за счет появления в «новинках». Рассчитывать на него нечего — он как пришел, так и уйдет через пару-тройку дней. За это время нужно делать все, чтобы о программе или игре стали писать в сети. Если программа за это время сможет собрать еще и интернет-аудиторию, то выйти в топы будет сильно проще. А чтобы ее собрать, к моменту запуска в App Store нужно уже много что сделать.

Читать дальше →

Мой опыт восстановления зрения

Время на прочтение9 мин
Количество просмотров278K
   Этим летом я был на некоторое время предоставлен сам себе – всех своих я отправил подальше от дыма, а сам, недолго думая, решил немного подтянуть здоровье. Не просто записаться в тренажерный зал и накачать «квадратиков» для пляжа, а именно обследоваться у некоторых врачей, чтобы выработать для себя вектор дальнейших действий, дабы совсем не превратиться в «овоща».

image

   Расскажу лишь про свой опыт восстановления зрения – именно оно больше всего подвержено риску у любого «компьютерного» человека.
Читать дальше →

Бизнес для программистов. Как начать свое дело

Время на прочтение2 мин
Количество просмотров20K
Многие из читателей Хабрахабра хотели бы открыть свой бизнес и перестать работать на «дядю». Но как это сделать? Какие опасности это таит? Ответы на эти и другие вопросы можно найти в замечательной книге «Бизнес для программистов. Как начать свое дело».

Ее написал Эрик Синк – бывший разработчик Spyglass, основатель и руководитель SourceGear, одного из основных поставщиков ПО в области контроля версий, а также колумнист MSDN.

Основная тема книги – это как стартовать и развить свою маленькую компанию независимого поставщика ПО. Эрик разбивает эту задачу на несколько традиционных компонентов: как стать предпринимателем, люди, маркетинг, продажи. Но каждый из них рассматривает через призму восприятия программиста. Например, приводит следующий совет по поиску идей:
Idea FindGoodProductIdea ()
{
ArrayList candidateList = BrainstormLotsOfIdeas();
return ChooseTheBestIdea(candidateList);
}

Читать дальше →
1
23 ...

Информация

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