Pull to refresh
3
0
Руслан Адаев @jokagent

User

Send message

CodeIgniter 4

Reading time4 min
Views24K
image

Как всем уже давно известно, компания EllisLab — создатели популярного фреймворка CodeIgniter, передали свое детище Технологическому институту Британской Колумбии (British Columbia Institute of Technology — ВСІТ).

Многие полюбили CodeIgniter именно за маленький размер, быструю работу, отличную документацию. Возможно, именно поэтому его ошибочно называют микро-фреймворком. На это его создатели отвечают:
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments17

Открытия «охотника за экзопланетами» — телескопа «Кеплер»

Reading time2 min
Views69K
image

Кеплер — космический телескоп NASA, предназначенный специально для поиска экзопланет: изучить структуру других планетарных систем, определить количество планет, пригодных для жизни, исследовать свойства их звезд. Космический аппарат был запущен 6 марта 2009 года, а в мае 2013 года телескоп вышел из строя, находясь на гелиоцентрической орбите (заклинило два из четырех маховиков). Миссия стоила NASA около $600 млн.

За четыре года Кеплер открыл 2740 кандидатов на звание экзопланет, из которых на сегодняшний день подтверждено около ста. Некоторые из планет — очень интересные экземпляры.
Читать дальше →
Total votes 73: ↑69 and ↓4+65
Comments54

Установка Atom от GitHub на Ubuntu, OpenSUSE и Windows. Краткий обзор

Reading time4 min
Views99K
image

Вчера вышла сборка редактора Atom от GitHub для Windows, до этого был доступен только для Mac OS.
А установка для *nix систем описана в официальном репозитории проекта.
Здесь я расскажу как мы его устанавливали для следующих ОС, в порядке убывания сложности:
  • Windows 7
  • Ubuntu 14.04
  • OpenSUSE 13.1

А так же первые впечатления от его использования.
Сразу оговорюсь, для Windows и Ubuntu установка — это пара шагов. Для OpenSUSE, чуть больше.
Внимание трафик — картинки.
Подробности
Total votes 128: ↑111 and ↓17+94
Comments33

Метапрограммирование с примерами на JavaScript

Reading time15 min
Views42K
Эта статья, еще одна попытка переосмысления метапрограммирования, которые я периодически предпринимаю. Идея каждый раз уточняется, но в этот раз удалось подобрать достаточно простых и понятных примеров, которые одновременно очень компактны и иллюстративны, имеют реальное полезное применение и не тянут за собой библиотек и зависимостей. В момент публикации я буду докладывать эту тему на ОдессаJS, поэтому, статью можно использовать, как место для вопросов и комментариев к докладу. Формат статьи дает возможность более полно изложить материал, чем в докладе, слушатели которого, не освобождаются от прочтения.

UPD: Обновленная видеоверсия статьи на Youtube (лекция записана в Киевском политехническом институте 18 апреля 2019 года в рамках курса «100 видео-лекций по программированию»):

Читать дальше →
Total votes 52: ↑39 and ↓13+26
Comments23

jQuery Deferred Object (подробное описание)

Reading time7 min
Views121K
31 января вышел релиз jQuery 1.5, одним из ключевых нововведений которого стал инструмент Deferred Object. Именно о нём я и хочу рассказать подробнее в этой статье.

Эта новая функциональность библиотеки направлена на упрощение работы с отложенными (deferred) вызовами обработчиков (callbacks). Deferred Object, аналогично объекту jQuery, «цепочный» (chainable), но имеет свой набор методов. Deferred Object способен регистрировать множество обработчиков в очередь, вызывать зарегистрированные в очереди обработчики и переключать состояние на «завершено» или «ошибка» для синхронных или асинхронных функций.
Подробности и примеры далее
Total votes 98: ↑95 and ↓3+92
Comments16

Несколько применений Sublime Text 3, которыми Вы могли бы пользоваться

Reading time1 min
Views67K
Sublime Text относится к тем текстовым редактором, которые могут все. Гибкость позволяет настроить его на любой вкус, а большое комьюнити штампует плагины днями и ночами. Многие программисты используют его как среду разработки, однако до неосновных применений доходят не все. В этой небольшой статье я расскажу о некоторых из них.
Читать дальше →
Total votes 97: ↑82 and ↓15+67
Comments61

