• Как выйти из main после завершения всех рутин?

    @FireGM
    https://golang.org/pkg/sync/#example_WaitGroup
    Хотя с каналами и быстрее, но я предпочитаю контроль через wg.

    upd.

    Контролируйте количество рутин. Раздробите приложение на маленькие функции.
    в главном сразу запускается 10 рутин на выполнение запросов, 10 рутин на анализ ответа от сторонего сервиса, 10 рутин ещё чего-либо.
    Рутины для выполнения запросов принимают, например, из единого канала урл, на который надо сделать запрос. Отправляете урл в канал, свободная рутина хватает и выполняет запрос, получет ответ, передает в другой канал, из которого уже хватает свободная рутина для анализа ответа. Ну и т.д.

    Вот топорный пример, как делаю я

    package main
    
    import (
    	"fmt"
    	"io/ioutil"
    	"net/http"
    )
    
    func main() {
    	urls := []string{"http://google.ru", "http://vk.com", "http://ya.ru"}
    	chanUrls := make(chan string, 100)
    	chanRes := make(chan http.Response, 100)
    	chanPrint := make(chan string, 100)
    	for _, url := range urls {
    		chanUrls <- url
    	}
    	close(chanUrls)
    	go httpGet(chanUrls, chanRes)
    	go analys(chanRes, chanPrint)
    	printRes(chanPrint)
    }
    
    func httpGet(chanUrls <-chan string, chanRes chan<- http.Response) {
    	defer close(chanRes)
    	for url := range chanUrls {
    		res, err := http.DefaultClient.Get(url)
    		if err == nil {
    			chanRes <- *res
    		}
    	}
    }
    
    func analys(chanRes <-chan http.Response, chanPrint chan<- string) {
    	defer close(chanPrint)
    	for res := range chanRes {
    		body, err := ioutil.ReadAll(res.Body)
    		if err == nil {
    			chanPrint <- string(body)
    		}
    	}
    }
    
    func printRes(chanPrint <-chan string) {
    	for pr := range chanPrint {
    		fmt.Println(pr)
    	}
    }
    Ответ написан
    Комментировать
  • Как сделать, чтобы выбор даты и времени отображался в зависимости от текущей даты и времени?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Есть множество datepiker-ов на js, в которых это реализовано или можно реализовать. Но для каждого случая будет индивидуальное решение. Что Вы используете для выбора даты?
    Вот первые что пришли в голову:
    nazar-pc.github.io/PickMeUp
    jqueryui.com/datepicker
    Ответ написан
    2 комментария
  • Как сделать, чтобы выбор даты и времени отображался в зависимости от текущей даты и времени?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    1. Это нужно делать на JavaScript
    2. Для работы с датами существует чудесная библиотека Moment.js
    Ответ написан
    Комментировать
  • Что должен знать junior С#?

    Nipheris
    @Nipheris Куратор тега C#
    корпоративные приложения

    Поучите голый ADO.NET и какую-нибудь ORM-ку, да хотя бы EF. Еще можете хотя бы начать ASP.NET, вероятность попасть на него на первой работе достаточно высокая.

    финансы, банковская сфера

    Подтяните теорию по реляционным БД. Ведь какие финансы без транзакций!) Вы должны хотя бы знать о таких понятиях, как изоляция транзакций, представлять в общих чертах как на SQL можно сделать какую-нибудь выборку с агренированием. Никто конечно в здравом уме не даст джуниору непосредственный доступ к сколь-либо значащим данным, отражающим реальные денежные балансы, но ваша осведомленность пойдет вам на пользу, иначе рискуете клепать интерфейсики ближайшие несколько лет. А, ну да, выясните, почему нельзя вот так считать проценты по кредиту:
    float interestRate = 0.13 // ставка
    float interestSum = interestRate * sum;


    геймдев

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

    И еще для всех направлений: станьте более-менее самостоятельным в вопросах деплоя. Вы должны в общих чертах представлять, что находится внутри дотнетовской сборки, как работает версионность и что может пойти не так. Ну и про NuGet я надеюсь вы уже знаете.
    Ответ написан
    1 комментарий
  • Стоит ли работать программистом?

    CheckOneTwo
    @CheckOneTwo
    Парень, который думает что он фронтэндер.
    Не стоит, постоянно будет голова болеть.
    Ответ написан
    3 комментария
  • Lxml на python 3.4?

    @tplus
    Может попробовать пакет с cp34?
    www.lfd.uci.edu/~gohlke/pythonlibs

    Сейчас вы ставите под 3.5 версию.
    Ответ написан
    1 комментарий
  • Кто знает css фреймворк по Google Material Design более точный и красивый чем materializecss.com?

    @pronincc
    одӥг кык кунь ныль
    Под понятие CSS-фреймворк, конечно, не попадает. Но я для себя выбрал https://www.polymer-project.org/1.0/
    Ответ написан
    4 комментария
  • Как сделать такие колонки на bootstrap?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Ответ написан
    Комментировать
  • Опыт, практика ASP.NET?

    Сначала:
    Design Patterns in C#
    SOLID Design Patterns

    Потом обязательно изучить:
    ASP.NET MVC. Урок 0. Вступление
    SocialGoal v1.0.0 (обязательно!)
    ASP.NET MVC Best Practices — поможет определиться, что и куда изучать.

    Ну а после просто читать блоги. Ну и конечно, не забывать про видеоуроки от Pluralsight, Lynda.com, Tuts+...

    А как пример проектов можете попробовать сделать что душе угодно: hh.ru, форум, сайт знакомств, сайт для тестирования знаний, тот же Тостер, тут уже неважно — подберите сайт, который нравится, и просто мутите его аналог :)
    Ответ написан
    Комментировать
  • Как сделать динамический список CheckBox в WPF ?

    @Sumor
    В простейшем случае это должно выглядеть где-то так:
    XAML:
    <ListBox x:Name="lst">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <CheckBox Content="{Binding Value}" />
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

    В коде, например:
    lst.ItemsSource = new List<KeyValuePair<int, string>>()
    {
        new KeyValuePair<int, string>(1, "1"),
        new KeyValuePair<int, string>(2, "2"),
    };

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

    Лучше использовать для отображения объект у которого есть логическое свойство, например IsChecked, и его привязать к IsChecked CheckBox.
    Например:
    Класс:
    class MyClass
    {
        public int id { get; set; }
        public string Name { get; set; }
        public bool IsChecked { get; set; }
    }

    XAML:
    <ListBox x:Name="lst">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <CheckBox Content="{Binding Name}" IsChecked="{Binding IsChecked}"/>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

    Добавление элементов:
    lst.ItemsSource = new List<MyClass>()
    {
        new MyClass(){id=1, Name="1"},
        new MyClass(){id=2, Name="2"},
    };

    В таком случае отметка пользователем галочки сразу отражается в привязанном списке и можно легко получить список отмеченных:
    foreach(var tObj in (lst.ItemsSource as List<MyClass>).Where(myObj => myObj.IsChecked))
        MessageBox.Show(tObj.Name);
    Ответ написан
    2 комментария
  • Ускоренное изучение C#?

    masterL
    @masterL
    Эффективность и продуктивность
    Вы как-то в обход идете своей основной цели Asp .Net Mvc разработчик.
    1. Язык программирования C# 5.0 и платформа .NET 4.5 Эндрю Троелсен - хорошая книга для начального погружения в язык, без сильных углублений.
    2. ASP.NET MVC 4. Разработка реальных веб-приложений ... - хорошая книга по Asp .Net Mvc
    Это необходимый минимум, чтобы начать работать asp .net mvc разработчиком, дальше уже идет углубление
    3. ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов Адам Фримен
    4. Programming Entity Framework: DbContext Julia Lerman
    5. Programming Entity Framework: Code First Julia Lerman
    И потом все остальное что вы писали:
    C# in a nutshell, CLR via C#, пройтись по паттернам, по алгоритмам и структурам данных
    Ответ написан
    2 комментария
  • Какую настольную лампу выбрать?

    SHVV
    @SHVV
    Ещё пара ссылок:
    3dnews
    habrahabr.
    Попробую написать небольшое резюме.
    Основные характеристики, на мой взгляд: цветовая температура, индекс цветопередачи и глубина мерцания.
    Для расслабления цвет лучше тёплый (2700-3000К), для работы более холодный (4000-5000К). Но тут всё индивидуально.
    Индекс цветопередачи - чем выше, тем лучше (но китайцы сильно обманывают с ним).
    Глубина мерцания - в идеале - 0.

    Лампы накаливания (лучше галогенки): "цвет" тёплый, индекс цветопередачи близок к 100%, мерцают процентов на 20-25.
    С остальными всё гораздо хуже, так как сильно зависит от производителя и даже конкретных ламп.
    Компактные люминесцентные лампы бывают любой температуры, а вот индекс цветопередачи выше 80% не встречал. Мерцание зависит от балласта. Электронный балласт даже у китайских ламп обычно даёт мерцание меньше, чем у лампы накаливания, а вот электромагнитный, как у многих U-образных настольных ламп - 50%.
    Светодиоды тоже формально бывают разных температур, но на деле это синий светодиод с жёлтым люминофором. Как следствие - низкий коэффициент цветопередачи. Мерцание зависит от конкретного экземпляра. Даже у одного производителя могут быть абсолютно разные модели от тех что совсем не мерцают до тех что выпрямляют переменный ток на самих осветительных светодиодах и пол-периода светят, а пол-периода - нет.

    Лично я предпочитаю линейные люминесцентные лампы 4000К с индексом цветопередачи >90% и качественным ЭПРА с глубиной мерцания < 3%.
    Ответ написан
    Комментировать
  • Datetimepicker для angular.js ?

    https://github.com/g00fy-/angular-datepicker
    Демо: https://rawgit.com/g00fy-/angular-datepicker/maste...
    По мне так самый симпотишный.
    Ответ написан
    Комментировать
  • Высоконагруженный проект на С++?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    зависит от того какого рода нагрузки. Если вам надо обрабатывать огромное количество соединений, типа там web-сервер или dns-сервер, то тут упор нужно делать в массовый паралелизм, lock-free структуры данных и много разных вещей. Если это ваш случай, то гуглите по "C10K problem"

    Если у вас обычное web приложение, то к i/o у вас добавится база данных. И тут уже подходит все что есть по java и другим языкам. То есть в этом ключе c++ даст прирост производительности только для сервисного слоя пожалуй. Больший прирост дадут архитектурные решения. Тут можно почитать про распределенные приложения и т.д.
    Ответ написан
    Комментировать
  • Какие есть алгоритмы составления стихов?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Это Вам надо посмотреть на Марковские цепи, конечно не ИИ, и смысла сделать не получится, но хотя бы что то на без рыбье :)

    Суть. Например вы хотите подражать Шекспиру.
    Берете обрабатываете тексты, и собираете статистику в каких случаях после какого слова шли другие слова или с какой вероятностью после 2х данных слов идет данное третье.
    Т.о. собрав такую статистику, вы (теоретически) с помощью Марковских цепей можете генерировать "похожие" стихотворения (конечно для великого и могучего нужно будет согласование времен\падежей\численности и т.п.)
    Ответ написан
    1 комментарий
  • Русский шрифт roboto slab или альтернатива?

    nowm
    @nowm
    Он вполне себе поддерживает кириллицу. Вот для примера: www.fontsquirrel.com/fonts/roboto-slab

    Откройте вкладку «Test Drive» и введите русский текст, он нормально его отображает.

    С Google Fonts опять же можно скачать: www.google.com/fonts#UsePlace:use/Collection:Robot...

    Просто поставьте галочку на «Cyrillic» в разделе «2. Choose the character sets you want:»
    Ответ написан
    Комментировать