Pull to refresh
0
0
Send message

Разбор задачи «Зеркало в коридоре» и негодование

Reading time5 min
Views22K
Хочу более подробно разобрать задачу из публикации «Олимпиады по программированию среди школьников», а также показать, что она действительно нетривиальная. Хотя в результате программа и состоит из трех присваиваний и двух сравнений, прийти к этому результату не так уж и просто, тем более, если нет под рукой справочника по аналитической геометрии.


Читать дальше →
Total votes 42: ↑31 and ↓11+20
Comments53

Антипаттерны проектирования: Poltergeists

Reading time5 min
Views36K
«Я точно не знаю, что делает этот класс, но я уверен, что это важно!»

У паттернов проектирования — типовых решений, есть антиподы — типовые ошибки в проектировании. О паттернах проектирования написано достаточно книг, о антипаттернах — единицы. Вашему вниманию представлен вольный перевод статьи с сайта SourceMaking, описывающий один из таких антипаттернов (всего на сайте в разделе Software Development Antipatterns их представлено 14).

Наименование: Poltergeists (полтергейсты)
Другие наименования: Gypsy (цыган), Proliferation of Classes (рост количества классов), Big DoIt Controller Class
Масштаб: приложение
Рефакторинг: Ghostbusting (охота за привидениями)
Причина появления: непонимание концепций ООП, лень продумать архитектуру классов
Читать дальше →
Total votes 43: ↑30 and ↓13+17
Comments21

7 правил написания программ, которые не умрут вместе с вами

Reading time5 min
Views59K
Ваши программы – это ваше наследие. Решайте сами, как долго оно будет существовать.

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

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

Что можно получить, выдавая хороший код? Разве не имеет права на жизнь подход в обучении под названием «двигайся быстрее, ломая всё на своём пути?» Нет. Обучиться писать код – это навык, это доступно каждому. Обучиться писать хороший код – это искусство. Это требует усилий, времени и целеустремлённости.
Читать дальше →
Total votes 49: ↑39 and ↓10+29
Comments17

WordsFromText: как читать на английском с удовольствием

Reading time4 min
Views51K
Чтение в оригинале для многих является проблемой. Обилие незнакомых слов усложняет восприятие текста и приводит к потере энтузиазма. Такое происходит, когда сложность текста превосходит ваш текущий уровень, или когда вы читаете текст не по вашей тематике. Технари могут без проблем общаться на рабочие темы, но пасуют перед статьями о политике, музыке и серьёзной художественной литературой.

Цель нашего сервиса — решить эту проблему.

Несколько лет назад мы писали на Хабре об этом сервисе. Идея нашла отклик, сайт приобрел постоянных пользователей, хотя в то время сервис мог только показывать статистику слов из текста. За последние месяцы сервис стал умнее.

Как мы переводим слова

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

Поэтому мы сделали 2 вещи
Total votes 39: ↑37 and ↓2+35
Comments64

Побеждаем NPE hell в Java, не используя IntelliJ IDEA

Reading time5 min
Views22K

Отказ от ответственности


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

Во-вторых, на ресурсе уже есть отличная статья tr1cks, посвящённая IntelliJ IDEA, которая усиливает и без того стойкое впечатление, что IDEA — это очень хорошо, а Eclipse — это для бедных (что стало притчей во языцех). Для соблюдения баланса я сконцентрируюсь на Eclipse.
Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments26

Подведены итоги Олимпиады по программированию среди школьников

Reading time5 min
Views16K
С 16 по 22 января в Московском университете стали и сплавов прошла III Международная олимпиада по программированию среди школьников. Мероприятие было организовано НИТУ «МИСиС» и Cognitive Technologies. Признаться, понадобилось практически три недели, чтобы уговорить организаторов открыть хотя бы пару условий предложенных на мероприятии задач и получить разрешение опубликовать их разбор.

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

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


Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments22

10 главных правил для работы на дому

Reading time5 min
Views18K
image

Не секрет, что сейчас большинство работодателей стремятся урезать свои расходы, в том числе, это касается аренды помещений. Это одна из причин, по которой удаленная работа сейчас активно набирает популярность. На Мегамозге было много публикаций на эту тему и мы решили обобщить все советы и рекомендации в нашей статье.
Читать дальше →
Total votes 32: ↑26 and ↓6+20
Comments19

