ITäŒæ¥ã§ããç¥ãããŠãããåŸæ¥å¡ããã¹ãŠã決å®ããããšããè¡šçŸã¯ãä»ã®æ¥çãšã¯ç°ãªããé¢é£ããŠããŸãã ã¹ã¿ããã®éžæã«ã€ããŠã¯å€ãã®ããšãæžãããŠããŸããã倧åŠã®ããã£ãªã¢ããŒãã®ãããªçŸè±¡ã«æ³šç®ããããšæããŸãã æè¿ãã¢ã¹ã¯ã¯å·ç«å€§åŠã®æµ·è»éšéã§ã®åæ§ã®ã€ãã³ãã«åå ããæ©äŒããããŸããã ãã®æçš¿ã§ã¯ãèŠããã®ã®å°è±¡ãå ±æããããšæããŸãã
å 容
ããŒã1ãçµç¹
ãåãã®ãšããã次ã®2ã€ã®æ¹åã«é²ãããšã§ãéçšäž»ã®æèœãªå°é家ãç²åŸã§ããŸãã
- åžå Žã§æ¢è£œã®å°é家ãèŠã€ããã
- å¿ èŠãªèœåãæã€åŸæ¥å¡ãç¬ç«ããŠãæé·ããããŸãã
ã©ã¡ãã®æ¹æ³ã«ãé·æãšçæããããŸãã ã»ãšãã©ã®äŒæ¥ïŒåœç€Ÿãå«ãïŒã¯ããããã®ã¢ãããŒããä»äºã«çµã¿åãããŠããŸãã ãããŠãèšç·Žãããå°é家ã®æ€çŽ¢ã§ãã¹ãŠãå€ããå°ãªããæ確ã§ããå Žåãè¥ããŠæ©ããªãã蚱容å¯èœãªæéã§é©åãªã¬ãã«ã«æé·ã§ããå Žæã¯ã©ãã§ããïŒ
ãã®ç¹ã§ã倧åŠãšã®é¢ä¿ã確ç«ãããŠããäŒæ¥ã«ã¯äžå®ã®å©ç¹ããããŸãã ç¹å¥ãªã³ãŒã¹ãèªãã ãã倧åŠé¢ã®ãã¶ã€ã³ãæå°ãããããå°é家ã¯ã確å®ã«é£çµ¡ãåããæ°é²çãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã確ç«ããŸãã ãããããã®ãªãã·ã§ã³ã¯æ±ºããŠå€§èŠæš¡ãªãã®ã§ã¯ãªããæ°ãæéã§å°å ¥ãããŸãã
å°æ¥ã®åŸæ¥å¡ãšæœåšçãªéçšäž»ã®éã®æœåšçãªãæ¥è§ŠãŸãŒã³ããæ¡å€§ããããã«ãããã£ãªã¢æ¥æ°ããèæ¡ãããŸãã-ãããã¯ãããã»ã¹ã®äž¡åŽã誰ã䟡å€ãããã®ãââãè¿ éã«ç解ããååãªæ³šæãšè²¬ä»»ãæã£ãŠé·ã幞ãã«ãªãããšãã§ããé¢ä¿ã確ç«ããç¹å¥ãªã€ãã³ãã§ãã
äžè¬ã«ãããã£ãªã¢æ¥ããååšããå Žåããããã䜿çšããããšã¯çœªã§ã¯ãããŸããã ç§ãã¡ã¯ãã¢ã¹ã¯ã¯å·ç«å€§åŠã®æµ·è»éšéã§ãç©æ¥µçãªçµéšãæã£ãŠããããä»ã®æè²æ©é¢ã«åºããããšã«æ±ºããŸããã
éçšäž»ã¯ç°¡åã«ãã£ãªã¢ããŒã«åå ã§ããŸãã ãããã®ã€ãã³ãã¯äºåã«çºè¡šãããç¹å¥ã«ä»»åœããã人ã ã«ãã£ãŠçµç¹ãããŠããŸã-ç§ãã¡ã®å Žåã圌ãã¯VMK Employment Centerã®ã¹ãã·ã£ãªã¹ãã§ããã çã亀æžã®åŸã2014幎ã®ãã£ãªã¢ããŒã«åå ããäŒæ¥ã®1ã€ã«ãªããŸããïŒãããã®äŒæ¥ã¯16瀟ãããŸããïŒã
éåžžãæºåã®æéã¯ããŸããããŸããã ããã§ã¯ãå±ç€ºäŒããã©ãŒã©ã ãäŒè°ããã®ä»ã®åæ§ã®å ¬éã€ãã³ãã«åå ããçµéšãéåžžã«åœ¹ç«ã¡ãŸãã ãã£ãªã¢ããŒã«ãããå瀟ã®ãã¬ãŒã³ã¹ã¯ã代衚è ã販ä¿è³æãæ©åšãåããããŒã¹ã§ãã 補åãšãµãŒãã¹ã®ã¿ãã¹ã¿ã³ãã§å®£äŒãããŸãããçµç¹èªäœãéçšäž»ã§ãã ãããŠãã¡ãããã¹ã¿ã³ãã¯ãåå¿è ã®ã¹ãã·ã£ãªã¹ãã®æœåšçãªå¶ç¶ãèŠãããšãã§ããå Žæã§ãã
ã¹ã¿ã³ãã®æºåã«é¢ããŠãã¢ã¡ãªã«ãçºèŠãããã€ããã¯ãããŸããã ææã®è©³çŽ°ãé©åã§ããå¿ èŠãããå Žåãé€ã-å°±è·æ¥ã«è¡ãå Žåãéçšäž»ã¯å°ãªããšãèå³ã®ãã人ã«æäŸã§ããæ±äººãšã€ã³ã¿ãŒã³ã·ããã®èª¬æãçšæããå¿ èŠããããŸãã ç§ãã¡ã®ååã®äœäººãã¯ãæèœãªè§£æ±ºçã§ããåžæè ã«èšå ¥ããããã®ã¢ã³ã±ãŒããã©ãŒã ãçºè¡ããŸããã å°ããªäŒæ¥ã®ãåç£ããèåãã¯ãããŒãªã©ã®é¢é£ãã奜æã¯ããã¡ããæè¬ã®åŠçã³ãã¥ããã£ã«ãã£ãŠæè¿ãããŠããŸãã
倧ããªãã©ã¹ã¯ãããªããã¬ã³ããªãŒãªå¥³ã®åã®ããŒã¹ã§ã®ååšã«ãªããŸãã ãžã§ãŒã¯ã«å ããŠãå€ãã®æ¥ãããããå±ã®åŠçïŒVMKã«ãã人ãããŸãïŒïŒã¯ãããã«ããåæ°ããç¡ç²Ÿã²ããçãããITã®æ®å¿ãªååšããã女æ§ãšã®ã³ãã¥ãã±ãŒã·ã§ã³ãéå§ããæ¹ãå¿«é©ã§ãã
ãã¡ããããäŒç€Ÿã®ä»äºãããåŽåæ¡ä»¶ã¯äœã§ããããããªãã£ã¹ã®æ€ åã¯äœè²ã§ããããšãã質åã«å¯Ÿããçããäºåã«æºåããå¿ èŠããããŸãïŒããã ããã§ãã®ãããªè³ªåãããããšããå§ãããŸãïŒ ã
ååãšããŠããã£ãªã¢ããŒã«ãããäŒç€Ÿã®ä»£è¡šè ã®ä»äºã¯ãã³ãã¥ãã±ãŒã·ã§ã³ã質åãžã®åçãé£çµ¡å ã®äº€æãªã©ãæãããªãã®ã§æ§æãããŠããŸãã ããã§ã¯ãããã§ã¯è©³ãã説æããŸãããããããã«ã€ããŠå°ã説æããŸãã
ããŒã2ãå®çšç
ãããã®çžäºã·ã§ãŒãïŒaïŒããçç£çã§ãããïŒbïŒããèå³æ·±ããã®ã§ããããšãä¿èšŒããããã«ãç§ãã¡ã説æããã€ãã³ãã§ãç§ãã¡ã¯ãã£ãªã¢ããŒã®èšªåè ã®ããã«å°èŠæš¡ãªæè¡ã³ã³ãã¹ããæé ããããšã«ããŸããã äŒç€Ÿã«ãšã£ãŠ-蚪åè ã«ãšã£ãŠã¢ã¯ãã£ãã§ã¹ããŒããªãã®ãéžæããæãåçŽãªãã£ã«ã¿ãŒ-èªåèªèº«ãèŠããé ã䌞ã°ããè³åãç²åŸããæ©äŒïŒã·ãã¯ïŒïŒã
ç§ãã¡ã¯ãéçšäž»ãšããŠç§ãã¡ã«ãšã£ãŠèå³ã®ãã3ã€ã®ç°ãªãåéãã競äºåã®ããã¿ã¹ã¯ãæãã€ããŸããã æåã®ã¿ã¹ã¯ã¯ãœãŒã·ã£ã«ãããã¯ãŒã¯ã§ã®äœæ¥ã«ã2çªç®ã®ã¿ã¹ã¯ã¯ã¯ã€ã€ã¬ã¹LANã®ã»ãã¥ãªãã£ã«ã3çªç®ã®ã¿ã¹ã¯ã¯ã¡ãã£ã¢äžã®æ å ±ã®å埩ã«å°å¿µããŸããã èªåã§ã¿ã¹ã¯ãæºåããéã®é£æ床ã¯ãäžè¬çã«äœããšå€æãããŸããã ãã¹ãŠãæè²ããã»ã¹ãšäžŠè¡ããŠè¡ããã競äºã«ååãªæéãæã€äººã¯ã»ãšãã©ããŸããã
ã¹ã¿ã³ããžã®èšªåè ã®ãªã¯ãšã¹ãã«å¿ããŠãã³ã³ãã¹ãã«é¢ããæ å ±ãå ¬éããŸãã
æåã®ç«¶äºã ãVKã®VMKã
ç§ãã¡ã¯ãç§ãã¡ã®æåŸ ã«ããããããããã®ã¿ã¹ã¯ã¯ãããã§ã¯ãªãã£ããšããã«èšããªããã°ãªããŸããã ãããããåŠçã¯ææ¡ããããªã¹ãã®æåã®èª²é¡ãé£ãããšèããã®ãããããŸãããããããšãå¥ã®çç±ãããããŸããã 競äºã«ã¯ããœãŒã·ã£ã«ã°ã©ãã®æ§ç¯ãšåæã®ããã®å€ãã®ã¿ã¹ã¯ãé¢ä¿ããŠããŸããïŒãã®ããšã¯ããŒã±ãã£ã³ã°ã§å€ãã®çšéããããŸãïŒã 圌ãã¯ã人æ°ã®ãããœãŒã·ã£ã«ãããã¯ãŒã¯ã®ããããã®ãŠãŒã¶ãŒãèªåèªèº«ã«ã€ããŠæäŸããããŒã¿ã«åºã¥ããŠã°ã©ããäœæããããšããŠããŸããã
ãã®ãããã³ã³ãã¹ããVMK in VKãã®éå§ã¿ã¹ã¯ã¯ ããœãŒã·ã£ã«ã°ã©ãã®ãœãŒã¹ããŒã¿ãåéããããšã§ããã ãã®ããã«èãããïŒ
VkontakteãœãŒã·ã£ã«ãããã¯ãŒã¯ããåæ¥å¹ŽåºŠã®VMK MSUã®åŠçã®ãªã¹ãããããã¡ã€ã«ïŒå°ãªããšãååãå§ãæ§å¥ïŒããã®æ å ±ãããã³äºãã®é¢ä¿ãååŸã§ããã¢ããªã±ãŒã·ã§ã³ãäœæãŸãã¯æ€çŽ¢ããŸãã
APIã䜿çšããŠVkontakteããããŒã¿ãåéã§ãããããåå è ã¯æ¬¡ã®æ¹æ³ã§é²ããšæ³å®ãããŠããŸããã æåã«ã ãªã³ã¯ã䜿çšããŠã¹ã¿ã³ãã¢ãã³ã¢ããªã±ãŒã·ã§ã³ãç»é²ããŸãã ã¢ããªã±ãŒã·ã§ã³ãäœæãããšãããã«é¢ããæ å ±ãå«ãããŒãžãéããŸããããŒãžIDã«ã¯ã¢ããªã±ãŒã·ã§ã³IDãå«ãŸããŠããŸãããŸãã[èšå®]ã¿ãã§ãèŠã€ããããšãã§ããŸãã ã¢ããªã±ãŒã·ã§ã³ãæ¿èªããŠããŒã¯ã³ãååŸããã«ã¯ãããŒãžãéããŠã
%ID%
代ããã«åä¿¡ããã¢ããªã±ãŒã·ã§ã³IDãä»£å ¥ããå¿ èŠããããŸã
oauth.vk.com/oauth/authorize?client_id=%ID%&response_type=token&_hash=0
ã¢ãã¬ã¹ããŒã¯æ¬¡ã®ããã«ãªããŸã
oauth.vk.com/blank.html#access_token=%TOKEN%&expires_in=86400&user_id=%UID%
å°æ¥ã®åç §ã®ããã«ã
%TOKEN%
å€ãä¿åããå¿ èŠããããŸãã
users.search
ã¡ãœããã䜿çšããŠç¹å®ã®ãŠãŒã¶ãŒãæ€çŽ¢ããã«ã¯ãæ¿èªãå¿ èŠã§ãã ãŠãŒã¶ãŒã®å人ã®ãªã¹ãã¯ããªã³ã¯ã§èš±å¯ãªãã«ååŸã§ããŸã
api.vk.com/method/friends.get?user_id=%UID%
api.vk.com/method/friends.get?user_id=%UID%
in JSONã
APIã䜿çšããã«ã¯ã VK-ruby Rubyã©ã€ãã©ãªã䜿çšã§ããŸãã 以äžã®ç°¡åãªã¹ã¯ãªããã¯ãã¢ã¹ã¯ã¯å·ç«å€§åŠã®VMKããã¬ãŒãã³ã°ã®æå¡ãšããŠæå®ããŠãããŠãŒã¶ãŒãšãã®å人ïŒåå è ã«ãã®ãããªããšãæåŸ ããŠããïŒã«é¢ããæ å ±ãååŸããããã«èšèšãããŠããŸãã 2012-2021幎ã®ãªãªãŒã¹ã瀺ããŠãŒã¶ãŒã®ããŒã¿ãåéãããŸãã
ããŒã¿ãååŸããã¹ã¯ãªãã
require 'open-uri' require 'vk-ruby' require 'json' token = "%TOKEN%" (2012..2021).each do |year| app = VK::Application.new access_token: "#{token}" users = [] offset = 0 begin us = app.users.search(university: 2, university_faculty: 23, university_year: year, count: 1000, fields: 'sex', offset: offset) users += us[1..-1] offset += 1000 end while us.length > 1 cmc_uids = Set.new users.map{|u| u['uid']} users.map! do |u| uid = u['uid'] page = open("https://api.vk.com/method/friends.get?user_id=#{uid}").read friends_ids = Set.new JSON.parse(page)['response'] u['friends'] = friends_ids.to_a cmc_friends = friends_ids.intersection cmc_uids u['cmc_friends'] = cmc_friends.to_a u end File.open('cmc_' + year.to_s + '.json', 'w') { |file| file.write(users.to_json.gsub(/,\{/, ",\n{")) } end
ããŒã¿ã¯JSON圢åŒã§ä¿åããã次ã®åœ¢åŒã«ãªããŸã
[{"uid":%UID%, "first_name":"%_%", "last_name":"%_%", "sex":%%, "friends":[%ID_%], "cmc_friends":[%ID_______%]},...]
ã°ã©ãåæããŒã«ïŒVKã³ã³ãã¹ãã®VMKã®æ®ãã®ã»ãšãã©ãã¹ãŠã®ã¿ã¹ã¯ïŒãããã«äœ¿çšããã«ã¯ãåéããããŒã¿ãå¥ã®åœ¢åŒã«å€æããå¿ èŠããããŸãã 以äžã®ã³ãŒãã䜿çšãããšãæå®ãããåãªãªãŒã¹å¹Žã®ãŠãŒã¶ãŒãã¬ã³ãã°ã©ãã®ãšããžã®ãªã¹ããååŸã§ããŸãã
csvã«å€æããã¹ã¯ãªãã
require 'json' require 'csv' (2012..2021).each do |year| users = JSON.parse File.read('cmc_' + year.to_s + '.json') names_hash = Hash[users.map{|u| [u['uid'], "#{u['last_name']} #{u['first_name']}"]}] sex_hash = Hash[users.map{|u| [u['uid'], u['sex']]}] res = users.map do |u| u['cmc_friends'].map do |id2| ["#{u['last_name']} #{u['first_name']}", u['sex'], u['uid'], id2] end end.flatten(1) CSV.open("#{year}.csv", 'w'){|csv| res.each{|u| csv << u}} end
åä¿¡ããCSVãã¡ã€ã«ã®åè¡ã¯æ¬¡ã®åœ¢åŒã«ãªããŸã
%_%,%%,%ID_%,%ID_%
ãã®åœ¢åŒã®ããŒã¿ã¯ãã»ãšãã©ã®ã°ã©ãåæããŒã«ã§ããŠã³ããŒãã§ããŸãã
ïŒååãšããŠããã®ããŒã¿ãäºåã«ååŸããã¹ã¿ã³ãã§å ±æããæºåãã§ããŠããŸããããã³ãã¯çºè¡šãããŸããããäžèŽããŠããŸããã§ãã-ãœãŒã·ã£ã«ãããã¯ãŒã¯ã«ãããçŸä»£ã®è¥è ã®é¢å¿ã¯æ¬¡ã®ãšããã§ãïŒ
ã¿ã¹ã¯2ã§ã¯ãããŒã¿ã®æå°éã®åæãè¡ãããŸããïŒæ§å¥æ§æãæ倧æ°ã®å人ãæã€ãŠãŒã¶ãŒããŠãŒã¶ãŒãæã€å¹³åå人æ°ã åçŽãªã¹ã¯ãªããã䜿çšããŠã¿ã¹ã¯ã解決ãããããšãæåŸ ãããŠããŸããã 圌ãã®å·çã«ã¯å€ãã®ã¢ãããŒãããããŸãããç§ãã¡ã¯ããã«çŠç¹ãåãããŸããã ã¿ã¹ã¯ã®å€ïŒããã³è¿œå ãã€ã³ãïŒã¯ç°ãªããŸãã ãã¯ããããããã®ããããšå·Šç¿Œã®äººæ ŒããããŸãããšèšãã¢ããªã¹ãã¯ã©ãã«ããŸããïŒãã®çµè«ã¯äžè¬ã«åçŽã§ãåéãããæ å ±ããŸãã¯ãå人ãã®ãªã¹ãã詳ããèŠãã ãã§ååã§ãã ã
ååã瀺ãããã«ã ã¿ã¹ã¯çªå·3- ãæç»ã¬ãã¹ã³ã-ã¯ãæåã®åé¡ã解決ããéã«éåŽã«ãã£ãŠç²åŸãããèŠèŠåã§æ§æãããŠããŸããã ããããã誰ããGephiã䜿çšããã§ããããåé¡ã¯ãªãã¯ãã§ãããšç§ãã¡ã¯èããŸããã ããããããã¯äžç·ã«æé·ããŸããã§ããã 競åä»ç€Ÿããã®VKã®ãœãŒã·ã£ã«ã°ã©ãVMKã®ç»åã ã¡ãªã¿ã«ãäŸãšããŠãåå è ã«ã¯ãi2 Analyst's Notebookã«æãããåŠéšã®çŸåšã®ã³ãŒã¹ã®ãœãŒã·ã£ã«ã°ã©ãã衚瀺ãããŸããïŒç¡æã®Gephiãšã¯ç°ãªããããã¯IBMã®åçšè£œåã§ãïŒã
äžè¬ã«ãå¿ èŠã«å¿ããŠããœãŒã·ã£ã«ã°ã©ããèŠèŠåããä»ã®ããŒã«ãèŠã€ããããšãã§ããŸãã
æåŸã«ããã®ç«¶äºã®æåŸã®ã¿ã¹ã¯4ã¯æããæ°åŠçãªããã®ã§ãããã°ã©ãã®æ倧é£çµæåã®çŽåŸãã°ã©ãå¯åºŠãé ç¹äžå¿æ§ã¡ããªãã¯ãåºæãã¯ãã«äžå¿æ§ããäžéæ§ãäžå¿æ§...ãã¹ãŠåãå©ãã«ãªãGephiããŸãã¯çµã¿èŸŒã¿ãœãŒã·ã£ã«ã°ã©ãåæããŒã«ã
æåã®ç«¶äºã®çµè«ã¯ããã§ããäºæ³ãããå人çãªé¢å¿ã«ããããããïŒãã¯ããç§ãã¡ã®ããšã§ãïŒãïŒããœãŒã·ã£ã«ãããã¯ãŒã¯ã®ãããã¯ã«å¯Ÿããäžè¬çãªé¢å¿ãã¿ã¹ã¯ã¯ãè¡ããŸããã§ãããã ã°ãŒã°ã«ã§æéãéããã®ã«ååã§ã¯ãªãã£ãããã¿ã¹ã¯ãã¢ã«ãããã¯ã«æããã ãŸãã¯ãä»ã®ã³ã³ãã¹ããèå³ã劚ãããããããŸãã-æªå ãããªã¹ããæãŸããŠããã©ãã·ã¥ãã©ã€ãã§ããºã«ã解ãããã«ãã§ã«æäŸãããŸããïŒ
2çªç®ã®ç«¶äºã ã¢ã¬ãã¯ã¹ã»ãŠãŒã¹ã¿ã¹
å²ãåœãŠãã次ã®ããã«ãç¬ã¯ç¡ç·ãããã¯ãŒã¯ã«åãããŠããŸãã ãã®ãããã¯ãŒã¯ã¯ãæè·å¡ã®ãããŒã§ãã£ãªã¢ããŒã®æéã«å±éããŸããã 圌ãã¯ãããã¯ãŒã¯ãä»ããŠïŒHTTPçµç±ã§ïŒã©ãããããããGIF圢åŒã®å¥ã®å³é¢ã«ç§»åããŸããã åçã¯ãã¢ã¹ã¯ã¯ãšãµã³ã¯ãããã«ãã«ã¯ã®ãé¢å¿ã®ããç©äœãã®åº§æšãé ããQRã³ãŒãã§ããïŒäŸãã°ããã·ã¢é£éŠæ¿åºã®å®¶ãã·ã§ã¬ã¡ãŒããšãŽã©ç©ºæž¯ãå€åçãã«ãžãããVVCãå·¡æŽèŠãªãŒãã©ãªã©ãã¢ã¹ã¯ã¯åç©åã§çµãããŸãïŒã å°ããªã¹ã¯ãªãããã30ç§ã«1åã®é »åºŠã§äžé£ã®20åã®å³é¢ã®éä¿¡ãç¹°ãè¿ã圹å²ãæãããŸããã
ãããªãã¯ã«ããã«ãŒãããã©ã³ã®é圹è»äººã¯ããŸããšããµã€ãã£ã³ã°ã§ã¯ãªããããããŸããããããã¹ãŠã®æåãæšæž¬ããããåèªã«ååãä»ããããšãã§ããªãã£ãã人ã«ãšã£ãŠã¯çãã³ã¡ã³ãã§ãã
ã©ãããããã®WiFiã¢ããã¿ãŒããªã³ã«ããŠããããŒããã£ã¹ããèããããšãè©Šã¿ããšããã®ã¿ã¹ã¯ã«åå ããåå è ã¯ãvulkanãšåŒã°ããä¿è·ãããŠããªãWiFiãããã¯ãŒã¯ãç°¡åã«çºèŠããŸããã WiFiãããã¯ãŒã¯ã®ãªãŒãã³ãã©ãã£ãã¯ãååããããã«ã競æè ã¯Wireshark ã tcpdumpãããã³tedeãªã©ã®ããŒã«ã䜿çšãããšæ³å®ãããŠããŸããã ãã®ãœãããŠã§ã¢ã®äœ¿çšæ¹æ³ã«ã€ããŠè©±ãããšã¯ãããããããã§ã¯å®å šã«é©åã§ã¯ãããŸããã ãããšãããèŠãã®ã¯ç°¡åã§ã ã
ãã©ãã£ãã¯ãååããåŸã次ã®ã¿ã€ãã®ãã¿ãŒã³ãæ€åºã§ããŸããã
次ã®è«çã¹ãããã¯ãåä¿¡ããQRã³ãŒããèªèãããªããžã§ã¯ãã®å°ç座æšïŒç·¯åºŠãšçµåºŠïŒã«é¢ããæ å ±ãååŸããããšã§ãã æçµæ®µéã§-æ€çŽ¢ãšã³ãžã³ãŸãã¯ãžãªãµãŒãã¹ã«åº§æšãå ¥åããå°å³äžã®ãã€ã³ããååŸããŠ...
ã¢ã¬ãã¯ã¹ã¯ãŠãŒã¹ã¿ã¹ãæåŸ ããŠç¡é§ã§ã¯ãªãã£ãã åè³è ã®çãããããã§ãšãããããŸãïŒ ãšããã§ãåç©åãæã£ã人ã¯ããªãããã§ãã
第äžã®ç«¶äºã ããã©ãã·ã¥ãã©ã€ãã®é衚瀺ãšã·ãŒã¯ã
ãã®ã³ã³ãã¹ãã¯ããããæã人æ°ããããŸããã ãããããã¿ã¹ã¯ã®ãªãŒãã¬ããã«å ããŠã競æè ã«ãã©ãã·ã¥ãã©ã€ããæ瀺ãããããã§ãã ã¯ããã¿ã¹ã¯ã¯1ã€ã®æã«åãŸããŸãïŒãã©ãã·ã¥ãã©ã€ãã®è žå ã§ã¯ããã¡ã€ã«ã¯ãæ éã«ãé ãããŠããŸãïŒç»åãããã¹ããã¢ãŒã«ã€ã-ããããèŠã€ããŠãã ããïŒ ããããèŠããã®åçŽãã®èåŸã«ãæ¬åœã®è³ã®ççºããããŸããã ãªãã§ïŒ
ã³ã³ãã¹ããæºåãããšããæ å ±ãé衚瀺ã«ããæ¹æ³ãèŠã€ããªããã°ãªããŸããã§ããã ããŸããŸãªã¢ã€ãã¢ãè¡šæãããŸãããã¡ãã£ã¢ã«ã倱ããããã»ã¯ã·ã§ã³ãäœæããããã«æ å ±ãä¿åããåçããã¹ãã¬ãã³ã³ãããäœæããŸããå¿ èŠãªæ¡ä»¶ã¯ãããªãŒãã³ãæ å ±ïŒåºåãã¯ãïŒãšãé衚瀺ãã®çµã¿åããã§ããã æ å ±ãã»ã¯ã·ã§ã³ã®å€ã«æžãããŠãããšããç§ãã¡ã¯ã¢ã€ãã¢ã«èœã¡çããŸããã æ å ±ã®æ€çŽ¢ãç°¡çŽ åããã«ã¯ãæåã«ã¡ãã£ã¢ããŒãã§åæåããå¿ èŠããããŸãã æ å ±ã®äžéšãã»ã¯ã·ã§ã³ã®åã«ãåŸã®éšåãæžãçããããšã«ããŸããã ãªã«ããªã¢ãããŒãã«é¢ããŠãèªåãªã«ããªïŒããŒã¿ãªã«ããªãŠãŒãã£ãªãã£ã䜿çšïŒãæåãªã«ããªïŒãã£ã¹ã¯çšã®16é²ãšãã£ã¿ïŒããã¶ãŒãçšã®ã·ã³ãã«ãªã¹ãã¬ãã°ã©ãã£ã®3ã€ã®é£æ床ã¬ãã«ãç¹å®ããŸããã
jpegãã¡ã€ã«ã¯ã第1ã¬ãã«ã®è€éãã®ãªããžã§ã¯ãã«ãªããŸããã ããã¯ãããŒãã£ã·ã§ã³ã®æåŸããé£ç¶ãããããã¯ãšããŠ1024ã»ã¯ã¿ãŒã«ã眮ããããŸããã æåŸã«ããŒãã®èæ¯ã«å¯ŸããŠã圌ã¯ç®ç«ã£ãŠããã¯ãã§ãã
æåãªã«ããªã®å¯Ÿè±¡ã¯ããã¹ãã§ããïŒbash.imã«ããã€ãã®çç ãåããŸããïŒã ããã«ãããã¹ãã¯æçåãããŠããŸãã åãã©ã°ã¡ã³ãã®æåŸã«ã次ã®ãã©ã°ã¡ã³ããé 眮ãããŠããã»ã¯ã¿ãŒã®çªå·ãèšé²ããŸããã ã¿ã¹ã¯ãåçŽãããªãããã«ãã¡ã€ã³ããã¹ãã«ã¯Unicodeã䜿çšããã次ã®ã»ã¯ã¿ãŒãžã®ãã€ã³ã¿ãŒã¯ASCIIã®10é²æ°ãšããŠè¡šç€ºãããŸããã ã»ã¯ã¿ãŒçªå·1024ã¯ããã§ãŒã³ã®éå§ã»ã¯ã¿ãŒãšããŠæ¡çšãããŸããã ããã§ãã»ã¯ã¿ãŒçªå·2048ã§å§ãŸã£ãã»ã¯ã·ã§ã³ãšèšã£ãŠããå¿ èŠããããŸãã ãã©ã°ã¡ã³ãã次ã®ãã§ãŒã³ã«é 眮ããŸããïŒ1024 => 964 => 475 => 235 => 1800 => 1720 => 823 => 615 => 1100 => 1920 => 345 => 1418 => 1634 => 1980 => 1320ããã¹ããVulkan-taskããæåã®ãã©ã°ã¡ã³ãã«è¡šç€ºãããæåŸã«ãã ããã¿ã¹ã¯ã®çµããã«å°éããŸãã...ããšããæ å ±
第3ã¬ãã«ã®è€éãã®ãªããžã§ã¯ãã¯ãjpegãã¡ã€ã«ã®æåŸã«è¿œå ãããrarã¢ãŒã«ã€ãã§ãã ãåãã®ããã«ãrarã¢ãŒã«ã€ãã¯ãã¡ã€ã«å šäœã§æåã®çœ²åãæ€çŽ¢ããŸããããã«ãããããšãã°jpegãªã©ã®ä»»æã®ãã¡ã€ã«ã®æåŸã«rarã¢ãŒã«ã€ããä¿åã§ããŸãã jpegãèªåçã«åŸ©å ããããšããã¡ã€ã«ãµã€ãºã¯ããããŒã«ãã£ãŠæ±ºå®ãããæ®ãã¯åãæšãŠãããŸãããŸããæ¢ç©¶å¿ã®ãã人ã ããã¢ãŒã«ã€ãã®ååšãå€æã§ããŸãã ãã¹ãŠã®ITã¹ãã·ã£ãªã¹ãããå°æ¬ãããŠããA. S.ããã®åŒçšãšãšãã«ãããã¥ã¡ã³ããVulkan.docxããã¢ãŒã«ã€ãã«å ¥ããŸããã ããŒã·ãã³ã æåŸã«ããVulkanããšããèšèã§ã¢ãŒã«ã€ãããã¹ã¯ãŒãã§ä¿è·ããããšã«ããŸããïŒãVolcanoã¯ãã¹ãŠã®éµããšãããã¬ãŒãºã¯ãã¢ãŒã«ã€ããžã®ãã¹ã¯ãŒãã®ãã³ããšããŠäœ¿çšãããæåã®ãã©ã°ã¡ã³ãã¯ã¿ã¹ã¯ãªãŒãã¬ããã«çœ®ãããŸããïŒã
ç§ãã¡ã¯ã競æè ãæåã«åçã埩å ãã次ã«ããã¹ãã埩å ãã次ã«ã¢ãŒã«ã€ãããç®ãšéŒ»ã®å ã«ãªããšæ³å®ããŸããã ããããéãããæéã®æ¡ä»¶ã§ã¯ãäœãããããŸããããªããå¯èœæ§ãããããšã«æ°ä»ããŸãã-圌ãã¯ããã€ãã®ãã³ããçšæããŸããã
ãã³ã
æåã®ãã³ãã¯ãèªåãŠãŒãã£ãªãã£ïŒå¯Ÿå¿ããããã°ã©ã ïŒã«ããå埩ã®å¯èœæ§ã瀺ããŠããŸãã 圌ããèšãããã«ããããåãåã£ãŠäœ¿çšããŠãã ããïŒ
2çªç®ã®ãã³ãã¯ããã£ã¹ã¯16é²ãšãã£ã¿ãŒã䜿çšããã¡ãã£ã¢åæã®å¿ èŠæ§ã瀺ããŸããïŒäžéšã¯äŸãšããŠãªã¹ããããŠããŸãïŒã
3çªç®ã®ãã³ãã¯ããã£ã¹ã¯ã®å é ã«MBRãããã空ãã»ã¯ã¿ãŒãšå æã»ã¯ã¿ãŒã瀺ããŠããããšã§ãã ããŒã¿ããçªç¶ãåºçŸãã1ãã2047ã»ã¯ã¿ãŒã®ééã«åå è ã泚æãæãããšãæåŸ ããŸããã
4çªç®ã®æãããã¯ãããã¹ãããã¥ã¡ã³ããä»»æã®ãšã³ã³ãŒãã£ã³ã°ã®æåã®ã·ãŒã±ã³ã¹ã§ããå¯èœæ§ãããããšã瀺ããŠããŸãã
5çªç®ã®æãããã¯ãæåã¯UNICODEãšASCIIã®äž¡æ¹ã§è¡šçŸã§ãããšèšããŸããã HEXãšãã£ã¿ãŒã§ãšã³ã³ãŒãã®è¡šç€ºã¿ã€ããåãæ¿ãããšãæåŸã«ããã¹ããšæ°åã衚瀺ãããŸãã 泚ç®ãéããããã«ãèšå·ã=ãã䜿çšãããŸããã
6çªç®ã®æãããã¯ãã©ã®ãã¡ã€ã«ã·ã¹ãã ã§ããã»ã¯ã¿ãŒãèªã¿åãããã·ãŒã±ã³ã¹ãæå®ãããŠããããšã瀺ããŠããã5çªç®ã®æããããšæåã®ãã©ã°ã¡ã³ããæ€çŽ¢ããå¿ èŠãããããšãæãåºããŸããã
16é²ãšãã£ã¿ãŒã®éããŠããã»ã¯ã·ã§ã³ïŒãã³ãçªå·2ïŒã衚瀺ãããšãåå è ã«éããŠããã»ã¯ã·ã§ã³ã«è¿œå æ å ±ããªãããšã瀺ããããã·ã¥ããŠã»ã¯ã·ã§ã³ã®å€åŽïŒãã³ãçªå·3ïŒãæ€çŽ¢ããŸãã ã»ã¯ã¿ãŒ2048ããã®ã»ã¯ã·ã§ã³ã®å§ãŸãã¯ãã»ã¯ã¿ãŒ1ãã2047ãŸã§ã®ã»ã¯ã¿ãŒã«æ³šæãæãããšã§ããã ãã¡ããã誰ãã誀ã£ãŠããŒã¿ãããã¯ã«ã€ãŸããå¯èœæ§ããããŸããããã®ãããªäºæ ã¯äºæããŠããŸããã§ããã åªäœã¯ãæããã«ç¡å¹åããããŠããããããã®é åããŒãé åãšæ¯èŒããå¿ èŠããããŸããã ãã®åŸãåå è ã¯ããã«ããŒã¿ã»ã¯ã¿ãŒãèŠãããšãã§ããŸãã ããŒã¿ã®è§£éãç°¡çŽ åããããã«ãããã³ãã4ãš5ãäœæããããã³ã6ãUNICODEããŒãã®æåŸã§ASCIIã«åãæ¿ãããŸããã
7çªç®ã®ããã³ããã¯ãããŸããŸãªãã¡ã€ã«ã¿ã€ããšãã®çœ²åã瀺ããŠããŸããã ãã®äžã§ãrarã¢ãŒã«ã€ãã®çœ²åã瀺ãããŸããã
8çªç®ã®ãã³ãã¯ãããã¹ããã¡ã€ã«ãšjpegãã¡ã€ã«ã®éå§ã»ã¯ã¿ãŒãæããŠããŸãã
9çªç®ã®ãã³ãã¯ãã¿ã¹ã¯ãªãŒãã¬ããã®ããã³ããã®ç¹°ãè¿ãã§ãããVulkanã¯ãã¹ãŠã®ãéµãã§ãïŒã
2çªç®ã®ãã³ãã¯ããã£ã¹ã¯16é²ãšãã£ã¿ãŒã䜿çšããã¡ãã£ã¢åæã®å¿ èŠæ§ã瀺ããŸããïŒäžéšã¯äŸãšããŠãªã¹ããããŠããŸãïŒã
3çªç®ã®ãã³ãã¯ããã£ã¹ã¯ã®å é ã«MBRãããã空ãã»ã¯ã¿ãŒãšå æã»ã¯ã¿ãŒã瀺ããŠããããšã§ãã ããŒã¿ããçªç¶ãåºçŸãã1ãã2047ã»ã¯ã¿ãŒã®ééã«åå è ã泚æãæãããšãæåŸ ããŸããã
4çªç®ã®æãããã¯ãããã¹ãããã¥ã¡ã³ããä»»æã®ãšã³ã³ãŒãã£ã³ã°ã®æåã®ã·ãŒã±ã³ã¹ã§ããå¯èœæ§ãããããšã瀺ããŠããŸãã
5çªç®ã®æãããã¯ãæåã¯UNICODEãšASCIIã®äž¡æ¹ã§è¡šçŸã§ãããšèšããŸããã HEXãšãã£ã¿ãŒã§ãšã³ã³ãŒãã®è¡šç€ºã¿ã€ããåãæ¿ãããšãæåŸã«ããã¹ããšæ°åã衚瀺ãããŸãã 泚ç®ãéããããã«ãèšå·ã=ãã䜿çšãããŸããã
6çªç®ã®æãããã¯ãã©ã®ãã¡ã€ã«ã·ã¹ãã ã§ããã»ã¯ã¿ãŒãèªã¿åãããã·ãŒã±ã³ã¹ãæå®ãããŠããããšã瀺ããŠããã5çªç®ã®æããããšæåã®ãã©ã°ã¡ã³ããæ€çŽ¢ããå¿ èŠãããããšãæãåºããŸããã
16é²ãšãã£ã¿ãŒã®éããŠããã»ã¯ã·ã§ã³ïŒãã³ãçªå·2ïŒã衚瀺ãããšãåå è ã«éããŠããã»ã¯ã·ã§ã³ã«è¿œå æ å ±ããªãããšã瀺ããããã·ã¥ããŠã»ã¯ã·ã§ã³ã®å€åŽïŒãã³ãçªå·3ïŒãæ€çŽ¢ããŸãã ã»ã¯ã¿ãŒ2048ããã®ã»ã¯ã·ã§ã³ã®å§ãŸãã¯ãã»ã¯ã¿ãŒ1ãã2047ãŸã§ã®ã»ã¯ã¿ãŒã«æ³šæãæãããšã§ããã ãã¡ããã誰ãã誀ã£ãŠããŒã¿ãããã¯ã«ã€ãŸããå¯èœæ§ããããŸããããã®ãããªäºæ ã¯äºæããŠããŸããã§ããã åªäœã¯ãæããã«ç¡å¹åããããŠããããããã®é åããŒãé åãšæ¯èŒããå¿ èŠããããŸããã ãã®åŸãåå è ã¯ããã«ããŒã¿ã»ã¯ã¿ãŒãèŠãããšãã§ããŸãã ããŒã¿ã®è§£éãç°¡çŽ åããããã«ãããã³ãã4ãš5ãäœæããããã³ã6ãUNICODEããŒãã®æåŸã§ASCIIã«åãæ¿ãããŸããã
7çªç®ã®ããã³ããã¯ãããŸããŸãªãã¡ã€ã«ã¿ã€ããšãã®çœ²åã瀺ããŠããŸããã ãã®äžã§ãrarã¢ãŒã«ã€ãã®çœ²åã瀺ãããŸããã
8çªç®ã®ãã³ãã¯ãããã¹ããã¡ã€ã«ãšjpegãã¡ã€ã«ã®éå§ã»ã¯ã¿ãŒãæããŠããŸãã
9çªç®ã®ãã³ãã¯ãã¿ã¹ã¯ãªãŒãã¬ããã®ããã³ããã®ç¹°ãè¿ãã§ãããVulkanã¯ãã¹ãŠã®ãéµãã§ãïŒã
rarã¢ãŒã«ã€ãã®çœ²åãæ€çŽ¢ãããšãåå è ã¯jpegãã¡ã€ã«ã®æåŸã«å°éããã¯ãã§ãã ã¢ãŒã«ã€ãã®æåŸã¯ãæåŸã«èšé²ããããŒãã®ã·ãŒã±ã³ã¹ã«ãã£ãŠå€æã§ããŸãã ã¢ãŒã«ã€ããéžæãããšãåå è ã¯æ£ãããã¹ã¯ãŒããæå®ããå¿ èŠã«çŽé¢ããå¿ èŠããããŸããïŒ9çªç®ã®ãã³ãïŒã
äžè¬çã«ãã¯ããäž»å¬è ã¯æããã«è³¢ãã§ãïŒ
æ°å人ãã³ã³ãã¹ãã«åå ããããšã決ããŸããã ããã«èªåã§æ å ±ãèŠã€ããããšãããšãåŠçã¯2人ãŸãã¯3人ã®ããŒã ãç·šæãå§ããŸããã 誰ããè¬çŸ©ã®èª²é¡ã«åå ããã¯ã©ã¹ã®ã©ãããããã§ãéã¶ãããšã¯çŠæ¢ãããŠãããšäžæºãèšããŸããã æéã®äžè¶³ãé¡ãåºããŠããŸãã...
çµæã¯äœã§ããïŒ æåã®é£æ床ã¬ãã«ã®ãªããžã§ã¯ãã¯ã2人ã®åå è ãš3人ã®åµé çãªãã¥ãšããã«ãã£ãŠçºèŠãããŸããã 第2ã¬ãã«ã®ãªããžã§ã¯ãã¯èª°ã«ãäžããããŸããã§ããã ãããŠæåŸã«ãããããŒã ã¯åèšãã10ååã«3çªç®ã®ãªããžã§ã¯ããèŠã€ããããšããŠããŸãããããã¡ã€ã«ã®çµãããå€æããã®ã«åé¡ããããŸããã
ããã«ãããããããè³ã¯ããã®ã³ã³ãã¹ããšä»ã®2ã€ã®ã³ã³ãã¹ãã®äž¡æ¹ã§ã圌ãã®ããŒããŒïŒæé«ã®çµæãéæããåå è ïŒãèŠã€ããŸããã
ããã¯ãã¹ãŠãæ©æ¢°éæ¬è¹ãšã®äœã¬ãã«äœæ¥ã«é¢ãã
ãããã«
ãã®ã€ãã³ãã¯æåãããšä¿¡ããŠããŸãã é°å²æ°ã¯èª å®ã§ãèå³ã¯æ¬ç©ã§ãã çµæã¯åŸã§æããã«ãªããŸãããé©åãªæºåãã§ããŠããã°ããã®ãããªäŒè°ã¯éåžžã«çç£çã§ãããšèšããŸãã æ°å ¥çããåæ¥çãŸã§ããã£ãªã¢ããŒã¯æåéããã¹ãŠã®äººã«ãšã£ãŠé åçã§ãã æšå¹Žã®åæ¥çãšè©±ãããæ©äŒãããããŸãããåæ¥çã¯ãæ¯åœã®æå¡ã®ãã£ãªã¢ããŒã§èªåèªèº«ã®ããã«æ°ããäœããæ¢ãããšã«ããŸããã
æ£çŽãªãšãããç§ãã¡ã¯ãã®ã€ãã³ãã«ITéã®äžéšãæè³ããããšããŸããã çãæºè¶³ããèµ·ãã£ãããšããããªãã®å©çãåŸãããšãé¡ã£ãŠããŸãã