Pull to refresh
15
0
Дмитрий Урсегов @fdmitry

User

Send message

Не зная брода, не лезь в воду. Часть третья

Reading time8 min
Views13K
Сдвиги
Продолжу рассказы о том, как программисты ходят по краю, даже не подозревая об этом. Поговорим об операциях сдвига <<, >>. Принципы работы операторов сдвига очевидны и многие программисты даже не знают, что их использование согласно стандарту Си/Си++ может приводить к неопределенному или к неуточненному поведению (undefined behaviour/unspecified behavior).
Читать дальше →

Горутины: всё, что вы хотели знать, но боялись спросить

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

Что за горутины?

Горутина (goroutine) — это функция, выполняющаяся конкурентно с другими горутинами в том же адресном пространстве.

Запустить горутину очень просто:
go normalFunc(args...)

Функция normalFunc(args...) начнет выполняться асинхронно с вызвавшим ее кодом.

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

Сколько вешать в граммах?

Чтобы было проще ориентироваться, рассмотрим цифры полученные опытным путем.
Читать дальше →

Еще раз о том, как уехать учиться за границу

Reading time4 min
Views95K
Этой истории уже почти год, однако после недавнего общения с пригласившим меня на хабр andorro я все же решил выложить этот текст на Хабр. Тема как мне кажется достаточно актуальна — как бесплатно продолжить обучение зарубежом. Сейчас я учусь в аспирантуре Университета Мельбурна (Австралия) на факультете информационных систем. Надеюсь, мой опыт будет интересен и полезен.



Идея сделать карьеру в науке возникла у меня в январе 2011 года. На тот момент я уже был аспирантом ВШЭ, куда поступил в ноябре 2010, однако вариант ухода в науку с возможностью заниматься ей 2-3 часа после работы не устраивал совсем. Перед глазами у меня были примеры моих одногруппников и однокурсников, которые не особенно выделяясь во время учебы, уехали получать PhD в Швейцарию, Великобританию и США, получая при этом стипендии/зарплаты, сравнимые с доходами программистов 1-3 годами опыта. С этого момента я решил проследовать их путем.

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

О Чем Стоит Задуматься, Сохраняя Свои Данные в Облаке. Часть 2

Reading time5 min
Views5K
Вкратце, речь идет о том, что, сохраняя данные на нескольких облаках, можно существенно повысить их доступность и сохранность. Под сохранностью имеется ввиду, что данные будут существовать, даже если у одного провайдера (или нескольких) случился серьезная проблема. Подробная мотивация в первой части.

image

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

CS Center. Впечатления

Reading time5 min
Views13K
Доброго времени суток, уважаемые хабравчане.
Сегодня вам предоставляется возможность прочитать впечатления студента Computer Science Center-а по итогам первого года обучения.

Bio: маленькое отступление

Я студент 3-его курса СПбГУ НИУ ИТМО, учусь на кафедре «Высшей математики». Туда я поступал, так как мне была интересна математика, информатика и все, что с ними связано. Но, как это часто бывает в системе образования в России, я был несколько разочарован в своих ожиданиях: я думал, что поступлю туда, где мне расскажут много теории и научат применять ее на практике для решения конкретных задач. Теорию преподают очень хорошо: преподаватели действительно специалисты в своих областях и отлично владеют не только материалом, но и техникой его преподавания; но есть ряд предметов, которые, как мне кажется, должны были быть «по выбору», но явились обязательным, что несколько снижало общий настрой к обучению. А вот с применением на практике оказался облом: практически никаких интересных проектов, которые бы включали в себе актуальные на практике вопросы, обнаружено не было. И, если честно, до недавнего времени, я не совсем понимал что же я буду делать по выходу из института: быть «чистым» программистом не хотелось, а заниматься математикой я вообще не понимал как.

Поступление


Первый и самый главный вопрос на который нужно ответить, перед тем как начать обучение чему-либо где-либо, это вопрос: «Для чего мне это нужно?».

А вот для чего

TemplateMonster.com. Теперь на русском

Reading time1 min
Views10K
TemplateMonster.com. Теперь банановый на русском

