1

(12 відповідей, залишених у Python)

P.Y. написав:
Bartash написав:
serge написав:

Цей варіант виходить насправді трохи більш громіздким, ніж другий, але він цікавий хоча б тому, що підходить для зв’язки з зовнішньою програмою, яка не обов’язково написана на С або на мові, де використовується щось аналогічне аргументам main.

Якщо зовнішній програмі треба передавати певні аргументи - не грає ролі, на якій мові вона написана: підхід один. І цей підхід є більш православним, ніж запис до stdin, імго.

Це якщо програма маленька й використовується один раз. А якщо для її запуску й ініціалізації тратиться багато часу, а даних треба обробити багато, то має сенс зробити в ній цикл з повторами вводу даних/виводу результату, а в скрипті не запускати її повторно, а передавати дані одному й тому ж підпроцесу. Крім того, командний рядок може мати обмеження довжини, а кількість даних, прочитаних зі stdin, необмежена — якщо нам треба не додати два числа, а, наприклад, перекодувати якісь невідомо-які дані з бінарного формату в base64 чи щось подібне, то краще stdin. Ще один аргумент проти параметрів командного рядка: на деяких системах (зокрема, windows) параметри командного рядка можуть перекодовуватись із втратами (зокрема, з цієї причини java-програми не люблять файлів з кириличною Іі в назві) — якщо зовнішня програма потрібна для обробки даних, чутливих до зміни кодування, краще використати stdin.

Є ще й третій спосіб передачі даних: через змінні середовища.

Зауваження резонні, приймаються.
Одним словом, все залежить від задачі.

2

(12 відповідей, залишених у Python)

serge написав:

Цей варіант виходить насправді трохи більш громіздким, ніж другий, але він цікавий хоча б тому, що підходить для зв’язки з зовнішньою програмою, яка не обов’язково написана на С або на мові, де використовується щось аналогічне аргументам main.

Якщо зовнішній програмі треба передавати певні аргументи - не грає ролі, на якій мові вона написана: підхід один. І цей підхід є більш православним, ніж запис до stdin, імго.

3

(12 відповідей, залишених у Python)

@serge

Приєднуюся до варіанту P.Y щодо субпроцесу. Єдине - підхід може бути простішим:

import shlex
import subprocess
p=subprocess.Popen(shlex.split("a.exe %f %f" % (arg1, arg2), stdin=subprocess.PIPE)
// in the C app, use argv

int main(int argc, char* argv[])
{
    // read argv[1], argv[2] into xxx1, xxx2 with conversion

return 0;
}

221VOLT

Дякую за відповідь. Це рішення я собі збережу у коморах.

Старі експлорери у даному разі мало ролі зіграють.

Але цікаво також, чи є якісь альтернативні варіанти вирішення проблеми лінка? :)

Доброго часу доби. :)

Давно щось я не був на форумі (якщо не рахувати кілька випадкових постів). Сподіваюся, ситуація поліпшиться згодом:).

Власне, у мене є питання до фронтенд-девелоперів. Зараз виникла необхідність зваяти з колінки невеликий сайт (фуллстек, звісно). Вимога така, щоб сайт нормально відображався як з десктопів, так і на планшетах/мобілках. З метою передбачити граблі я поліз у гугл і, врешті-решт, натрапив на одну хабрастаттю, де було сказано, що у деяких випадках мобільні бравзери не вміють у < link > і їм подавай тільки хардовий < style > на сторінці. Дана стаття, щоправда, 2008 року.

Підкажіть, будь ласка, чи актуальна така штука напередодні 2017-го?

6

(10 відповідей, залишених у Python)

vitek_z написав:

Якщо аргументом є рядок, то все працює. Проблема виникає, коли аргументом є список.

Підкажіть, будь ласка, як правильно переробляти список?

Що значить "аргументом є список"? Типу "(1,3,4,5)"?

Якщо програма передбачає, що аргументи можуть бути списками - треба задекларувати десь правила подання списків (синтаксис). А на базовому рівні згідно такого синтаксису потім можна перевіряти аргументи на відповідність синтаксису і у разі співпадіння парсити.

7

(5 відповідей, залишених у Пропоную роботу)

Replace написав:

В свою компанію шукаю Web-програміста.

Вимоги:
- Знання PHP, MySQL, JavaScript, JQuery
- Знання HTML5, CSS3
- Досвід роботи з системами управління або фреймворками.

