Pull to refresh
0
0
lostdj @lostdj

User

Send message

Как учат информатике в Европе (и в Чехии в частности)

Reading time8 min
Views67K
Введение

Прочитав топик про образовательный процесс в МГТУ им. Баумана, я решила, что мне тоже есть что рассказать на эту тему. Я училась (собственно, еще формально учусь) в Карловом университете в Праге на физико-математическом факультете (на отделении информатики) и, думаю, многим, не только тем, кто подумывает об обучении за рубежом, будет интересно узнать, как же выглядит зарубежное образование для будущих программистов.

Поскольку я обучалась только в одном университете (хотя и общалась со студентами разных ВУЗов из разных стран), то рассказать я могу только про него. Впрочем, система почти всех европейских высших учебных заведений примерно одинаковая. Так что я надеюсь, что этот топик поможет интересующимся составить общее представление как оно все там работает.

Читать дальше →
Total votes 184: ↑174 and ↓10+164
Comments260

Правильная организация файлов или наше спасение в наших руках

Reading time4 min
Views45K
imageЯ не открою Америку, если скажу, что способ организации файлов в современных ФС мягко говоря не совсем удобен для конечного пользователя. И действительно: иерархическая модель представления данных на основе файлов и каталогов, не менявшаяся уже несколько десятков лет, просто не способна соответствовать современным потребностям в хранении большого количества разнородного контента. И если с музыкальной информацией все более-менее хорошо, благодаря таким медиа-библиотекам, как iTunes или Amarok, то с файлами остальных форматов ситуация до сих пор остается очень печальной.
Читать дальше →
Total votes 81: ↑56 and ↓25+31
Comments136

Быстрая реализация резервного копирования в Amazon S3

Reading time3 min
Views25K
Я устал испытывать определённые опасения за сохранность данных на выделенном сервере, наблюдая за происходящим у хостеров последнее время… 3FN, Agava, Hosting.UA, МакХост — тенденция получается очень нехорошая.

В итоге, МакХост стал последней каплей, и, чтобы не оказаться в числе тех, кто «уже делает бекапы», я перевёл систему бекапов своего сервера на Amazon S3. Получилось вполне себе быстро и прозрачно.

Хочу поделиться с общественностью простейшей реализацией.
Читать дальше →
Total votes 170: ↑167 and ↓3+164
Comments62

EeePad своими руками

Reading time4 min
Views14K
После покупки Acer 1410 как основного ноута для использования дома/в командировках старый добрый EeePC 900 остался не у дел и пролежал в ящике стола полгода. В очередной раз наткнувшись на него, я понял, что нужно его либо продать, либо сделать из него что-нибудь полезное. Чем-нибудь полезным оказалось применение в быту в качестве:
— Торренто-качалки/раздавалки
— Устройства для постоянного отображения Яндекс.Пробок и прогноза погоды (Удобно когда перед выходом из дома можно оперативно посмотреть обстановку на улице и спланировать маршрут)
— Принт-сервер для старенького, но экономичного и бесперебойно работающего win-принтера Canon LBP-810
— Часов

Читать дальше →
Total votes 111: ↑105 and ↓6+99
Comments54

Подсчёт времени выполнения метода через аннотацию

Reading time8 min
Views20K
Во многих проектах требуется посчитать время, которое затратил тот или иной метод. Для этого можно вручную сохранять значение System.currentTimeMillis() и после метода вычислять затраченное время. Когда методов много это становится не очень удобным.
Поэтому я решил написать простенькую аннотацию, которая бы считала время выполнения метода. Попытавшись найти информацию в интернете, понял, что её по данной теме очень мало. Придётся как-то выкручиваться, собирая информацию по крупицам.
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments30

Как легально получать деньги из-за пределов России

Reading time5 min
Views202K
Дано: заказчик за рубежом, желающий работать с Вами и платить вам евро или доллары.
Найти: оптимальный способ организовать работу с ним, чтобы платить налоги и спать спокойно.

Сразу скажу, что получение денег на пластиковую карту без уплаты налогов может вылиться в серьезные проблемы (про ответственность написано в конце топика). Объяснения, что деньги «от бабушки внучку на мороженное» при суммах больше 10К$ в год уже не прокатывают, особенно если в реквизитах «бабушки» будет стоять что-то вроде «GMBH Star Development» Вероятность того, что возьмут за задницу достаточно высокая и поэтому лучше не рисковать и делать все по Закону, тем более, что ничего сложного в этом нет
Читать дальше →
Total votes 144: ↑142 and ↓2+140
Comments192

Визуальные эксперименты

Reading time1 min
Views1.3K
Тут как-то обсуждали про крутую рисовалку, которая многих привела в восторг =), в том числе и меня.

Так вот, на сайте www.escapemotions.com/experiments.html на радость всем любителям прикольных визуальных штук выложена подборка интересных интерактивных экспериментов.

image

Автор — 3D-аниматор и дизайнер Peter Blaškovič (http://twitter.com/peterblaskovic). Все эксперименты сделаны на Flash и Processing — этаком «Java-рендере». Для просмотра Java и Flash должны быть установлены и разрешены.

Приятного времяпрепровождения!
Total votes 63: ↑54 and ↓9+45
Comments14

Эффективность C++ на современных ПК

Reading time2 min
Views3.7K
В виду ограничения на размер, публикую заметку в виде статьи, а не как ссылку с аннотацией.

Со времён, когда проектировался С++, относительная (к скорости оперативной памяти) скорость процессора выросла в 400 раз. Плюс к тому, у процессора появились большие кэши и предсказание ветвлений в коде. Всё это вместе самым серьёзным образом сказывается на эффективности С++ на современных платформах. Ниже даю аннотацию и пару ссылок, где предлагается использовать эти факты для повышения эффективности кода.
Читать дальше →
Total votes 59: ↑48 and ↓11+37
Comments49

Использование picasaweb в качестве фотохостинга

Reading time5 min
Views6.6K
Нужно использовать много изображений на сайте? Не хочется забивать хостинг изображениями? Хочется уменьшить нагрузку на сервер?
Тогда можно использовать сервис от гугл picasaweb і Picasa API как хостинг для изображений

процесс загрузки фотографий на сервер
Читать дальше →
Total votes 82: ↑77 and ↓5+72
Comments78

Уроки разработки 64-битных приложений на языке Си/Си++

Reading time2 min
Views7K
Мы регулярно пишем статьи посвященные разработке и тестированию 64-битных программ на языке Си/Си++. Каждая из статей представляет взгляд на задачу разработки 64-битных программ с разных точек зрения. Но существенная часть информации в них повторяется, так как необходимо знакомить читателя с проблематикой и вводить различные определения. Это, к сожалению, делает чтение подборки статей скучным занятием и соответственно не позволяет всесторонне изучить вопросы разработки 64-битных приложений.

Мы решили объединить все наши знания в единый труд, в котором будут рассмотрены сразу все вопросы, касающиеся 64-битного программирования. Для оформления в виде статьи материала оказалась слишком много и мы решили представить его в виде курса уроков.

Кратко опишу курс "Уроки разработки 64-битных приложений на языке Си/Си++" и приведу его содержание.
Читать дальше →
Total votes 68: ↑59 and ↓9+50
Comments50

Nginx + серверный Javascript

Reading time7 min
Views10K

… или как перейти с PHP + JavaScript на JavaScript + JavaScript


Идея реализовать проект на сервер-сайд JavaScript была уже давно. Проблема была в отсутствии подходящего серверного программного обеспечения. Существующие открытые проекты не устраивали по разным причинам. Устанавливать дополнительный модуль для Apache было не самой хорошей идеей, потому что производительность и оптимизация использования памяти при этом были бы не на высоте. С помощью jslibs можно настроить FastCGI, но очень не хотелось оставлять ни малейших шансов «502 Bad Gateway», проект ngx_http_js_module так и остался в зачаточной стадии, а ngxv8 недостаточно развит для реализации реальных приложений. Поэтому я решил сделать собственную реализацию серверного javascript. Причем постараться сразу запрограммировать всю базовую функциональность, чтобы можно было ее тестировать в условиях, близких к реальности.

В качестве основного веб-сервера было решено использовать nginx, в качестве «движка» javascript — TraceMonkey (javascript-движок из Mozilla Firefox, бывший SpiderMonkey), и написать модуль для nginx, который бы их «склеил». Ничего сложного, на первый взгляд, но очень хотелось иметь определенную функциональность (и это получилось!), чтобы можно было нормально работать дальше. Большинство идей заимствованы, кстати, из PHP.
  • Корректная работа в multi-thread условиях
  • Возможность выполнять скрипт, указанный в URL, а не настраивать отдельно скрипт-обработчик и функцию-обработчик для каждого location
  • Возможность вызывать include(), sleep(), alert() из скрипта, использовать __FILE__ и __LINE__
  • Ограничение памяти, выделяемой каждому скрипту, и времени работы скрипта
  • Защита открываемых скриптом файлов, указав в настройках список разрешенных папок. Примерно как open_basedir в PHP
  • Автоматический разбор данных запроса (параметров GET, POST, и, конечно же, cookies), чтобы не писать обработку данных на javascript
  • Поддержка запросов application/x-www-form-urlencoded и multipart/form-data
  • Поддержка basic-авторизации
  • Работа с базами данных (в первую очередь, MySQL и SQLite)
  • Работа с файловой системой: чтение и запись файлов, проверка существования файлов, и т.п.
  • Кэширование байт-кода скриптов, как, например, в eAccelerator
Плюс некоторые другие возможности (инструменты для шаблонизации, для создания конфигурационных файлов, и т.п.), но их в основной список я не включил — их позволяют сделать языковые возможности TraceMonkey.

От слов — к делу! Как скомпилировать и настроить, как протестировать и сравнить...

Читать дальше →
Total votes 128: ↑120 and ↓8+112
Comments95

Arduino: первое знакомство

Reading time4 min
Views102K
Месяц назад я заказала себе игрушку по имени Arduino. Это набор «кубиков», из которых без паяльника, травления печатных плат и прочей «черной магии» любой чайник может собрать работающее устройство. В общем, это такой конструктор как для профессионального прототипирования так и для разнообразных любительских экспериментов.

Через месяц после заказа ко мне пришла посылка с Arduino, точнее, ее вариацией — Seeeduino. Вот, что в ней было:

Читать дальше →
Total votes 160: ↑156 and ↓4+152
Comments171

Maven — автоматизация сборки проекта

Reading time4 min
Views125K
Уже давно я слышал об инструменте для автоматизации сборки проекта — Ant, но как-то не мог найти ему реального применения в проектах на PHP. Компилить вроде ничего не надо, внешние библиотеки вполне можно подключить через svn:externals, оставались только тесты, которые свободно выполнялись через $ phpunit AllTests.php, да перенос изменений на рабочий сервер (svn export + небольшой самописный скрипт). Даже достаточно хорошая статья об использовании ant в eclipse не подвигла меня на использование сего инструмента, да еще и build файлы писать не хотелось…

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

Читать дальше →
Total votes 42: ↑37 and ↓5+32
Comments56

Собираем тихий и вместительный домашний сервер

Reading time5 min
Views68K
image
Задача: собрать малогабаритный домашний сервер с четырьмя 3,5-дюймовыми HDD, по возможности тихий. Служить будет в качестве NAS, backup-сервера и торрентокачалки.

Решение
Читать дальше →
Total votes 107: ↑100 and ↓7+93
Comments164

Вызов функции с «неизвестным» именем на C++. Часть 1 — cdecl

Reading time4 min
Views15K

Постановка задачи


Что же я имел ввиду, когда написал «неизвестное» имя функции? А значит это то, что имя функции, её параметры и, в конце концов, соглашение вызова, становятся известными только во время выполнения программы. Займемся её вызовом! =)
подробности
Total votes 79: ↑62 and ↓17+45
Comments92