TemplateMonster взял курс на полноценное обслуживание клиентов в России. Об этом сегодня представители компании сообщили в официальном блоге.

TemplateMonster.com. Теперь на русском

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

Хабр vs TechCrunch

Reading time4 min
Views7.7K
Как опубликовать обзор вашего стартапа на TechCrunch? Что круче — Хабр или TechCrunch? Какой он, TechCrunch effect?

image

В конце прошлого года мы запустили проект TradingView, о чем незамедлительно поставили в известность Хабр. Чуть более месяца назад о нас написал TechCrunch. Под катом детальная информация из первых рук о результатах этих экспериментов и ответы вопросы.

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

Хорошая альтернатива тарифным пакетам

Reading time3 min
Views15K


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

Казалось бы, это хорошее решение — как для клиента, так и для разработчика, т.к. в тарифных пакетах каждый клиент находит свое оптимальное соотношение цена/возможности, а владелец сервиса таким образом лучше удовлетворяет спрос и максимизирует прибыль.
Читать дальше →

Дачный интернет

Reading time4 min
Views40K
Необходимость быть подключенным к интернет постоянно, даже на отдыхе за городом, уже давно не роскошь, а насущная необходимость. В статье описывается путь получения стабильного мобильного интернета на отдельно взятой подмосковной даче. В предверии лета материал может кому-то показаться интересным.

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

Использование отладчика GDB по максимуму

Reading time4 min
Views40K
В нашей повседневной работе, как и всем, требуется много пользоваться отладчиком. В силу специфики работы: (разработка ОС, использование технологий виртуализации наподобие Intel-VT, ит.д.) нам часто требуется использовать отладчик для работы со специфическими случаями: отладка кода загрузчика ядра, отладка загрузчиков виртуальных машин, а так же в принципе обеспечение возможности отлаживать ОС собственной разработки. Именно эти особые случаи так пафосно названы в заголовке ”по максимуму”.

Для решения всех этих задач (и конечно, многих других) мы используем gdb. Возможно использование и таких оболочек как DDD, но лично я предпочитаю использовать cgdb как оптимальный выбор, особенно для случая работы с отладчиком по ssh.
В этой статье мы расскажем о том, как можно использовать gdb для отладки кода загрузочных секторов и загрузчиков.
Читать дальше →

Онлайн-курсы Stanford University, Berkley и MIT в доступном виде

Reading time2 min
Views54K


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

Пример такого поста: habrahabr.ru/post/139542

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

Уверен, что курсов по данным дисциплинам, информативнее и понятнее выложенных, в природе не существует.

Под катом ссылки и список того, что было выложено, что ещё предстоит выложить…
Читать дальше →

Ответ на Python vs Ruby

Reading time2 min
Views36K
Пользователь eyeofhell недавно написал статью Python vs Ruby.
Знатный холивар получился. Не могу не поддержать. Сначала думал написать в комментарии — но ответ вышел слишком объемным.

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

Как избавиться от SMS-спама

Reading time4 min
Views304K


Слово спам традиционно ассоциируется с email-спамом, и как с ним бороться — более-менее понятно: можно отправлять в «Спам», можно настраивать фильтры, можно жаловаться хостеру спамера. Однако спам — это ещё и лишняя макулатура в ваших почтовых ящиках, и нежелательные SMS в вашем телефоне. И вот что делать с последними — не всегда понятно, хотя раздражают они гораздо больше, ведь, в отличие от email-рассылок, в SMS нет кнопки «отписаться». Вот как бороться с SMS-спамом я и расскажу в этой статье.

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

Переводим числа между двоичной и десятичной системами «на лету», объяснение «на пальцах»

Reading time2 min
Views73K
Здравствуйте, Хабровцы.
Пост можно было бы назвать: «Для любителей посчитать на пальцах», но это мы узнаем дальше.

Вступление: А что-же тянуть. Все что будет дальше, пойдет на тему подсчета в двоичной системе на пальцах. Кто еще не знает, постараюсь обьяснить, что это, как и зачем это осваивать.
Начну, пожалуй, с преимуществ:
1. Удобно переводить любое число с десятичной в двоичную системы и наоборот, не используя калькулятор.
2. Развивается моторика пальцев.
3. Развивается визуальное восприятие двоичных чисел.
Минусы:
1. Немного тренировки.
2. Нельзя в публичных местах показывать числа 26,27,352,378 и 891.
Читать дальше →