Талмуд по формулам в Google SpreadSheet

Reading time13 min
Views412K
Обычно мы пишем про хостинги, в частности про зарубежный shared хостинг в США. Но чтобы писать, нужно иметь аналитические данные под рукой. Вот как раз тут требуется помощь Google Docs, если файл получится предположительно меньше 400 000 строк.

За несколько месяцев работы с таблицами Google пришлось много раз анализировать посредством формул разного рода данные. Как и ожидалось — то, что можно было решить в MS Excel, можно реализовать и в Google таблицах. Но многочисленные попытки решить проблемы с помощью любимого поисковика приводили только к новым вопросам и почти к нулевым ответам.
Посему, было решено облегчить жизни другим и прославить себя.

Кратко о главном


Для того чтоб Excel, либо spreadsheet (таблица Google) поняли что написанное — это формула, необходимо поставить знак "=" в строку формул (Рисунок 1).

ok
Рисунок 1
Далее, начинаем писать формулу с клавиатуры либо выделяем мышкой те ячейки, с которыми мы собираемся работать.
Читать дальше →
Total votes 111: ↑103 and ↓8+95
Comments81

0 A.D. — свободная стратегия в реальном времени собирает деньги на Indiegogo

Reading time2 min
Views60K


Wildfire Games — группа независимых разработчиков, расположенных по всему свету, которая уже более 4 лет разрабатывает open-source стратегию под названием 0 A.D. Игра напоминает популярную Age of Empires, которая и послужила источником вдохновения для авторов. Изначально у игры был закрытый код, но в 2008 году компания решила сменить модель разработки и выложила код под GPL 2+, а игровой контент под CC-BY-SA. Игра разрабатывается для Windows, OS X и Linux.

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

В игре представлены 10 цивилизаций: Афины, Македония, Спарта, бритты, галлы, племена иберов, Карфаген, Персидская империя, Римская республика и империя Маурьев. По окончании кампании планируется ввести эллинистический Египет и государство Селевкидов. Кстати, названия объектов для всех цивилизаций написаны на их собственных языках.
Читать дальше →
Total votes 131: ↑123 and ↓8+115
Comments35

Compass — инструмент для эффективной работы с CSS

Reading time7 min
Views108K
С выходом CSS3 появилось множество новшеств: с новыми свойствами стили стали сложнее, но не появилось никаких улучшений для поддержки новых и старых сложностей, в том числе дупликации кода. В чистом CSS отсутствует модульность, так как разбиение стилей на файлы и их подключение через @import пагубно влияет на производительность.
Решение этих проблем нашлось в CSS препроцессорах, с их помощью стало возможным использование переменных, выполнение математических подсчетов в коде, появилась возможность повторно использовать код с помощью миксинов и наследования.
Читать дальше →
Total votes 38: ↑30 and ↓8+22
Comments43

Много бесплатных книг по программированию

Reading time7 min
Views345K
Читать дальше →
Total votes 202: ↑192 and ↓10+182
Comments42

Как работает yield

Reading time6 min
Views669K
На StackOverflow часто задают вопросы, подробно освещённые в документации. Ценность их в том, что на некоторые из них кто-нибудь даёт ответ, обладающий гораздо большей степенью ясности и наглядности, чем может себе позволить документация. Этот — один из них.

Вот исходный вопрос:
Как используется ключевое слово yield в Python? Что оно делает?

Например, я пытаюсь понять этот код (**):
def _get_child_candidates(self, distance, min_dist, max_dist):
    if self._leftchild and distance - max_dist < self._median:
        yield self._leftchild
    if self._rightchild and distance + max_dist >= self._median:
        yield self._rightchild

Вызывается он так:
result, candidates = list(), [self]
while candidates:
    node = candidates.pop()
    distance = node._get_dist(obj)
    if distance <= max_dist and distance >= min_dist:
        result.extend(node._values)
        candidates.extend(node._get_child_candidates(distance, min_dist, max_dist))
        return result