Rejector.ru — русский OpenDNS

Reading time3 min
Views4.5K
Статья размещена по просьбе LMik. Если у вас возникнут какие-либо вопросы, он на них с радостью ответит.

image
В свете последних событий, а именно запуске Google DNS, вспомнился заброшенный «до лучших времен» проект, задуманный примерно год назад. Вдохновлен он был идеей зарубежного сервиса OpenDNS.

Представляю вашему вниманию «Реджектор» — http://rejector.ru.

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

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

Опишу каждый в отдельности
Total votes 60: ↑51 and ↓9+42
Comments98

Поисковая система по C++ ресурсам

Reading time2 min
Views6.7K
Не самый популярный, но оттого не менее полезный сервис Google — возможность создать свою поисковую систему. Технология простая — вы отбираете сайты, в которых поисковик будет искать прежде всего, сужая, таким образом область поиска и получая красивые релевантные результаты.
Мне захотелось найти поисковик для C++, но я ничего полезного не увидел. Зашел на Google Custom Search, накидал список сайтов (штук 15, не больше) и увидел, что это хорошо — ищет уже гораздо лучше стандартного гугл-поиска. Вот ссылка на эту мини-искалку. Буду рад, если хабрасиплюсплюсеры помогут мне в развитии и пополнении списка допустимых сайтов. Тут есть следующие варианты:
  • "ха! дык это ведь уже есть!" вы тыкаете меня носом в уже созданный тематический поисковик по C++, я посыпаю голову пеплом, закрываю топик и радостно этим поисковиком пользуюсь,
  • "ура, мы создадим СВОЙ поисковик, с функторами и аллокаторами". Тут видится два разумных варианта. Первый — я раздаю 100 инвайтов желающим присоединиться к наполнению базы сайтов поисковика и они непосредственно включаются в редактирование. Или же можно содать общедоступную и свободно редактируемую страничку (да хоть эту), на которую сваливать все ссылки. Ну а страничка в качестве источника ссылок будет съедаться гуглом.
  • также принимаются предложения по смене системы создания custom search, идеи о том, как можно подключать штуки вроде закладок delicious (или, например, ), помеченных соответствующими тегами, страниц MSDN, URL которых никак не связан с темой, и прочее.
Пока добавлены следующие ресурсы
Total votes 30: ↑24 and ↓6+18
Comments23

Многопоточность, общие данные и мьютексы

Reading time5 min
Views58K

Введение


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

Для блокировки общих данных от одновременного доступа необходимо использовать объекты синхронизации.

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

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

Ниже рассматривается работа с мютексами в Windows и Unix, подобная идея может быть использована при работе с другими объектами синхронизации.

Эта идея является частным случаем методики «Выделение ресурса — есть инициализация (RAII)».

Далее
Total votes 50: ↑38 and ↓12+26
Comments50

Information

Rating
Does not participate
Registered
Activity