Менеджер паролей с web доступом

Reading time2 min
Views51K
В нашей компании используются десятки серверов на которых крутятся сотни сервисов. Их настраивают и администрируют разные люди, которые могут заболеть, перейти на другой проект или уволиться. Уже не один раз возникала ситуация, когда вдруг оказывалось, что никто не знает пароля от той или иной базы данных, web сервера или иного ресурса требующего авторизации. В данной ситуации есть только один выход — единый сервер хранения паролей.

Выбор софта был осложнён тем, что требовалось решение с возможностью установки на локальный сервер и именно под Linux. Наконец после долгого поиска мною был установлен и опробован TeamPass — Collaborative Password Manager. Данный продукт полностью удовлетворил мои потребности в централизованном хранения паролей. Я не буду описывать установку. Она довольно простая и достаточно подробно описана тут. Моей целью было рассказать про решение которое я долго искал. Авось кому-нибудь тоже пригодится.
Читать дальше →

Про вычислительную сложность алгоритмов HTML и CSS

Reading time3 min
Views5.9K
HTML документ загруженный в browser есть дерево DOM элементов и набор CSS правил. Каждое CSS правило это пара — селектор (selector) и список свойств (list of properties).

Мы мало задумываемся над тем, а собственно чего стоит нарисовать HTML документ c вычислительной точки зрения? Знания про то что думатель — думает, а неонка у нея унутре ярко светит сквозь opacity:0.5 элементы бывает явно не достаточно.

Собственно про это и есть данные статьи — про вычислительную сложность (computational complexity) отображения HTML и CSS. Хочу отметить что я использую свой собственный опыт имплементации HTML/CSS rendering engines (HTMLayout и Sciter), но вычислительные проблемы в данной области универсальны — определяются самой природой HTML и CSS спецификаций.
Читать дальше →

Обзор платформ для построения облаков

Reading time7 min
Views54K

Наверное всем уже надоели эти самые облака, но вкратце остановимся на том какие они бывают если кто-то не знает. В зависимости от модели развертывания они бывают:
  • private cloud
  • public cloud
  • hybrid cloud

Более подробно можно прочитать тут.
В зависимости от модели обслуживания:

Так вот мы с вами сегодня будем говорить о платформах для построения именно IaaS облаков. Поехали!
Читать дальше →

Ограничение оптимизирующих методов в играх с противником и без

Reading time2 min
Views2.7K
Эта статья короткое ответвление от цикла статьей по биовычислениям:
От белков к РНК, Мат. критерии, Как уменьшить число поворотов цепи?, Как оценить ход сворачивания односпиральной РНК?

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

Казалось бы сама физика велит использовать эти методы в таких задачах как сворачивание РНК/белков. Здесь мы посмотрим почему это сильно проблемно.

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

Прогнозирование валютных колебаний статистическими методами

Reading time4 min
Views15K
С чего все начиналось

Осваивая новое направление в программировании (программирование под платформу MetaTrader), мне пришла идея попробовать свои силы в чем-то большем. Например, найти какой-то нестандартный способ прогнозирования движения цен на валютные пары.

Изначально, предпринимались попытки реализовать либу со всеми статистическими показателями, но на полпути я обнаружил, что таковые уже существуют:
Проанализировав их содержимое, я понял одну простую вещь…
Читать дальше →

Модифицикация байт-кода функции в Python

Reading time4 min
Views11K
Некоторое время назад мне потребовалось решить достаточно необычную задачу, а именно, добавить нестандартный оператор в языке python. Эта задача заключалась в генерации питоновского кода по псевдокоду, похожему на ассемблер, который содержит в себе оператор goto. Сложный лексический анализатор мне писать не хотелось, оператор goto в псевдокоде использовался для организации циклов и переходов по условиям, и хотелось иметь некоторый его аналог в питоне, которого нет.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity