Рубрика «Программирование» - 866

Доброе время суток, уважаемая аудитория хабра.

В данной публикации я хотел описать свой опыт перехода с корпоративного Java на Erlang.

Погружения в Erlang в первом приближении

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

После довольно продолжительного времени Java/Python разработки, я решил кардинально изменить сферу деятельность и открыл для себя Erlang.
Читать полностью »

Лично мне не надо объяснять, что такое ООП. Я сам в первую очередь мыслю существительными и только во вторую — глаголами.
Но речь не о том, кто как мыслит; я хочу обсудить ситуацию, когда отказ от привычных механизмов ООП упрощает работу с объектами.

Как, пример, можно вспомнить добрым словом Lotus Notes, где имя формы хранилось внутри документа. Создавая форму LN, мы тем самым описываем новый UI класс, в котором можно добавлять свойства и переопределять методы (Queryopen, Postsave и пр.). При этом новый объект, созданный с помощью этой формы, не связан с ней механизмом наследования. Форма – это свойство объекта, и в LN есть команда «SwitchForm», с помощью которой можно открыть объект с другой формой, естественно, с вызовом других методов. Неопределенные свойства при этом вернут пустую строку.
Читать полностью »

[Прим. перев.]: предлагаю вашему вниманию перевод статьи Марка Отто, разработчика GitHub, бывшего разработчика Twitter, создателя самого известного CSS фреймворка Bootstrap. В этой статье он рассказывает о внутреннем устройстве CSS проектов GitHub.

Меня всегда интересовали подробности процесса разработки других продуктов, особенно их гайдлайны и подход к использованию CSS. Учитывая мою склонность к деталям чужого CSS кода, я решил написать о подходе к CSS в GitHub.

Несколько фактов

Обзор нашего текущего состояния CSS:

  • В качестве препроцессора мы используем SCSS.
  • У нас есть более 100 отдельных исходных файлов стилей, которые мы компилируем перед выкаткой в продашн.
  • Исходники компилируются в 2 отдельных CSS файла (чтобы избежать проблемы с максимальным количеством селекторов для IE<10).
  • Эти 2 файла весят в сумме около 90 kb.
  • Мы не используюм какую-нибудь особенную «CSS архитектуру».
  • Для определения размера мы выбрали пиксели, но все же у нас есть немного «em-ов».
  • Мы используем Normalize.css, смешанный с несколькими нашими собственными стилями для сброса свойств.

Читать полностью »

image

Всем привет! На основе нашего предыдущего поста решили продолжить распродажу книг.
Читать полностью »

Предыстория: я, как и многие на Хабрахабре, чертовски люблю слушать музыку. Чаще всего делаю это в ВКонтакте. Иногда уже сфомированный плейлист надоедает — хочется чего-нибудь нового; но так, чтобы не сильно отличалось от того, что уже есть. Для этого на всех сервисах, предоставляющих возможность прослушивания музыки, существуют рекомендации. Признаюсь честно, рекомендации в ВКонтакте меня ужасают. Может кому-то нравится, но у меня тамошний подбор вызывает желание закрыть браузер (ИМХО, конечно). В общем, решил я эту ситуацию для себя исправить и реализовать свои собственные рекомендации с использованием API ВКонтакте и Last.fm. Так как я много слышал и читал про Google App Engine, но никогда его не использовал, решено было приобщиться к этой платформе.

Сразу скажу, что тонкости взаимодействия с API или алгоритм подбора рекомендаций здесь я описывать не буду. Об этом — в следующих статьях, может быть. В данной статье описан только процесс создания, настройки и деплоя приложения на платформе Google App Engine с использованием python и flask.
Об опечатках и неточностях просьба сообщать в личку. Спасибо.
Читать полностью »

Это первая публикация про первые школьные олимпиады по программированию/информатике. Вторая будет про 1989 год.
1988 — Первая Всесоюзная
1989 — Первая Всероссийская
1989 — Первая МеждународнаяПервая Всесоюзная олимпиада школьников по программированию (информатике) 1988 года

Приглашаю всех читателей попробовать свои силы в решении задач. (И дать порешать задачки своим знакомым школьникам)

Контекст

1988 год был годом утраты Ершова, Митник проходил курс лечения от компьютерной зависимости в тюрьме нестрогого режима, Моррис выпустил своего червя на свободу, федералы только-только перевели дух после поимки Поулсена, DARPA создала спецподразделение по компьютерной безопасности, немецкие хакеры проводили уже пятый Chaos Communication Congress, моя нога впервые вступила на московскую землю, в СССР в Свердловске (Екатеринбург) произошла первая Всесоюзная олимпиада школьников по информатике.

Про уровень техники того времени пост «Советские персональные компьютеры»

13-20 апреля 80 школьников из всех союзных республик 2 дня осваивали компьютеры Роботрон-1715 (справа на фото), а затем решали шесть задач.

Олимпиада состояла из двух туров — Теоретического (4 задачи) и Машинного (2 задачи).
Читать полностью »

Computer Science Center (образовательный проект ШАД Яндекса, компании JetBrains и Сomputer Science клуба при ПОМИ РАН) продолжает регистрацию на бесплатные массовые открытые онлайн-курсы (MOOC) по основам программирования.
Опыт применения онлайн курсов в Computer Science Center
Как мы уже писали, с 15 сентября 2014 года можно будет пройти следующие онлайн-курсы:
1. Алгоритмы и структуры данных (А.С. Куликов)
2. Введение в архитектуру ЭВМ. Элементы операционных систем (К.В. Кринкин)
3. Программирование на языке C++ (А.В. Смаль)

В данном посте пойдёт речь о том, как CS центр использовал онлайн-курс по Алгоритмам и структурам данных в качестве одного из этапов приёмной кампании в 2014 году.
Читать полностью »

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

m1.png

C — это берданка (orig. M1 Garand). Старая, но надежная.
Читать полностью »

Несколько слов о «линейной» регрессииИногда так бывает: задачу можно решить чуть ли не арифметически, а на ум прежде всего приходят всякие интегралы Лебега и функции Бесселя. Вот начинаешь обучать нейронную сеть, потом добавляешь еще парочку скрытых слоев, экспериментируешь с количеством нейронов, функциями активации, потом вспоминаешь о SVM и Random Forest и начинаешь все сначала. И все же, несмотря на прямо таки изобилие занимательных статистических методов обучения, линейная регрессия остается одним из популярных инструментов. И для этого есть свои предпосылки, не последнее месте среди которых занимает интуитивность в интерпретации модели.
Читать полностью »

Заметка про проверку PHP

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

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

В данной статье будут рассмотрены результаты проверки интерпретатора PHP, полученные с помощью PVS-Studio 5.18.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js