Стэнли Тэнг и Уокер Уильямс: Начинайте с малого

Reading time17 min
Views17K


Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


Первая часть курса
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments5

Философия программирования 4 — Технология «Шапито»

Reading time8 min
Views30K
Представьте себе конвейер с программистами: сели люди за одним круглым столом, один огромный монитор во всю стену, и у каждого ещё свой обычный.

Первый: тоном капитана звездолёта, — нужна функция connectToDB() в главном файле.
Второй: — открываю — открывает нужный файл, находит функцию.
Первый: — что здесь происходит?
Третий: — запускаю — ставит брейкпойнт, запускает приложение, в момент останова произносит: — dbinstance в порядке — выводит значение на экран --, remotePort равен 8999, — это значение тоже видно на экране.
Первый: — странно, надо бы профилировать этот вызов.
Третий: — ок — диктует четвёртому — новая строка 123 console.time(), 125 console.timeEnd()
Четвёртый: набирает, — готово.
Читать дальше →
Total votes 58: ↑42 and ↓16+26
Comments21

9 ошибок в резюме, которые могут стоить вам работы

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

Если все сделано правильно, то ваше резюме расскажет вашу историю и продаст ваши таланты.

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

Отвратно написанное резюме будет работать против вас. Чтобы этого не случилось отметим наиболее вопиющие ошибки и оплошности резюме.
Читать дальше →
Total votes 38: ↑26 and ↓12+14
Comments14

Мой опыт поиска работы программистом за границей: UPDATE 2

Reading time9 min
Views104K
UPDATE 1
UPDATE 2

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

Сразу скажу, что я женат и у меня двое детей 5 и 11 лет. Это я говорю к тому, что требования к условиям переезда для семейного человека выше, чем без детей или вообще без семьи. Например, необходимо учитывать увеличение расходов на минимум 3-к квартиру, коммунальные услуги из расчета на 4 чел, платное образование и его уровень. Также важен транспорт, так как каждый день детям нужно добираться в школу и из школы. Еще одним важным критерием выбора страны для переезда является уровень медицины и экология. И наконец, расходы на содержание семьи из 4 человек на порядок выше чем на двоих и тем более — для одного. Все это ставит довольно жесткую нижнюю планку по зарплате.

Учитывая все вышеописанное, может показаться что переезд за границу с семьей находится на грани нереального. Но это не так! И хоть я не стану опровергать, что холостяку намного проще перемещаться по миру, но подчеркну, что мой опыт показал, что эта простота заключается исключительно в отсутствие забот, присущих семейным людям (я описывал их выше). К еще одному преимуществу холостяков (теоретически) можно отнести то, что они могут соглашаться на более низкие зарплаты чем хотели бы, но с перспективой роста.

В общей сложности поиск работы мне занял 9 мес. Страной назначения я выбрал Германию, так как IT там на высоком уровне, огромное количество стартапов, особенно в Берлине, высокий уровень бесплатного образования и сильная медицина. К тому же я более менее знал немецкий.
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments36

Глазастый мух или выбираем квадрокоптер с камерой за 40$

Reading time4 min
Views84K
Актуально на октябрь 2016 года.

Мой последний пост "Выбираем нано-квадрокоптер за 20$" вызвал живой интерес сообщества и побудил многих людей освоить навыки пилотирования дронов. И всё это благодаря тому, что дроны становятся доступнее и больше не надо рисковать десятками тысяч рублей, ради того, чтобы отправить свой новенький дрон в последний путь к небесам.

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


Первые полёты моего Top Selling X6 по центру фотографий им. братьев Люмьер.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments18

How-to: Что нужно учитывать при разработке стратегии для торгового робота

Reading time8 min
Views37K
image

Ранее мы рассматривали этапы разработки торговых систем и изучали способы проверки работоспособности робота с помощью исторических данных, но не уделили внимание еще одному важному аспекту — созданию самой стратегии работы на рынке. Сегодня мы восполним этот пробел и поговорим о том, что нужно учитывать при разработке стратегии для торгового робота.
Читать дальше →
Total votes 23: ↑15 and ↓8+7
Comments15