Обов’язки:
- створення веб-сайтів
- робота над вже існуючими сайтами

Робота віддалено. Гнучкий графік. Готові взяти студента.

Плюси:
- цікаві проекти
- робота в команді професіоналів
- гнучкий графік

Заробітня плата:
- від 8 до 30 тис. грн. (В залежності від досвіду та навичок).
- премії за швидке та якісне виконання роботи.

Резюме надсилати на пошту: leo@astyle.org.ua або можете писати тут в приватних повідомленнях.
Розгляну особисто кожного кандидата.

А з пітоном не бавитеся ще? :)

8

(44 відповідей, залишених у Інше)

P.Y. написав:

На цьому форумі неодноразово з'являлись повідомлення тих, хто хоче ввійти в ІТ і шукає для цього ментора. Не можу сказати, що я справді ввійшов у цю спільноту (скоріш, обертаюсь на її околицях), але дещо я таки знаю, і міг би поділитися своїми знаннями з тими, хто не має й цього. Однак, свій попередній досвід менторства я оцінюю як переважно негативний (реального результату я практично не побачив, тому, якщо з часом мій екс-студент чогось досягне в цьому напрямку, це точно не моя заслуга). Все складно: організувати навчання так, щоб зробити достатньо інтенсивним та ефективним (але при цьому не демотивувати студента надто складними задачами), пояснити базові концепції так, щоб вони відклались у пам'яті, та й просто передати знання з одної голови в іншу...

Отже, що насправді потрібно повноцінному ментору, щоб від його менторства справді була якась користь?
Взагалі, що повинен робити ментор (а чого не повинен)?

У мене був пару місяців тому досвід менторства - взяли девелопера в команду.
За результатом досвіду можу висловити такі висновки:

1. Ментор - людина, яка допомагає влитися у проект/задачу.
2. Ментор має задати вірний шлях у напрямах занурення у проект, оскільки він цей проект знає достатньо і може організувати степ-бай-степ ознайомлення новачка з усім, не кидаючи одразу купу інфи, яка змішається.
3. Ментор знає деталі й тонкощі проекту, тож має підказувати очевидні граблі та типові помилки in advance та у рантаймі.
4. Ментор - людина, до якої новачок може завше звернутися за порадою, бо, як правило, менторів ставлять до джунів.
5. Ментор не має тиснути на новачка. Його задача - підтримка, а все інше новак робитиме сам. Ментор - не вчитель, а порадник.

Так от. :)

9

(30 відповідей, залишених у Python)

@Vertox

# if os.system(zip_command) == 0:
if not os.system(zip_command):

# замiсть тiльди (~) краще все ж
os.environ["HOME"]

10

(6 відповідей, залишених у Кошик для сміття)

О, халявщики не перевелися.

Напрацювання в студiю, пане.

11

(13 відповідей, залишених у C/C++)

Без функцій використання координат буде складно та криво.

Вивід можна організувати порядково наступним чином:
1. Створити масив результатів гістограми (масив довжин).
2. У циклі виводити певну кількість пробілів/табів між стовпцями, а також зірочку, якщо довжина відповідного стовпця не менша від поточного номера рядка, який виводиться.
3. Алгоритм буде трохи відрізнятися у разі, якщо гістограма матиме основу вгорі або внизу вікна.

12

(25 відповідей, залишених у Робота)

Natalie написав:

Добрий день! Часто читаю в інтернеті, що середній вік пошукача на роботу в сфері програмування 20-25 років. Підкажіть, будь ласка, чи це насправді так? Мені 32 роки, вивчаю програмування мовою Java та PHP. Чи є якісь перспективи працевлаштування? З якого віку починаються труднощі з працевлаштувнням в сфері IT?

Досвід показав, що головне - знання та практичний досвід (а ліпше - участь / наявність певних проектів). На диплом зазвичай не дивляться пильно, а от питаннями на співбесіді точно все дізнаються про Ваші скіли. :) А вік в інеті диктований переважно тим, що більшість шукачів - випускники вишів.

13

(37 відповідей, залишених у Python)

@A.N.Onim,

Перше відповім по коду.
У Пітоні робота з потоками має свої специфіки, у зв'язку з чим часто замість потоків юзаються subprocess. Але використання threading ніхто не заборонив - я лише наводжу альтернативний приклад.