Что происходит при вызове метода _get_child_candidates? Возвращается список, какой-то элемент? Вызывается ли он снова? Когда последующие вызовы прекращаются?

** Код принадлежит Jochen Schulz (jrschulz), который написал отличную Python-библиотеку для метрических пространств. Вот ссылка на исходники: http://well-adjusted.de/~jrschulz/mspace/

Подробный и обстоятельный ответ
Total votes 141: ↑136 and ↓5+131
Comments41

Проблемы CSS. Часть 2

Reading time7 min
Views233K
Продолжение перевода статьи «Проблемы CSS. Часть 1».

Когда использовать width / height равный 100%?


Height: 100%

Пожалуй, начнем с того, что попроще. Когда использовать height: 100%? На самом же деле, вопрос часто звучит немного по-другому: «Как мне сделать так, чтобы моя страница заняла всю высоту экрана?». Ведь правда?

Для ответа на него нужно понять, что height: 100% равен высоте родительского элемента. Это не магическое «высота всего окна». Так что, если вы захотите, чтобы ваш элемент занял все 100% от высоты окна, то установить height: 100% будет недостаточно.

Почему? А потому, что родителем вашего контейнера является элемент body, а у него свойство height установлено в auto по умолчанию; а значит — его высота равна высоте контента. Конечно, вы можете попробовать добавить height: 100% к body, но этого тоже будет недостаточно.

Почему? А все потому же, родителем элемента body является элемент html, у которого также свойство height равно auto и он также растягивается под размер контента. А вот теперь, если добавить height: 100% и к элементу html, то все заработает.

Стало понятнее? Корневой элемент html на самом деле не самый верхней уровень на странице — им является «viewport». Для простоты, будем считать, что это окно браузера. Так вот, если установить height: 100% элементу html, то это то же самое, что сказать — стань такой же высоты, как окно браузера.
Читать дальше →
Total votes 85: ↑82 and ↓3+79
Comments30

Кто такой этот продакт-менеджер?

Reading time5 min
Views18K
Продакт менеджмент — это одна из тех профессий, которой сложно дать четкое определение (относится к любой организации), частично в виду того, что в каждой компании эту работу делают по-разному. Не так давно я общался на тему «кто такие продакт-менеджеры?» со своими друзьями, которые только начинают работать на данном поприще, а также с теми, которые уже добились определенных успехов в этой сфере. Сейчас я хочу поделиться с вами этим опытом.

Основной обязанностью продакт-менеджера является: Помогать своей команде (и компании) доставлять необходимый продукт своим потребителям.

Если разбить этот процесс на более мелкие составляющие:

1. Помогать своей команде


Лучшие продакт-менеджеры тратят все свое время на самые приоритетные вещи, которые помогают работе их команды.

Главным образом, это касается: (а) координации – необходимо убедиться в том, что команда эффективно планирует, принимает решения и работает сообща с четко поставленными целями и задачами; а также (б) взаимодействия – заботы о том, чтобы каждый понимал, что происходит, когда и почему, особенно сейчас, в условиях неизбежных перемен.
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments22

Распространенные заблуждения в управлении проектами

Reading time6 min
Views116K
Когда я работал программистом, ко мне нередко подходили с просьбой помочь сделать проект за долю. В некоторых я участвовал. Но очень мало проектов взлетело.
Со временем я стал менеджером проектов, а люди все так же подходят. И сами вокруг делают стартапы. Взлетают единицы.
Почему же?


Быстро разбогатеть и уплыть на собственный остров просто, увы, лишь в мечтах.

Ответ, увы, кроется не в идее, реализации и даже не в рынке. Дело только в голове создателя стартапа. А точнее, в мифах, которыми она полна.

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

В этой статье я собрал одни из самых часто встречаемых мифов. И написал их опровержение, вкупе с реальными кейсами, как на самом деле нужно мыслить и действовать.
Читать дальше →
Total votes 101: ↑89 and ↓12+77
Comments44

Information

Rating
Does not participate
Location
Чебоксары, Чувашия, Россия
Date of birth
Registered
Activity