Введение в топологические пространства. Программирование конечных топологий на Java. Часть 2: База топологии. Непрерывные отображения

Reading time8 min
Views14K

Список частей:





Введение


В прошлый раз мы познакомились с основным понятиями теории топологических пространств, а также рассмотрели класс для представления конечных топологических пространств, написанный на языке Java. Сегодня мы двинемся дальше, изучим понятие базы топологии и получим представление о том, дла чего она нужна, а также определим понятие непрерывного отображения топологических пространств. Основной интерес последнее вызывает тем, что в топологическом пространстве отсутствует понятие расстояния между объектами, но тем не менее мы можем описать формальным языком достаточную близкость объектов в терминах… Ну, впрочем, вы это узнаете чуть позже.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments2

Предупреждён — значит, вооружён. Часть 3

Reading time12 min
Views55K


Скоро…



38 попугаев


Удав в попугаях выглядит гораздо длиннее, но в нашем случае это достаточно крупная единица измерений. Для определения размеров измерителя МТ8057 используем классический спичечный коробок или привычную линейку: 116х38х24 мм.



Я вас не спрашиваю, где вы были. Я спрашиваю, откуда вы идете!


Оказалось, что данные из прибора можно автоматически записывать в компьютер и строить графики, чтобы точно определить, откуда идет то или иное значение концентрации углекислого газа.
Обнаружилось это случайно. При подключении питания от USB-порта, компьютер сказал: “Дзинь-дзинь!”
Далее: почему 400 - не всегда 400, вскрытие пациента, вся истина в вине?
Total votes 38: ↑35 and ↓3+32
Comments23

Что я хотел знать в начале своей карьеры разработчика. Часть 1

Reading time5 min
Views31K
Когда вы начинаете карьеру где бы то ни было, вы, вероятно, надеетесь на многое, но не знаете, чего ожидать. Стоит ли не высовываться и делать, что сказано или нацелиться только на амбициозные проекты? Вот чему я научился за время работы как разработчик ПО.



Позвольте мне высказать несколько предположений, основанных на моих опыте и наблюдениях. Этот список не полный — потому что не может им быть. Ваш опыт будет уникальным.
Читать дальше →
Total votes 29: ↑16 and ↓13+3
Comments10

Hexapod-робот, управляемый с ПК

Reading time3 min
Views65K
После просмотра большого количества статей и видео про роботов-пауков захотелось самому создать подобное. Было решено все сделать «с нуля», то есть создать корпус робота, спаять плату и запрограммировать.

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

image
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments10

«У меня есть крутая идея игры» или типичные ошибки молодых разработчиков игр

Reading time7 min
Views89K
Многие молодые разработчики и ребята пока еще не имеющие отношения к геймдеву, часто говорят фразу «У меня есть идея для игры и мы заработаем на ней миллион!». Узнали себя? В этот момент они находятся в необычайном состоянии, когда им кажется, что море по колено и тот заветный миллион у них уже в кармане. На этой волне вдохновения они приступают к началу разработки и даже не задумываются еще о том, что их ждет впереди.

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

image
Читать дальше →
Total votes 49: ↑32 and ↓17+15
Comments22

Оригинальный подарок своими руками

Reading time8 min
Views28K

Вступление


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

image
Читать дальше →
Total votes 46: ↑37 and ↓9+28
Comments27

Сообщения в глубине: удивительная история подводного Интернета

Reading time44 min
Views212K
Интернет — неотъемлемая часть нашей жизни, невероятно сложная сеть, строившаяся на протяжении многих лет, фактически — это сеть кабелей, опоясывающих всю Землю, в том числе проходящая через моря и океаны. Человечество прошло долгий путь с момента прокладки первого трансатлантического подводного телеграфного кабеля в 1858 году между Соединенными Штатами и Великобританией. В этой статье мы расскажем о том, как Интернет преодолел «водные барьеры», многокилометровые глубины и подводные катаклизмы, какие сложности были на пути и как невероятно сложно поддерживать эту систему в связанном состоянии в наше время, каких колоссальных затрат средств и энергии это требует.

Читать дальше →
Total votes 237: ↑228 and ↓9+219
Comments81

Information

Rating
Does not participate
Registered
Activity