Щодо гітхабу:

- якщо програма може бути корисною комусь,
- або треба надійно тримати сирці, мінімізувавши ризики втрати внаслідок типових форс-мажорів,
- абощо, -

то кількість файлів не матиме значення. Крім того, у процесі рефакторингу файлів може побільшати.

14

(37 відповідей, залишених у Python)

@A.N.Onim,

пару порад для зручності:

- викладіть свій проект на гітхаб. Шматки коду можна постити і сюди, але так, імго, буде зручніше робити рев'ю Вашого коду. Якщо, звісно, у ньому відсутні якісь "ліцензовані шматки для про-версії". :)
- раджу замінити коментарі на англомовні - так універсальніше.

15

(6 відповідей, залишених у Статті)

-=ЮрА=- написав:

Я безумовно згоден з вами по концепції скривання параметрів але не згоден з цим

У коді вище програмісту видно відсутність необхідності у параметрах uMsg

- програміст може заблокувати параметри і не отримати скажім зміну розміру вікна. З того що там написано не видно слід чи не слуд вилучати парметри, треба навести прототип функції, яущо він віртуальний то можемо і обійтись без парметрів, якщо ні, то тіло функцію може потребувати виклику батьківького методу з конкретними параметрами, які ви "закрили"

Згоден - якщо ТЗ передбачає заборону зміни розміру вікна за певних умов, то це слід вказати явно у коді. Але у даному разі акцент на іншому: якщо параметри, які передаються у функцію, існують суто для сумісності/підтримки узагальненості коду і не мають бути там застосовані, то ліпше явно заборонити їх використання. Це і нерви на зневадженні зекономить, і звільнить від необхідності щоразу лізти до мануалів (MSDN у даному прикладі) на предмет кшалту "wParam чи lParam? Ось у чому питання!"

Даний підхід розрахований переважно на проги, які писалися за царя Панька цілком стереотипними італійцями або/та індусами і практично не піддається рефакторингу.

16

(6 відповідей, залишених у Python)

vasyliv написав:

Дякую.
2. pdf, xls, txt

Як і казав: шукайте легкі бібліотеки. Для пдф можна спробувати pypdf, для xls - модуль xlwt, для текстових - взагалі своє наваяти (або, якщо хочеться у вигляді текстових табличок - юзайте prettytable).

17

(15 відповідей, залишених у Python)

Q-bart написав:

Ну якщо воно таки справді не працює, то на stack радять скопіювати django-admin.py з "C:\Python34\Scripts" в вашу папку де має бути проект...
Але я б ще спробував створити віртуальне середовище, встановити django, і подивитись як воно буде поводитись тут.

PATH=C:\Python34\Scripts;%PATH%

є ліпше, ніж копіювати весь файл.

За віртуаленв - плюсую, хоча вінду могила виправить.

18

(6 відповідей, залишених у Python)

@vasyliv

1. Версія пітона та pyqt залежить радше від потреб. Якщо прога має довгострокові перспективи використання - ліпше одразу третій підучити, а для погратися - можна і другий (якщо з нього починалося вивчення пітона).
2. Звіти мають генеруватися у пдф, xls, чи якому форматі? Скажімо так, PyQt - не найоптимальніше рішення для формування репортів: є набагато компактніші бібліотеки - просто погугліть.
3. Для тестування окремих компонентів почитайте про unit tests in python. Що ж до тестування гуя - там справи складніші (якщо вам дійсно треба його тестувати).
4. Проги на qt зазвичай важкенькі на підйом. Якщо ця ліба, крім як для звітів, не потрібна - ліпше візьміть легші аналоги.

19

(16 відповідей, залишених у Python)

VertoX написав:
Bartash написав:

Цілком вистачить ван Россума

Я знайшов книжку за 2001й рік де розглядають програмування на версіях 1.5.2 до 2.0! Це нічого? Можна вчитись за такою книжкою?

Можна, якщо маєте камін: розпалюєте його за допомогою книжки 2001 року, берете нормальну свіжу книжку, каву, сідаєте у крісло навпроти і насолоджуєтеся - ви вивчаєте Пітон.

20

(16 відповідей, залишених у Python)

Лутц досить громіздкий. Цілком вистачить ван Россума, Linux і горнятка кави. :)